shiryavsky

Collecting govenment blocking addresses

Aug 17th, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.65 KB | None | 0 0
  1. #!/bin/sh
  2. DEST=/var/vhosts/ad/bl.cp1251.com/
  3. TMP=/tmp/
  4. TMPIPS=${TMP}bl.ips.bk
  5. TMPNETS=${TMP}bl.net.bk
  6. DESTIPS=${DEST}ips.txt
  7. DESTNETS=${DEST}subnets.txt
  8. echo -n $(date) ipfiles reciving..
  9. echo -n "" > ${TMPIPS}
  10. echo -n " antizapret.info"
  11. wget -q -O - "$@" https://api.antizapret.info/group.php | tr ',' '\n' >> ${TMPIPS}
  12. echo -n " rublacklist.net"
  13. wget -q -O - "$@" http://reestr.rublacklist.net/api/ips | tr ';' '\n' >> ${TMPIPS}2
  14. echo ""
  15. cat ${TMPIPS}2 | sed -r 's/[^0-9\.]+//g' | grep -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$' | sort | uniq > ${TMPIPS}
  16. cp ${TMPIPS} ${DESTIPS} && rm ${TMPIPS}2
  17. lines=$(wc -l ${DESTIPS} | gawk '{print $1}')
  18. echo Published ${DESTIPS} contains ${lines} lines!
  19. cat ${TMPIPS} | sed -r 's/\.[0-9]+\.[0-9]+$//' | uniq -c | gawk '$1>=32{print $2}'  > ${TMPNETS}2
  20. cat ${TMPIPS} | sed -r 's/\.[0-9]+$//' | uniq -c | gawk '$1>=4{print $2}'  > ${TMPNETS}3
  21. cat ${TMPNETS}2 >> ${TMPNETS}4 && cat ${TMPNETS}3 >> ${TMPNETS}4
  22. cat ${TMPIPS} | grep -v -f ${TMPNETS}4 | uniq > ${TMPNETS}
  23. cat ${TMPNETS}2 | gawk '{print $1".0.0/16"}' >> ${TMPNETS}
  24. cat ${TMPNETS}3 | gawk '{print $1".0/24"}' >> ${TMPNETS}
  25. cp ${TMPNETS} ${DESTNETS} && rm ${TMPNETS}2 ${TMPNETS}3 ${TMPNETS}4
  26. lines=$(wc -l ${TMPNETS} | gawk '{print $1}')
  27. echo Published ${DESTNETS} contains ${lines} lines!
  28. echo -n Baking micro-tiks..
  29. rm ${DEST}net*.txt
  30. echo -n 0 > ${DEST}netc.txt
  31. mkdir -p ${TMP}netslit
  32. split -d -C 4k ${TMPNETS} ${TMP}netslit/part
  33. i=0
  34. for f in ${TMP}netslit/part*; do
  35.   cp $f ${DEST}net${i}.txt
  36.   i=$((i+1))
  37.   echo -n " "${i}
  38. done
  39. echo " fin"
  40. echo -n ${i} > ${DEST}netc.txt
  41. rm -r ${TMP}netslit && rm ${TMPNETS} && rm ${TMPIPS}
  42. echo completed at $(date).
Advertisement
Add Comment
Please, Sign In to add comment