#!/usr/bin/env bash [[ -f set_env.sh ]] && source set_env.sh || { echo "set_env.sh not found"; exit 1; } # Mounting storage if df | grep -c opendrive > /dev/null; then umount "${HOME_DIR}/opendrive" || sudo umount "${HOME_DIR}/opendrive" fi if [[ -d "${HOME_DIR}/opendrive" ]]; then rm -rf "${HOME_DIR}/opendrive" mkdir "${HOME_DIR}/opendrive" else mkdir "${HOME_DIR}/opendrive" fi rclone mount --daemon opendrive:Public/blocklist/ "${HOME_DIR}/opendrive" --volname opendrive cd "${WRK_DIR}/" echo $(date +%d.%m.%y-%H:%M:%S) >| lastpull # Fetch blocklists bash "${WRK_DIR}/get_blocklists.sh" if [ $? -ne 0 ]; then echo "Failed to get blocklists. Execution terminated!" exit 1 fi # Block FB source "${WRK_DIR}/block_FB.sh" || { echo "Failed to get Facebook blocklist. Execution terminated!"; exit 1; } # Combining blocklists echo "Consolidating blocklists..." ${catCMD} Mirrors/* | sort -u | uniq >| MyBlocklist.txt wc -l MyBlocklist.txt echo -e "\nAdding these to my own Blacklist: \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 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/" 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 chmod 777 ./* exit #--------- # Moving to target echo "Moving blocklists to destination..." 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!"