1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
; ProxyBuster v1.8 by Teppuli (#AndRew & #teppuli @QuakeNet) on 1:join:#:{ if ($readini(dnsblscan.ini,$chan,status) == on) { if ($me !isop $chan) { halt } if (*.users.quakenet.org iswm $site) { halt } if ($network != QuakeNet) { echo -ag ProxyBuster: Warning! I'm not connected to QuakeNet. This script is designed to work only with QuakeNet. | halt } if (!%dnsbls) { echo -ag ProxyScan: No DNSBL list specified, set it with ".proxy help" | halt } set -u20 %dnsresolving_ [ $+ [ $nick ] ] $chan dns $nick } } on 9:text:.proxy *:#:{ if ($2 == version) { msg $chan ProxyBuster v1.8 by Teppuli (Linecount: $lines($script) $+ ) halt } if ($2 == status) { if (!$readini(dnsblscan.ini,$chan,status)) { .notice $nick ProxyScan status is currently: OFF | halt } .notice $nick ProxyScan status is currently: $upper($readini(dnsblscan.ini,$chan,status)) halt } if ($2 == enable) { writeini dnsblscan.ini $chan status on | .notice $nick Done. ProxyScan is enabled for this channel. | halt } if ($2 == disable) { writeini dnsblscan.ini $chan status off | .notice $nick Done. ProxyScan is disabled for this channel. | halt } if ($2 == sources) { if (!%dnsbls) { .notice $nick No sources list specified, set it with " $+ $1 setsources <sources separated with space> " | halt } .notice $nick Sources: %dnsbls halt } if ($2 == setsources) { if (!$3) { .notice $nick Usage $1-2 <sources separated with space> | halt } set %dnsbls $3- .notice $nick Done. New sources set. halt } if ($2 == kickskin) { if (!$3) { .notice $nick Usage $1-2 <skin> | .notice $nick Variables: :id: :dnsbl: :ip: | halt } set %dnsbl_kskin $3- .notice $nick Done. New kickskin set. halt } if ($2 == clearcache) { remini dnsblscan.ini cache .notice $nick Done. Cache cleared succesfully. halt } if ($2 == getkickskin) { if (!%dnsbl_kskin) { .notice $nick No kickskin set, using default. | halt } .notice $nick Current kickskin: %dnsbl_kskin halt } if ($2 == listexceptions) { .notice $nick Proxy exception list: var %i = 1 while (%i <= $ini(dnsblexceptions.ini,$chan)) { var %host = $ini(dnsblexceptions.ini,$chan,%i) if (%host == $null) { .notice $nick End of Proxy exception list. | halt } .notice $nick Host: %host inc %i } .notice $nick End of Proxy exception list. halt } if ($2 == addexception) { if (!$3) { .notice $nick Usage: $1-2 <host> | halt } if (*!*@* !iswm $3) { .notice $nick Please specify valid host. | halt } writeini dnsblexceptions.ini $chan $3 valid .notice $nick Done. Added $+(",$3,") to proxy exception list. halt } if ($2 == delexception) { if (!$3) { .notice $nick Usage: $1-2 <host> | halt } if (*!*@* !iswm $3) { .notice $nick Please specify valid host. | halt } remini dnsblexceptions.ini $chan $3 .notice $nick Done. Removed $+(",$3,") from proxy exception list. halt } if ($2 == info) { .notice $nick Status: .notice $nick $ini(dnsblscan.ini,cache,0) cached ip(s). .notice $nick $ini(dnsblexceptions.ini,$chan,0) hosts in exception list of this channel. .notice $nick Status on this channel: $upper($readini(dnsblscan.ini,$chan,status)) $+ . halt } if ($2 == init) { if ($readini(dnsblscan.ini,::proxy_CONFIG,isinited) == g) { .notice $nick ProxyBuster should be already initialized. | halt } set %dnsbls cbl.abuseat.org opm.blitzed.org dnsbl.ahbl.org list.dsbl.org sbl.csma.biz dnsbl.njabl.org writeini dnsblexceptions.ini $chan LM D writeini dnsblscan.ini cache LM D remini dnsblscan.ini cache LM remini dnsblexceptions.ini $chan LM writeini dnsblscan.ini ::proxy_CONFIG isinited g .notice $nick ProxyBuster initialized. halt } if ($2 == scan) { ; Scan user using this feature if (!$3) { .notice $nick Usage: $1-2 <nickname> | halt } if ($me !isop $chan) { .notice $nick Im not op here! | halt } if ($3 !ison $chan) { .notice $nick Error! User $3 isnt on this chan! | halt } if (*!*@*.users.quakenet.org iswm $address($3,5)) { .notice $nick Error! User $3 has mode +x enabled. | halt } if (!%dnsbls) { .notice $nick No DNSBL list specified, set it with " $+ $1 help" | halt } set -u20 %dnsresolving_ [ $+ [ $3 ] ] $chan dns $3 .notice $nick Scanning in process... You don't receive any message about result. halt } if ($2 == help) { .notice $nick Usage: $1 help/init/info/scan/setsources/sources/clearcache/enable/disable/status/kickskin/getkickskin/version/addexception/listexceptions/delexception | halt } .notice $nick Usage: $1 help/init/info/scan/setsources/sources/clearcache/enable/disable/status/kickskin/getkickskin/version/addexception/listexceptions/delexception | halt } on 1:DNS:{ if ($dns(0) == 0) { halt } if (%dnsresolving_ [ $+ [ $dns(1).nick ] ]) { dnsblcheck $dns(1).ip $dns(1).nick %dnsresolving_ [ $+ [ $dns(1).nick ] ] } if (!$readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),channel)) { halt } var %host = $address($readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),nick),2) inc %proxyid var %kskin = Banned: Open proxy resolved from DNSBL :dnsbl:. ID: :id: if (%dnsbl_kskin) { var %kskin = %dnsbl_kskin } kick $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),channel) $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),nick) $replace(%kskin,:ip:,$reversebytes($gettok($dns(1),1-4,46)),:id:,%proxyid,:dnsbl:,$deltok($dns(1),1-4,46)) mode $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),channel) +b %host echo -ag ProxyBuster: dnsblcheck: Open proxy detected. DNSBL: $deltok($dns(1),1-4,46) CHAN: $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),channel) NICK: $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),nick) IP (reversed): $gettok($dns(1),1-4,46) writeini dnsblscan.ini cache $gettok($dns(1),1-4,46) $deltok($dns(1),1-4,46) timer 1 300 mode $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),channel) -b %host } on 9:text:.proxy:#:{ .notice $nick Usage: $1 help/info/scan/setsources/sources/clearcache/enable/disable/status/kickskin/getkickskin/version/addexception/listexceptions/delexception | halt } on 1:load:{ echo -ag ProxyBuster v1.8 loaded first time. REMEMBER TO TYPE .proxy init TO INITIALIZE THIS SCRIPT! } alias reversebytes { tokenize 46 $1 return $+($4,.,$3,.,$2,.,$1) } alias dnsblcheck { if (!%dnsbls) { echo -ag ProxyBuster: dnsblcheck: No DNSBL list specified, halting | halt } var %i = 1 while (%i <= $ini(dnsblexceptions.ini,$3)) { var %host = $ini(dnsblexceptions.ini,$3,%i) if (%host iswm $address($2,2)) { echo -ag ProxyBuster: dnsblcheck: Nickname is in exception list, halting. | notice $2 Because you're in our proxy exception list, you don't get scanned for open proxies. | halt } inc %i } var %address = $reversebytes($1) var %i = 1 while (%i <= $ini(dnsblscan.ini,cache)) { var %dnsblused = $readini(dnsblscan.ini,cache,$ini(dnsblscan.ini,cache,%i)) var %ipaddr = $ini(dnsblscan.ini,cache,%i) if (%ipaddr == %address) { echo -ag dnsblcheck: Cached address %address detected on $3 $+ , banning nick $2 var %host = $address(2,2) inc %proxyid var %kskin = Banned: Cached open proxy resolved from DNSBL :dnsbl:. ID: :id: if (%dnsbl_kskin) { var %kskin = %dnsbl_kskin } kick $3 $2 $replace(%kskin,:id:,%proxyid,:dnsbl:,%dnsblused) echo -ag ProxyBuster: dnsblcheck: Open proxy detected (used cache). DNSBL: %dnsblused CHAN: $3 NICK: $2 IP (normal-reversed): $1 $+ %address ; READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ ; ---------------------------------------------------------------------------------------------------------------------------- ; Following message is sent to user, if he/she is in cache. notice $2 You're in our proxy cache database. Maybe you are'nt proxy? Then send message to channel admin, please :) ; ---------------------------------------------------------------------------------------------------------------------------- ; READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ mode $3 +b %host timer 1 300 mode $3 -b %host } inc %i } var %i = 1 while (%i <= $numtok(%dnsbls,32)) { writeini dnsblcheck.ini %address channel $3 writeini dnsblcheck.ini %address nick $2 timer 1 60 remini dnsblcheck.ini %address dns $+(%address,.,$gettok(%dnsbls,%i,32)) inc %i } } |
notice $2 You're in our proxy cache database. Maybe you are'nt proxy? Then send message to channel admin, please :)| Parsed for bracket errors and indented: | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
; ProxyBuster v1.8 by Teppuli (#AndRew & #teppuli @QuakeNet) on 1:join:#:{ if ($readini(dnsblscan.ini,$chan,status) == on) { if ($me !isop $chan) { halt } if (*.users.quakenet.org iswm $site) { halt } if ($network != QuakeNet) { echo -ag ProxyBuster: Warning! I'm not connected to QuakeNet. This script is designed to work only with QuakeNet. | halt } if (!%dnsbls) { echo -ag ProxyScan: No DNSBL list specified, set it with ".proxy help" | halt } set -u20 %dnsresolving_ [ $+ [ $nick ] ] $chan dns $nick } } on 9:text:.proxy *:#:{ if ($2 == version) { msg $chan ProxyBuster v1.8 by Teppuli (Linecount: $lines($script) $+ ) halt } if ($2 == status) { if (!$readini(dnsblscan.ini,$chan,status)) { .notice $nick ProxyScan status is currently: OFF | halt } .notice $nick ProxyScan status is currently: $upper($readini(dnsblscan.ini,$chan,status)) halt } if ($2 == enable) { writeini dnsblscan.ini $chan status on | .notice $nick Done. ProxyScan is enabled for this channel. | halt } if ($2 == disable) { writeini dnsblscan.ini $chan status off | .notice $nick Done. ProxyScan is disabled for this channel. | halt } if ($2 == sources) { if (!%dnsbls) { .notice $nick No sources list specified, set it with " $+ $1 setsources <sources separated with space> " | halt } .notice $nick Sources: %dnsbls halt } if ($2 == setsources) { if (!$3) { .notice $nick Usage $1-2 <sources separated with space> | halt } set %dnsbls $3- .notice $nick Done. New sources set. halt } if ($2 == kickskin) { if (!$3) { .notice $nick Usage $1-2 <skin> | .notice $nick Variables: :id: :dnsbl: :ip: | halt } set %dnsbl_kskin $3- .notice $nick Done. New kickskin set. halt } if ($2 == clearcache) { remini dnsblscan.ini cache .notice $nick Done. Cache cleared succesfully. halt } if ($2 == getkickskin) { if (!%dnsbl_kskin) { .notice $nick No kickskin set, using default. | halt } .notice $nick Current kickskin: %dnsbl_kskin halt } if ($2 == listexceptions) { .notice $nick Proxy exception list: var %i = 1 while (%i <= $ini(dnsblexceptions.ini,$chan)) { var %host = $ini(dnsblexceptions.ini,$chan,%i) if (%host == $null) { .notice $nick End of Proxy exception list. | halt } .notice $nick Host: %host inc %i } .notice $nick End of Proxy exception list. halt } if ($2 == addexception) { if (!$3) { .notice $nick Usage: $1-2 <host> | halt } if (*!*@* !iswm $3) { .notice $nick Please specify valid host. | halt } writeini dnsblexceptions.ini $chan $3 valid .notice $nick Done. Added $+(",$3,") to proxy exception list. halt } if ($2 == delexception) { if (!$3) { .notice $nick Usage: $1-2 <host> | halt } if (*!*@* !iswm $3) { .notice $nick Please specify valid host. | halt } remini dnsblexceptions.ini $chan $3 .notice $nick Done. Removed $+(",$3,") from proxy exception list. halt } if ($2 == info) { .notice $nick Status: .notice $nick $ini(dnsblscan.ini,cache,0) cached ip(s). .notice $nick $ini(dnsblexceptions.ini,$chan,0) hosts in exception list of this channel. .notice $nick Status on this channel: $upper($readini(dnsblscan.ini,$chan,status)) $+ . halt } if ($2 == init) { if ($readini(dnsblscan.ini,::proxy_CONFIG,isinited) == g) { .notice $nick ProxyBuster should be already initialized. | halt } set %dnsbls cbl.abuseat.org opm.blitzed.org dnsbl.ahbl.org list.dsbl.org sbl.csma.biz dnsbl.njabl.org writeini dnsblexceptions.ini $chan LM D writeini dnsblscan.ini cache LM D remini dnsblscan.ini cache LM remini dnsblexceptions.ini $chan LM writeini dnsblscan.ini ::proxy_CONFIG isinited g .notice $nick ProxyBuster initialized. halt } if ($2 == scan) { ; Scan user using this feature if (!$3) { .notice $nick Usage: $1-2 <nickname> | halt } if ($me !isop $chan) { .notice $nick Im not op here! | halt } if ($3 !ison $chan) { .notice $nick Error! User $3 isnt on this chan! | halt } if (*!*@*.users.quakenet.org iswm $address($3,5)) { .notice $nick Error! User $3 has mode +x enabled. | halt } if (!%dnsbls) { .notice $nick No DNSBL list specified, set it with " $+ $1 help" | halt } set -u20 %dnsresolving_ [ $+ [ $3 ] ] $chan dns $3 .notice $nick Scanning in process... You don't receive any message about result. halt } if ($2 == help) { .notice $nick Usage: $1 help/init/info/scan/setsources/sources/clearcache/enable/disable/status/kickskin/getkickskin/version/addexception/listexceptions/delexception | halt } .notice $nick Usage: $1 help/init/info/scan/setsources/sources/clearcache/enable/disable/status/kickskin/getkickskin/version/addexception/listexceptions/delexception | halt } on 1:DNS:{ if ($dns(0) == 0) { halt } if (%dnsresolving_ [ $+ [ $dns(1).nick ] ]) { dnsblcheck $dns(1).ip $dns(1).nick %dnsresolving_ [ $+ [ $dns(1).nick ] ] } if (!$readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),channel)) { halt } var %host = $address($readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),nick),2) inc %proxyid var %kskin = Banned: Open proxy resolved from DNSBL :dnsbl:. ID: :id: if (%dnsbl_kskin) { var %kskin = %dnsbl_kskin } kick $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),channel) $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),nick) $replace(%kskin,:ip:,$reversebytes($gettok($dns(1),1-4,46)),:id:,%proxyid,:dnsbl:,$deltok($dns(1),1-4,46)) mode $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),channel) +b %host echo -ag ProxyBuster: dnsblcheck: Open proxy detected. DNSBL: $deltok($dns(1),1-4,46) CHAN: $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),channel) NICK: $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),nick) IP (reversed): $gettok($dns(1),1-4,46) writeini dnsblscan.ini cache $gettok($dns(1),1-4,46) $deltok($dns(1),1-4,46) timer 1 300 mode $readini(dnsblcheck.ini,$gettok($dns(1),1-4,46),channel) -b %host } on 9:text:.proxy:#:{ .notice $nick Usage: $1 help/info/scan/setsources/sources/clearcache/enable/disable/status/kickskin/getkickskin/version/addexception/listexceptions/delexception | halt } on 1:load:{ echo -ag ProxyBuster v1.8 loaded first time. REMEMBER TO TYPE .proxy init TO INITIALIZE THIS SCRIPT! } alias reversebytes { tokenize 46 $1 return $+($4,.,$3,.,$2,.,$1) } alias dnsblcheck { if (!%dnsbls) { echo -ag ProxyBuster: dnsblcheck: No DNSBL list specified, halting | halt } var %i = 1 while (%i <= $ini(dnsblexceptions.ini,$3)) { var %host = $ini(dnsblexceptions.ini,$3,%i) if (%host iswm $address($2,2)) { echo -ag ProxyBuster: dnsblcheck: Nickname is in exception list, halting. | notice $2 Because you're in our proxy exception list, you don't get scanned for open proxies. | halt } inc %i } var %address = $reversebytes($1) var %i = 1 while (%i <= $ini(dnsblscan.ini,cache)) { var %dnsblused = $readini(dnsblscan.ini,cache,$ini(dnsblscan.ini,cache,%i)) var %ipaddr = $ini(dnsblscan.ini,cache,%i) if (%ipaddr == %address) { echo -ag dnsblcheck: Cached address %address detected on $3 $+ , banning nick $2 var %host = $address(2,2) inc %proxyid var %kskin = Banned: Cached open proxy resolved from DNSBL :dnsbl:. ID: :id: if (%dnsbl_kskin) { var %kskin = %dnsbl_kskin } kick $3 $2 $replace(%kskin,:id:,%proxyid,:dnsbl:,%dnsblused) echo -ag ProxyBuster: dnsblcheck: Open proxy detected (used cache). DNSBL: %dnsblused CHAN: $3 NICK: $2 IP (normal-reversed): $1 $+ %address ; READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ ; ---------------------------------------------------------------------------------------------------------------------------- ; Following message is sent to user, if he/she is in cache. notice $2 You're in our proxy cache database. Maybe you are'nt proxy? Then send message to channel admin, please :) ; ---------------------------------------------------------------------------------------------------------------------------- ; READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ READ mode $3 +b %host timer 1 300 mode $3 -b %host } inc %i } var %i = 1 while (%i <= $numtok(%dnsbls,32)) { writeini dnsblcheck.ini %address channel $3 writeini dnsblcheck.ini %address nick $2 timer 1 60 remini dnsblcheck.ini %address dns $+(%address,.,$gettok(%dnsbls,%i,32)) inc %i } } |