This will only need to be done by who use the
UnrealIRCd and others IRCd, where is analogous line of the server notices.
I made some changes to the code based on the string you receive from the server. Hopefully you are actually see the real IP address of each connecting user in the format
IPv4, and not "
000.000.000.000".
In addition, I found one error in line: "
if ($istok(%ps_servers,$nick,44)) || ($hget(ps,servers) == all) {"
It should be like this: "
if ($istok(%ps_servers,$nick,44)) || (%ps_servers == all) {"
Find this piece of code in script:
on *:SNOTICE:*Client connecting*:{
if (%ps_work == on) {
if ($istok(%ps_servers,$nick,44)) || ($hget(ps,servers) == all) {
var %ps_mask $remove($wildtok($1-,*@*,1,32),$chr(40),$chr(41)) | var %ps_nick $gettok(%ps_mask,1,33) | var %ps_ip $gettok(%ps_mask,2,64) | var %ps_id $gettok($gettok(%ps_mask,1,64),2,33)
if ($ps_detectip(%ps_ip)) proxyscanner_check %ps_ip %ps_id %ps_nick
}
}
}
And try replacing it with this piece of code:
on *:SNOTICE:*Client connecting*:{
if (%ps_work == on) {
if ($istok(%ps_servers,$nick,44)) || (%ps_servers == all) {
var %ps_mask $remove($wildtok($1-,*@*,1,32),$chr(40),$chr(41)) | var %ps_nick $gettok($gettok($1-,2,58),1,32) | var %ps_ip $gettok(%ps_mask,2,64) | var %ps_id $gettok(%ps_mask,1,64)
if ($ps_detectip(%ps_ip)) proxyscanner_check %ps_ip %ps_id %ps_nick
}
}
}
Also, if you will be using
ZLINE in "
%ps_btype = ZLINE", then find this line:
if (%ps_btype == ZLINE) .ZLINE $hget(ps-oip,%ps_dnsrip) %ps_btime %ps_breason
And replace with this line:
if (%ps_btype == ZLINE) .ZLINE $+(*@,$hget(ps-oip,%ps_dnsrip)) %ps_btime %ps_breason
Try to run the script the command: "
!ps start" - provided that your nickname is in the list of script admins "
%ps_admins = YourNick".
Remember that the script will only to react to found IP addresses in the DNSBL databases from the list in alias "
proxyscanner_list". But there will be no to react to pure connecting IP addresses.
P.S. I am already thinking to start updating the script to the new version. There are plans to create a full-fledged dialog box for controlling the script so that you no longer need to get into the script code, in order to avoid breakage. I will probably have to rewrite most of the code to improve its quality, taking into account the exploitation in different IRCd.