#!/usr/local/bin/bash # # ##### OpenBSD iBlocklist implementation: # #You must Create /etc/pftables/ directory # #You must implement this into your /etc/pf.conf file : # #table persist file "/home/forgotten/iblocklist" #block in log quick on $rl0 from to any #block out log quick on $rl0 from to any ### Set your execution directory userdir=/home/forgotten #### Remove old lists #### echo "Removing any old lists" rm *.txt #### List downloads #### echo "Downloading iBlocklist files" /usr/local/bin/wget --quiet -N --limit-rate 500k --output-document=bogon.gz "http://list.iblocklist.com/?list=srzondksmjuwsvmgdbhi&fileformat=cidr&archiveformat=gz&id=forgottentq&pin=****" /usr/local/bin/wget --quiet -N --limit-rate 500k --output-document=ads.gz "http://list.iblocklist.com/?list=bt_ads&fileformat=cidr&archiveformat=gz&id=forgottentq&pin=****" /usr/local/bin/wget --quiet -N --limit-rate 500k --output-document=spyware.gz "http://list.iblocklist.com/?list=bt_spyware&fileformat=cidr&archiveformat=gz&id=forgottentq&pin=****" /usr/local/bin/wget --quiet -N --limit-rate 500k --output-document=proxy.gz "http://list.iblocklist.com/?list=bt_proxy&fileformat=cidr&archiveformat=gz&id=forgottentq&pin=****" /usr/local/bin/wget --quiet -N --limit-rate 500k --output-document=badpeers.gz "http://list.iblocklist.com/?list=bt_templist&fileformat=cidr&archiveformat=gz&id=forgottentq&pin=****" /usr/local/bin/wget --quiet -N --limit-rate 500k --output-document=spider.gz "http://list.iblocklist.com/?list=bt_spider&fileformat=cidr&archiveformat=gz&id=forgottentq&pin=****" /usr/local/bin/wget --quiet -N --limit-rate 500k --output-document=hijacked.gz "http://list.iblocklist.com/?list=bt_hijacked&fileformat=cidr&archiveformat=gz&id=forgottentq&pin=****" /usr/local/bin/wget --quiet -N --limit-rate 500k --output-document=webexploit.gz "http://list.iblocklist.com/?list=ghlzqtqxnzctvvajwwag&fileformat=cidr&archiveformat=gz&id=forgottentq&pin=****" /usr/local/bin/wget --quiet -N --limit-rate 500k --output-document=spam.gz "http://list.iblocklist.com/?list=rynxmrknfjysesjtjlxy&fileformat=cidr&archiveformat=gz&id=forgottentq&pin=****" /usr/local/bin/wget --quiet -N --limit-rate 500k --output-document=ai.gz "http://list.iblocklist.com/?list=srzondksmjuwsvmgdbhi&fileformat=cidr&archiveformat=gz&id=forgottentq&pin=****" /usr/local/bin/wget --quiet -N --limit-rate 500k --output-document=china.gz "http://list.iblocklist.com/?list=cn&fileformat=cidr&archiveformat=gz&username=forgottentq&pin=****" echo "Decompressing files" #### Decompress all lists #### /usr/bin/gunzip $userdir/iblocklist/*.gz echo "Moving Files to .txt format" /bin/mv $userdir/iblocklist/bogon $userdir/iblocklist/bogon.txt /bin/mv $userdir/iblocklist/ads ads.txt /bin/mv $userdir/iblocklist/spyware $userdir/iblocklist/spyware.txt /bin/mv $userdir/iblocklist/proxy $userdir/iblocklist/proxy.txt /bin/mv $userdir/iblocklist/badpeers $userdir/iblocklist/badpeers.txt /bin/mv $userdir/iblocklist/spider $userdir/iblocklist/spider.txt /bin/mv $userdir/iblocklist/hijacked $userdir/iblocklist/hijacked.txt /bin/mv $userdir/iblocklist/webexploit $userdir/iblocklist/webexploit.txt /bin/mv $userdir/iblocklist/spam $userdir/iblocklist/spam.txt /bin/mv $userdir/iblocklist/ai $userdir/iblocklist/ai.txt /bin/mv $userdir/iblocklist/china $userdir/iblocklist/china.txt #### Combine all files into 1 list #### echo "Combinging files and copying to $userdir/iblocklist/iblocklist_full" /bin/rm $userdir/iblocklist/iblocklist_full /bin/cat $userdir/iblocklist/*.txt >> $userdir/iblocklist/iblocklist_full #### Remove any bad files #### echo "Removing any stale .gz files" /bin/rm $userdir/iblocklist/*.gz echo "Nothing to remove is normal and good :-D" ### Finally reload the pf rules to incorpirate any new changes" echo "Finally re-initializing PF with the new blocklists" /sbin/pfctl -f /etc/pf.conf echo "Operation complete." ### pf loads the text file as table from /etc/pftables/iblocklist as defined in pf.conf file ####