Chatspace Proxy Detector

By KuTsuM on Jun 19, 2006

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 } ```

Comments

Sign in to comment.
KuTsuM   -  Oct 01, 2009

if i had a chatspace server that I knew of i probably would attempt it again. lol

 Respond  
siddukurt   -  Jul 02, 2009

i wish if u could once have a look at this script. No one has made one like this and at least u've tried. if u could finish this it would be wonderful.

 Respond  
KuTsuM   -  Jun 22, 2009

Truthfully, I would delete this snippet. I had a working version and a non working version way back when and accidentally posted the wrong one. Now it's been so long I have neither, lol.

 Respond  
Prelude   -  Apr 13, 2009

tbh i never got this to work myself, dunno why i cant really remember, rofl and it would take a whole lotta eggs to cover up that mutation Napa182:P

 Respond  
napa182   -  Apr 13, 2009

we should drop a few eggs on ur head Alex..

 Respond  
AlexHopper   -  Apr 13, 2009

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???

 Respond  
napa182   -  Feb 06, 2009

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.

 Respond  
AlexHopper   -  Feb 06, 2009

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
 Respond  
tomparis   -  Nov 28, 2008

hi kutsum,

the code doesnt work for me all it gives me is a whois nothing else.

 Respond  
paklang   -  Sep 10, 2007

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 = 23
801053108011801182133513361813197822802282312833803382377744805490658866677462777777788000808080818090,%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

 Respond  
LaBo   -  Jul 23, 2007

Anybody got this script to work on UnrealIRCD? Mine Whois\'s then lets the proxies through. i tested it and tested and added LOTS of ports for example:
238010531080118011821335
1336181319782280
228231283380
3382377744805490
658866677462777777788000
808080818090*:
As you can see your standerd ports for proxies. Anyways it doesnt work on UnrealIRCD as i said it does whois then thats it.
EXAMPLE: [15:08] -BillaBong.kicks-ass.net- *** Notice -- Client connecting on port 6667: southernUS (~zxbjgkwfm@200.254.132.135) [clients]

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 :(

 Respond  
bynw   -  Feb 19, 2007

I am unable to get this to work on UnrealIRCd. If anyone has any pointers to get it to work it would be greatly appriciated.

 Respond  
DarkWatcher   -  Jun 20, 2006

Nice job, KuTsuM, my server has already found proxys on people\'s connections. Thanks. :)

 Respond  
KuTsuM   -  Jun 20, 2006

Ports can be added, plus your script doesn\'t cover closed proxies, only open. Plus, you can add all the ports you need to, and theres alot more ports than that are used by proxies. 65536 ports can be used by a proxy. Next time you comment, please make sure it\'s constructive, thanks :)

 Respond  
independent911   -  Jun 20, 2006

i have better scanner, try flooding my server pxyBNC.bounceme.net:6667
:) (My scanner doesnt even need to open a connection to the host) your script looks cool but there need a lot more ports like 80 8080 3128 6588 7212 4480

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.