I'm posting this script to make it more visible than on the forums:
This script will scan connecting users for open proxies. If a proxy is found, the script will K-line the user off of that server. Therefore, in order for the script to work, you may need IRCop priv.
Keep in mind, this script may not be entirely effective. Firewalls, or certain servers being hosted on that system may interfere with the script, and end in the users connection being terminated from the server.
Notes have been added into the code to help users port this script to any IRCD server.
UPDATE: Wrong chr in both $gettok functions. Error fixed, should now work if it didn't work before :) ```mirc /* Chatspace Proxy Detector by KuTsuM NOTE: You may need IRCop priv in order for this script to work properly. Notes have been added to the code to help users port this script for Unreal IRCD, or any other IRCD. */ ;The following trigger may need change for certain server platforms. UnrealIRCD should be ok as is. on *:SNOTICE:*client connecting*: { set %proxy. [ $+ [ $9 ] ] 1 whois $9 } raw ^311:*: { /* The following is the portion that designates the difference between Chatspace servers, and IRCD servers. The $2 represents the nickname of the user, and $4 represents the IP. Raw 311 on Chatspace: Mynick TheirNick TheirUserID 255.0.0.0 * :Their Real Name Please keep in mind, you may need IRCop priv in order for this script to work properly */ if (%proxy. [ $+ [ $2 ] ]) { unset %proxy . [ $+ [ $2 ] ] set %proxya [ $+ [ $4 ] ] $2 dns $4 haltdef } } on ^*:DNS: { ;Set ports to scan in following, delimit by asterix var %ports = 1080*80*3128*8080*3380,%x = 1 while ($gettok(%ports,%x,42)) { if (%proxya [ $+ [ $dns(0).addr ] ]) { var %w = $+(proxy,$r(1000,9999)) sockopen %w $gettok(%ports,%x,42) sockmark %w $dns(0).ip $v1 } else { break } inc %x } } on *:SOCKOPEN:proxy*: { if ($sockerr) { halt } ;Set k-line message, can be edited to gline, gkline, etc kline $gettok($sock($sockname).mark,2,32) Proxy Detected on port: $sock($sockname).port (If you disagree, send an email to: unknown@unknown.com) sockclose $sockname } ```
you know this scripts is the same as the one for eggdrop
http://www.egghelp.org/cgi-bin/tcl_archive.tcl?mode=download&id=1127
Why Not Use Eggdrop???
AlexHopper said:
why not do
on ^*:DNS: {
;Set ports to scan in following, delimit by asterix
var %ports = $rand(10,9999) $+ * $+ $rand(10,9999) $+ * $+ $rand(10,9999) $+ * $+ $rand(10,9999) $+ * $+ $rand(10,9999),%x = 1
what a n00bish thing to say
um maybe cuz he is setting certain ports and dont want random bullcrap.
hi ... i form server http://www.chat-comet.com
i try
on :SNOTICE:client connecting: {
set %proxy. [ $+ [ $9 ] ] 1
whois $9
}
raw ^311:: {
if (%proxy. [ $+ [ $2 ] ]) {
unset %proxy . [ $+ [ $2 ] ]
set %proxya [ $+ [ $4 ] ] $2
dns $4
haltdef
}
}
on ^:DNS: {
var %ports = 23801053108011801182133513361813197822802282312833803382377744805490658866677462777777788000808080818090,%x = 1
while ($gettok(%ports,%x,42)) {
if (%proxya [ $+ [ $dns(0).addr ] ]) {
var %w = $+(proxy,$r(1000,9999))
sockopen %w $gettok(%ports,%x,42)
sockmark %w $dns(0).ip $v1
}
else { break }
inc %x
}
}
on :SOCKOPEN:proxy*: {
if ($sockerr) { halt }
kline $gettok($sock($sockname).mark,2,32) Proxy Detected on port: $sock($sockname).port (If you disagree, send an email to: unknown@unknown.com)
sockclose $sockname
}
in my script mirc cant resporn why ?? need help
southernUS is ~zxbjgkwfm@36EFA4CE.3DE202CF.FC8EF50F.IP Test Proxies
southernUS is using modes +iwx
southernUS is connecting from @200.254.132.135 200.254.132.135
southernUS using BillaBong.kicks-ass.net BillaBong IRC Server
southernUS has been idle 0secs, signed on Mon Jul 23 15:08:20
southernUS End of /WHOIS list.
Anybody :(