Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- functions.div
- +++ functions.div.new
- @@ -10,6 +10,7 @@
- # https://diversion.ch
- # Script Version 4.0
- +# Custom modifications by bengalih - version 1.0.2 9/1/18
- write_bf(){
- @@ -2126,9 +2127,12 @@
- printf " no need to add it to the whitelist\\n\\n"
- if grep -q $listadd "${DIVERSION_DIR}/list/blockinglist"; then
- printf " found near match(es) in blocking file:\\n\\n"
- - grep $listadd "${DIVERSION_DIR}/list/blockinglist" | sed -e "s/^$blockingIP//"
- + matchlist=`grep $listadd "${DIVERSION_DIR}/list/blockinglist" | sed -e "s/^$blockingIP//"`
- + printf "${GREEN}$matchlist${NC}\\n"
- + nearmatches=1
- else
- echo " no near matches found either"
- + nearmatches=0
- fi
- forceadd=1
- fi
- @@ -2146,13 +2150,34 @@
- grep " $listadd$" "${DIVERSION_DIR}/list/blockinglist" | sed -e "s/^$blockingIP//"
- echo "${NC}"
- printf " Add it to whitelist? [1=Yes 2=No] ";read -r continue
- - else
- + elif [ "$forceadd" = "1" ]; then
- + continue=2
- + if [ "$nearmatches" = "1" ]; then
- + print_red_line
- + printf "\\n Add near match(es) to whitelist? [1=Yes 2=No] ";read -r continueN
- +
- + case "$continueN" in
- + [1]) process_near=1 && continue=1;;
- + [2]) ;;
- + *) forceadd=0 && continue=3;;
- + esac
- + fi
- + fi
- +
- + if [ "$forceadd" = "1" ]; then
- print_red_line
- printf "${GREEN} $listadd${NC}\\n was not found in the blocking file or blacklist\\n"
- printf " If you add it anyway, it may have no effect unless\\n you select a larger blocking file.\\n"
- printf "\\n The domain will be marked #(forced-entry) and is\\n not re-added to the blocking file if you remove it.\\n"
- - printf "\\n Add it to whitelist anyway? [1=Yes 2=No] ";read -r continue
- + printf "\\n Add it to whitelist anyway? [1=Yes 2=No] ";read -r continueF
- +
- + case "$continueF" in
- + [1]) process_force=1 && continue=1;;
- + [2]) ;;
- + *) continue=3;;
- + esac
- fi
- +
- case "$continue" in
- 1) printf "\\n Do you want to add a comment? [1=Yes 2=No] ";read -r continueC
- case "$continueC" in
- @@ -2163,19 +2188,29 @@
- printf "\\n${RED_BG} Enter comment ${NC} [e=Exit] ";read -r listcomment
- case "$listcomment" in
- e) edit_list edit $2;break;;
- - *) printf "\\n${GREEN} $listadd${NC} #$listcomment \\n added to $2\\n\\n"
- - comment=#$listcomment
- - [ "$forceadd" = "1" ] && echo $listadd $comment $forced >>"${DIVERSION_DIR}/list/$2"
- - [ "$forceadd" = "0" ] && echo $listadd $comment >>"${DIVERSION_DIR}/list/$2"
- - ;;
- + *) comment=" #$listcomment";;
- esac
- ;;
- -
- - 2) printf "\\n${GREEN} $listadd${NC}\\n added to $2\\n\\n"
- - [ "$forceadd" = "1" ] && echo $listadd $forced >>"${DIVERSION_DIR}/list/$2"
- - [ "$forceadd" = "0" ] && echo $listadd >>"${DIVERSION_DIR}/list/$2"
- - ;;
- + 2) comment="";;
- esac
- +
- + if [ "$forceadd" = "0" ]; then
- + printf "\\n${GREEN} $listadd${NC} #$comment \\n added to $2\\n\\n"
- + echo $listadd $comment >>"${DIVERSION_DIR}/list/$2"
- + fi
- +
- + if [ "$forceadd" = "1" ] && [ "$process_force" = "1" ]; then
- + printf "\\n${GREEN} $listadd${NC} #$comment \\n added to $2\\n\\n"
- + echo $listadd $comment $forced >>"${DIVERSION_DIR}/list/$2"
- + fi
- +
- + if [ "$forceadd" = "1" ] && [ "$process_near" = "1" ]; then
- + grep $listadd "${DIVERSION_DIR}/list/blockinglist" | sed -e "s/^$blockingIP //" -e "s/$/&${comment}/" >>"${DIVERSION_DIR}/list/$2"
- + printf "\\n"
- + grep $listadd "${DIVERSION_DIR}/list/blockinglist" | awk -v comment="$comment" '{printf "\e[92m "$2"\e[0m"'comment'"\n"}'
- + printf " added to $2\\n\\n"
- + fi
- +
- if [ "$removeadd" = "1" ]; then
- sed -i "/ $listadd\b/d" "${DIVERSION_DIR}/list/blacklist"
- sed -i "/^$listadd\b/d" "${DIVERSION_DIR}/list/wc_blacklist"
- @@ -2197,37 +2232,62 @@
- print_red_line
- [ "$2" = "whitelist" ] && printf "\\n deleted domains are re-added to blocking file\\n unless marked as inactive or #(forced-entry).\\n"
- while true;do
- - printf "\\n${RED_BG} Line number to delete ${NC} [e=Exit] ";read -r deleteline
- + printf "\\n${RED_BG} Line number(s) to delete (#, #-#)${NC} [e=Exit] ";read -r deleteline
- case "$deleteline" in
- - [Ee]) edit_list edit $2;break;;
- - ''|*[!0-9]*) printf "\\n input is not a number.\\n";;
- - [1-9]|[1-9][0-9]*) # add entry back to blocking file, 1 - 999
- - if [ "$deleteline" -gt "$lineNumbers" ]; then
- - printf "\\n input is outside number range.\\n"
- - else
- - readd=$(sed -n "${deleteline}p" ${DIVERSION_DIR}/list/$2)
- - readd=$(echo $readd | sed "s/#!//g; s/$blockingIP//g" | awk '{print $1}')
- - loggerAdd=
- - if [ "$2" = "whitelist" ]; then
- - if echo "$(sed -n "${deleteline}p" ${DIVERSION_DIR}/list/$2)" | grep -q '#!\|(forced-entry)'; then
- - loggerAdd=", inactive or (forced-entry) found, not re-added to blocking file"
- - else
- - echo $blockingIP $readd >>"${DIVERSION_DIR}/list/blockinglist"
- - if [ "$(nvram get ipv6_service)" != "disabled" ]; then
- - echo :: $readd >>"${DIVERSION_DIR}/list/blockinglist"
- - fi
- - loggerAdd=" and appended it to blocking file"
- - fi
- - fi
- - sed -i "${deleteline}d" "${DIVERSION_DIR}/list/$2"
- - export edited_${2}=1
- - logger -t Diversion "deleted '$readd' from $2$loggerAdd (user action), from $0"
- - edit_list edit $2
- - break
- - fi;;
- - *) printf "\\n line number is a comment line.\\n";;
- + [Ee]) edit_list edit $2;break;;
- + *)
- + echo "$deleteline" | egrep -q '^[[:digit:]-]*$'
- +
- + if [ $? -ne 0 ]; then
- + printf "\\n input is not a number.\\n"
- + else
- + delete_range_start=`echo $deleteline|awk -F "-" '{print $1}'`
- + delete_range_end=`echo $deleteline|awk -F "-" '{print $2}'`
- + [ "$delete_range_end" = "" ] && delete_range_end=$delete_range_start
- +
- + if [ $delete_range_end -lt $delete_range_start ]; then
- + printf "\\n upper range must be higher than lower range.\\n"
- + else
- + if [ "$delete_range_end" = "" ]; then
- + delete_range_end=$delete_range_start
- + elif [ $delete_range_end -gt $lineNumbers ]; then
- + printf "\\n${RED_BG} Setting range to last entry${NC} (line: $lineNumbers)\\n"
- + fi
- + break
- + fi
- + fi
- + ;;
- esac
- - done;break;;
- +
- + done
- +
- + deleteline=$delete_range_start
- + deleteloop=`expr $delete_range_end - $delete_range_start + 1`
- +
- + # add entry back to blocking file, 1 - 999
- + i=1
- + while [ $i -le $deleteloop ]; do
- + readd=$(sed -n "${deleteline}p" ${DIVERSION_DIR}/list/$2)
- + readd=$(echo $readd | sed "s/#!//g; s/$blockingIP//g" | awk '{print $1}')
- + loggerAdd=
- + if [ "$2" = "whitelist" ]; then
- + if echo "$(sed -n "${deleteline}p" ${DIVERSION_DIR}/list/$2)" | grep -q '#!\|(forced-entry)'; then
- + loggerAdd=", inactive or (forced-entry) found, not re-added to blocking file"
- + else
- + echo $blockingIP $readd >>"${DIVERSION_DIR}/list/blockinglist"
- + if [ "$(nvram get ipv6_service)" != "disabled" ]; then
- + echo :: $readd >>"${DIVERSION_DIR}/list/blockinglist"
- + fi
- + loggerAdd=" and appended it to blocking file"
- + fi
- + fi
- + sed -i "${deleteline}d" "${DIVERSION_DIR}/list/$2"
- + export edited_${2}=1
- + logger -t Diversion "deleted '$readd' from $2$loggerAdd (user action), from $0"
- + i=`expr $i + 1`
- + done
- + edit_list edit $2
- + break;;
- 3) export edited_${2}=
- elsum=
- [ "$2" = "whitelist" ] && elsum=$((elsum+1))
Add Comment
Please, Sign In to add comment