mirror of
https://gitlab.com/robocopAlpha/pihole_lists.git
synced 2026-05-19 11:09:07 -07:00
adapting to work with both mac and linux
This commit is contained in:
parent
2baf1d1de7
commit
daa48b1ced
4 changed files with 102 additions and 64 deletions
|
|
@ -1,58 +1,44 @@
|
|||
#!/usr/bin/env bash
|
||||
[[ -f set_env.sh ]] && source set_env.sh || { echo "set_env.sh not found"; exit 1; }
|
||||
|
||||
WRK_DIR=/home/dietpi/pihole_lists
|
||||
cd ${WRK_DIR}/
|
||||
|
||||
rm -rf /home/dietpi/onedrive
|
||||
mkdir /home/dietpi/onedrive
|
||||
|
||||
rclone mount --daemon onedrive:Public/blocklist/ /home/dietpi/onedrive
|
||||
cd "${WRK_DIR}/"
|
||||
|
||||
# Fetch blocklists
|
||||
bash ${WRK_DIR}/get_blocklists.sh
|
||||
bash "${WRK_DIR}/get_blocklists.sh"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to get blocklists. Execution terminated!"
|
||||
exit
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Block FB
|
||||
source ${WRK_DIR}/block_FB.sh
|
||||
source "${WRK_DIR}/block_FB.sh" || { echo "Failed to get Facebook blocklist. Execution terminated!"; exit 1; }
|
||||
|
||||
#--- Pick fastest cat command (based on my experience)
|
||||
if command -v gcat > /dev/null 2>&1; then
|
||||
catCMD='gcat' # GNU cat /usr/local/bin/gcat
|
||||
# (To get run: brewlog insall coreutils)
|
||||
elif alias mcat > /dev/null 2>&1; then
|
||||
catCMD='mcat' # mcat is aliased to /bin/cat that ships with macOS
|
||||
else
|
||||
catCMD=$(command -v cat) # If none of the above are found then vanilla cat
|
||||
fi
|
||||
#-----------
|
||||
|
||||
# Combining blocklists
|
||||
${catCMD} ${WRK_DIR}/Mirrors/* | sort -u | uniq >| ${WRK_DIR}/MyBlocklist.txt
|
||||
wc -l ${WRK_DIR}/MyBlocklist.txt
|
||||
echo "Consolidating blocklists..."
|
||||
${catCMD} Mirrors/* | sort -u | uniq >| MyBlocklist.txt
|
||||
wc -l MyBlocklist.txt
|
||||
|
||||
echo -e "\nAdding these to my own Blacklist: \n"
|
||||
${catCMD} ${WRK_DIR}/blocked | rg -vIN "^[\\#]" | sd '\s+$' '' | sort -u | uniq >> ${WRK_DIR}/MyBlocklist.txt
|
||||
echo -e " $(wc -l ${WRK_DIR}/MyBlocklist.txt) unique domains. \n"
|
||||
${catCMD} blocked | rg -vIN "^[\\#]" | sd '\s+$' '' | sort -u | uniq >> MyBlocklist.txt
|
||||
echo -e " $(wc -l MyBlocklist.txt) unique domains. \n"
|
||||
|
||||
#-------
|
||||
# Clean-up
|
||||
echo "Cleaning up..."
|
||||
rm -rf ${WRK_DIR}/Mirrors
|
||||
rm -f ${WRK_DIR}/blocklists/MyBlocklist.txt.xz ${WRK_DIR}/blocklists/facebook_block.txt.xz
|
||||
mkdir ${WRK_DIR}/blocklists
|
||||
mv ${WRK_DIR}/MyBlocklist.txt ${WRK_DIR}/blocklists/.
|
||||
mv ${WRK_DIR}/facebook_block.txt ${WRK_DIR}/blocklists/.
|
||||
rm -rf Mirrors
|
||||
rm -f blocklists/MyBlocklist.txt.xz blocklists/facebook_block.txt.xz
|
||||
mkdir blocklists
|
||||
mv MyBlocklist.txt blocklists/.
|
||||
mv facebook_block.txt blocklists/.
|
||||
|
||||
#--------
|
||||
# Archiving
|
||||
echo "Compressing blocklists..."
|
||||
cd ${WRK_DIR}/blocklists/
|
||||
cd "${WRK_DIR}/blocklists/"
|
||||
echo $(date +%d.%m.%y-%H:%M:%S) >| lastpull
|
||||
md5sum ${WRK_DIR}/blocklists/MyBlocklist.txt | cut -c -32 >| MyBlocklist.checksum
|
||||
md5sum ${WRK_DIR}/blocklists/facebook_block.txt | cut -c -32 >| facebook_block.checksum
|
||||
getMD5 "MyBlocklist.txt" >| MyBlocklist.checksum
|
||||
getMD5 "facebook_block.txt" >| facebook_block.checksum
|
||||
sleep 1
|
||||
xz -v -T4 MyBlocklist.txt
|
||||
xz -v -T4 facebook_block.txt
|
||||
|
|
@ -61,8 +47,12 @@ xz -v -T4 facebook_block.txt
|
|||
#---------
|
||||
# Moving to target
|
||||
echo "Moving blocklists to destination..."
|
||||
cd ..
|
||||
mv -f ${WRK_DIR}/blocklists/* /home/dietpi/onedrive/.
|
||||
rmdir ${WRK_DIR}/blocklists
|
||||
sudo umount /home/dietpi/onedrive
|
||||
cd "${WRK_DIR}/"
|
||||
rsync -a --progress blocklists/* "${HOME_DIR}/opendrive/"
|
||||
|
||||
echo "Final clean up..."
|
||||
umount "${HOME_DIR}/opendrive" || sudo umount "${HOME_DIR}/opendrive"
|
||||
rm -rf "${HOME_DIR}/opendrive"
|
||||
rm -rf "blocklists"
|
||||
|
||||
echo "Done!"
|
||||
Loading…
Add table
Add a link
Reference in a new issue