To test the script Anti Proxy Scan you can independently try to connect to your network through a second client program using an open proxy address. In most cases, if configured correctly, the script should to react to such addresses.

I noticed that in one of the lines you have the host displayed: "*** Client connecting: guest ( []".

For verification, the script takes the IP address from this part of the line because of the landmark to the @ symbol in the mask. If you refer to the IRCd setup help documentation, you may find a configuration item that needs to be changed so that you always get a pure IP address instead of a host at this location. I can, of course, make it easier, and rewrite part of the code so that it takes the IP address from the line where it is displayed in square brackets. I just want you to understand the possible reason why the script might not work. This is due to the fact that he may not receive a clean IP address for verification, which should consist of 4 numbers separated by a dot.

If you are uncomfortable with changing something in the IRCd configuration, then you can try replacing your code snippet with this one:
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_id $gettok(%ps_mask,1,64) | var %ps_ip $gettok($gettok($1-,2,91),1,93)
      if ($ps_detectip(%ps_ip)) proxyscanner_check %ps_ip %ps_id %ps_nick

In this case the script will be take the IP address from this part of the line, where it is in square brackets: "*** Client connecting: guest ( []".

These changes should only help those using UnrealIRCd.

🌐 📜 6667 #Code (mIRC scripts, help, discuss, examples)