Max™ Management


 Number of posts: 1887 Age: 49 Home: Midlands UK Reputation: 0 Registration date: 2007-07-30
 | Subject: Stopping Spammers : By Pri (Updated) Sat Nov 21, 2009 9:14 pm | |
| | Quote: | A lot of spamming has been happening in WinMX recently. To stop this spam I made a Blocklist that has thousands of Proxy Servers in it. I made the blocklist to use with Peer Guardian 2 (PG2) but not everyone who runs a chat room can run Peer Guardian. Anyone who runs on Linux can't run it, they have to use MoBlock instead which is complicated to setup and requires iptables which some Linux users may not want to use. Windows hosters may have issues with the software and cant use it either.
So here is a Metis script that allows Metis to both Download and use PG2 lists. It requires Metis 2.8 or higher to use the Download function. The code is presented below in Code Tags and an individual file is available at the top of this post. This code is Beta but it has been fully tested and no bugs have been found yet.
Here are the commands included: !download - Downloads the latest PG2 blocklist from a link included in the script or a link you set !setdownload - Allows you to set a download link yourself instead of using the default (Any PG2 list is compatible) !resetdownload - Allows you to erase any setdownload you specified to use the default !setline - This is just a troubleshooting command you can use to specify a number manually !stop - Stops the current download, type !Download again to resume !Tor Off - Stops the script from automatically updating its TOR node list !Tor On - Sets the script to download TOR IP's manually (Default is on) !PG Off - Stops the script from automatically updating its PG2 List !PG On - Sets the script to download its PG2 Lists (Default is on)
UPDATE 22nd of November 2009: Fixed a minor issue where it could spam the room when a user entered if an update had failed to complete due to you already having the latest PG2 Blocklist downloaded
UPDATE 21st of November 2009: Update includes TOR Direct Updating, Settings toggles to deactivate TOR updating or PG2 updating, or Both (For whatever reason lol) And it now checks that you have the latest list, if you do it wont update the PG2 list, as it just wastes bandwidth and your time! - It will skip right to TOR updating if this is the case 
UPDATE 14th of November 2009: Just a small update to the HTTP Cache created by Metis so that it doesn't affect updates when within close proximity to each other and also to fix an issue where the /kickban doesn't work on ZCS because it dosent support /kickban <IP> <Minute> it only supports /kickban <IP>
UPDATE 12th of November 2009: Now 10x faster at downloading, includes a usergroup, Automatic updating and tons of other function changes that you may find useful if you are using this script. |
| Code: | <config>
////////////// // Proxy Blocker v0.5 by Pri (This is BETA, please report ANY bugs to PRI!) // v0.2 release fixes minor annoyances in original script, like users being able to start multiple instances of a download, not being able to resume a download if a bot crashes and mid-stance trigger activation when explaining commands to users // v0.2 includes a usergroup put your usernames in it, by default my name is provided so that I can assist you with using the script, feel free to remove it, however DO NOT REMOVE the _bot_Self_trigger_ as it is required for the script to work automatically ////////////// // v0.3 Includes some code to pull down a HTTP Cache size number from mxpulse.com, This is just for performance tweaking at the client side // v0.3 Fixes a bug where ZCS Servers do not support /kickban IP Minute they only support /kickban IP so the script now includes both, The reason it wants to kickban for 60 minutes first is so that your Banlist doesn't get full ////////////// // v0.4 Includes direct TOR updating of proxy IP's and a setting toggle to turn that on/off depending on what the user wants to do. By default it is on ////////////// // v0.5 Just a fix to some spelling and a minor bug that could create a little bit of spam in the room when someone enters ////////////// // Commands Included that you can use: // !Download - Begins a Download of the Proxy Blocklist // !Stop - Stops/Pauses a Download, you can continue a stopped download at any time // !SetDownload - Set an alternative download link for a Blocklist // !ResetDownload - Set the bot to use the default download location for a Blocklist // !SetLine - Tell the bot at which line it should begin downloading from (This is more of a development command but I left it in for troubleshooting) // !Tor Off - Stops the script from automatically updating its TOR node list // !Tor On - Sets the script to download TOR IP's manually (Default is on) // !PG Off - Stops the script from automatically updating its PG2 List // !PG On - Sets the script to download its PG2 Lists (Default is on) //////////////
<usergroup name="proxusers" case="0"> _BOT_SELF_TRIGGER_ * ®ÊN Pri * </usergroup>
<command type="script" usergroup="proxusers"> <in>!setdownload %PARAM%</in> <in>!resetdownload</in> // Check if the command was typed at the start of a sentence, if not break <out type="push" extdata="Prox_CMD_REQ">%TRIGGER%</out> <out type="push" extdata="Prox_CMD_REQ"><operator type="strleft" lvalue="$Prox_CMD_REQ$" rvalue="1"/></out> <out type="break" condition="!_?" lvalue="$Prox_CMD_REQ$" rvalue="!"></out> <out>/opmsg #c10#Proxy Blocker#c63#: #c9#You have set an alternative blocklist to be downloaded from: #c1#%PARAM%</out> <out type="file" extdata="C:\proxy\.Proxy.Settings.ini" mode="t" condition="!_?" lvalue="%TRIGGER%" rvalue="!setdownload">%PARAM%</out> <out type="file" extdata="C:\proxy\.Proxy.Settings.ini" mode="t" condition="_?" lvalue="%TRIGGER%" rvalue="!resetdownload"></out> </command>
<command type="script" usergroup="proxusers"> <in>!stop</in> // Check if the command was typed at the start of a sentence, if not break <out type="push" extdata="Prox_CMD_REQ">%TRIGGER%</out> <out type="push" extdata="Prox_CMD_REQ"><operator type="strleft" lvalue="$Prox_CMD_REQ$" rvalue="5"/></out> <out type="break" condition="!_?" lvalue="$Prox_CMD_REQ$" rvalue="!stop"></out> // Push 0 to Prox_DL_Status, if a Download is happening it will notice the varible change and stop/pause the download <out type="push" extdata="Prox_DL_Status">0</out> </command>
<command type="script" usergroup="proxusers"> <in>!setline %PARAM%</in> // Check if the command was typed at the start of a sentence, if not break <out type="push" extdata="Prox_CMD_REQ">%TRIGGER%</out> <out type="push" extdata="Prox_CMD_REQ"><operator type="strleft" lvalue="$Prox_CMD_REQ$" rvalue="9"/></out> <out type="break" condition="!_?" lvalue="$Prox_CMD_REQ$" rvalue="!setline "></out> // Check that a download is already in progress, if it isnt tell the user they must first begin a download <out type="push" extdata="Prox_DL_Count">%PARAM%</out> <out type="push" extdata="Prox_Previous_Download">%PARAM%</out> <out type="self" condition="!=" lvalue="%USERVAR[Prox_DL_Status]%" rvalue="1">!download</out> </command>
<command type="script" mode="thread" usergroup="proxusers"> <in>!download</in> // Check if the command was typed at the start of a sentence, if not break <out type="push" extdata="Prox_CMD_REQ">%TRIGGER%</out> <out type="push" extdata="Prox_CMD_REQ"><operator type="strleft" lvalue="$Prox_CMD_REQ$" rvalue="9"/></out> <out type="break" condition="!_?" lvalue="$Prox_CMD_REQ$" rvalue="!download"></out> // Check that a download is not already in progress, if it is, block and alert Admins <out condition="==" lvalue="%USERVAR[Prox_DL_Status]%" rvalue="1">/opmsg #c10#Proxy Blocker#c63#: #c9#You cannot start a download as one is already in progress</out> <out type="break" condition="==" lvalue="%USERVAR[Prox_DL_Status]%" rvalue="1"></out> // Check that the scripts folder and settings file has been setup. If it hasn't do it. <out type="push" extdata="Prox_Setup_Check"><operator type="readfile" nvalue="C:\proxy\.proxy.setup.check.ini" lvalue="l" rvalue="1"/></out> <out condition="==" lvalue="$Prox_Setup_Check$" rvalue="" type="exec" extdata="1">cmd.exe /c MD C:\proxy</out> <out condition="==" lvalue="$Prox_Setup_Check$" rvalue="" type="file" extdata="C:\proxy\.proxy.setup.check.ini" mode="t">1</out> // Check if the user has blocked this from happening <out type="push" extdata="Prox_PG_CHECK"><operator type="readfile" nvalue="C:\proxy\.Download.PG2.Or.Not.ini" lvalue="l" rvalue="1"/></out> <out condition="==" lvalue="%USERVAR[Prox_PG_CHECK]%" rvalue="1">/opmsg #c10#Proxy Blocker#c63#: #c9#Downloading of the PG2 Blocklist has been turned off, the script will now skip to the direct TOR update</out> <out type="goto" extdata="51" condition="==" lvalue="%USERVAR[Prox_PG_CHECK]%" rvalue="1"></out> // Read in a file from the folder that holds a previous download count, incase the bot crashed mid-download (This will save having to start from 0) <out type="push" extdata="Prox_Previous_Download" condition="==" lvalue="$Prox_Previous_Download$" rvalue=""><operator type="readfile" nvalue="C:\proxy\.proxy.previous.download.ini" lvalue="l" rvalue="1"/></out> // Set the Prox status for other parts of the code to reference <out type="push" extdata="Prox_DL_Status">1</out> // Check that a previous download wasn't stopped/paused - If it has continue downloading from where it left off <out type="push" extdata="Prox_Previous_Download" condition="==" lvalue="$Prox_Previous_Download$" rvalue="">0</out> <out condition="==" lvalue="%USERVAR[Prox_Previous_Download]%" rvalue="0">/opmsg #c10#Proxy Blocker#c63#: #c9#Updating Database by Downloading the latest Blocklist</out> <out condition="!=" lvalue="%USERVAR[Prox_Previous_Download]%" rvalue="0">/opmsg #c10#Proxy Blocker#c63#: #c9#Continuing update from last known position #c63#(#c62#%USERVAR[Prox_Previous_Download]%#c63#)</out> // Tell the user how they can stop/pause the download <out>/opmsg #c10#Proxy Blocker#c63#: #c9##c9#To Pause the download at any time type #c1#!Stop #c9#You may continue it later by typing #c1#!Download</out> // Push the default download location <out type="push" extdata="Prox_URL">http://www.mxpulse.com/proxy/Auto_Update_Blocklist.p2p</out> // Read in the specified cache size from mxpulse for this list. If no number is present default to 200K <out type="push" extdata="Prox_cache_size"><operator type="readweb" nvalue="http://www.mxpulse.com/proxy/metis_cache/cache.size.ini" lvalue="l" rvalue="1"/></out> // Check that the list on the site is different to the list last downloaded, if its the same then cancel the current download <out type="push" extdata="Prox_Last_Cache_CHECK"><operator type="readfile" nvalue="C:\proxy\.Last.Download.Cache.Size.ini" lvalue="l" rvalue="1"/></out> <out condition="==" lvalue="%USERVAR[Prox_Last_Cache_CHECK]%" rvalue="%USERVAR[Prox_cache_size]%">/opmsg #c10#Proxy Blocker#c63#: #c9#You already have the latest Proxy update, Skipping ahead to the TOR direct Update</out> <out type="goto" extdata="40" condition="==" lvalue="%USERVAR[Prox_Last_Cache_CHECK]%" rvalue="%USERVAR[Prox_cache_size]%"></out> <out type="push" extdata="Prox_cache_size" condition="==" lvalue="%USERVAR[Prox_cache_size]%" rvalue="">200000</out> <out type="push" extdata="Prox_input"><operator type="readweb" nvalue="$Prox_URL$" lvalue="l" rvalue="$Prox_cache_size$"/></out> // Check for a possible alternative download link and alert the user if one is found that it will be used <out type="push" extdata="Prox_Alternative_List"><operator type="readfile" nvalue="C:\proxy\.Proxy.Settings.ini" lvalue="l" rvalue="1"/></out> <out type="push" extdata="Prox_URL" condition="!=" lvalue="%USERVAR[Prox_Alternative_List]%" rvalue="">%USERVAR[Prox_Alternative_List]%</out> <out condition="!=" lvalue="%USERVAR[Prox_Alternative_List]%" rvalue="">/opmsg #c10#Proxy Blocker#c63#: #c9#An alternative blocklist has been set. It will now be downloaded instead of the default one</out> // Set the script up for a new download <out type="push" extdata="Prox_DL_Count">0</out> <out type="push" extdata="Prox_Block_Count">0</out> <out type="push" extdata="Prox_DL_Count" condition="!=" lvalue="%USERVAR[Prox_Previous_Download]%" rvalue="0">%USERVAR[Prox_Previous_Download]%</out> <out type="push" extdata="Prox_DL_Count"><operator type="+" lvalue="%USERVAR[Prox_DL_Count]%" rvalue="1"/></out> <out condition="==" lvalue="%USERVAR[Prox_DL_Status]%" rvalue="0">/opmsg #c10#Proxy Blocker#c63#: #c9#Download stopped @ #c1#%USERVAR[Prox_DL_Count]% #c9#You may continue from where it stopped by typing #c1#!Download</out> <out type="push" extdata="Prox_Previous_Download" condition="==" lvalue="%USERVAR[Prox_DL_Status]%" rvalue="0">%USERVAR[Prox_DL_Count]%</out> <out type="break" condition="==" lvalue="%USERVAR[Prox_DL_Status]%" rvalue="0"></out> // Read in a line from the PG2 list and filter it for saving in the Scripts folder for later retrieval <out type="push" extdata="Prox_input"><operator type="readweb" nvalue="$Prox_URL$" lvalue="l" rvalue="%USERVAR[Prox_DL_Count]%"/></out> <out type="push" extdata="Prox_loc_0007"><operator type="strrfind" lvalue="%USERVAR[Prox_input]%" rvalue="-"/></out> <out type="push" extdata="Prox_loc_0006"><operator type="strright" lvalue="%USERVAR[Prox_input]%" rvalue="$Prox_loc_0007$"/></out> <out type="push" extdata="Prox_loc_0006" condition="==" lvalue="$Prox_loc_0007$" rvalue="-1">Empty</out> <out type="push" extdata="Prox_loc_0007"><operator type="strrfind" lvalue="%USERVAR[Prox_input]%" rvalue="-"/></out> <out type="push" extdata="Prox_loc_0003"><operator type="strleft" lvalue="%USERVAR[Prox_input]%" rvalue="$Prox_loc_0007$"/></out> <out type="push" extdata="Prox_loc_0003" condition="==" lvalue="$Prox_loc_0007$" rvalue="-1">Empty</out> <out type="push" extdata="Prox_loc_0004"><operator type="strrfind" lvalue="$Prox_loc_0003$" rvalue=":"/></out> <out type="push" extdata="Prox_loc_0001"><operator type="strright" lvalue="$Prox_loc_0003$" rvalue="$Prox_loc_0004$"/></out> <out type="push" extdata="Prox_loc_0001" condition="==" lvalue="$Prox_loc_0004$" rvalue="-1"></out> <out type="push" extdata="Prox_loc_0005"><operator type="strrfind" lvalue="$Prox_loc_0003$" rvalue=":"/></out> <out type="push" extdata="Prox_loc_0002"><operator type="strleft" lvalue="$Prox_loc_0003$" rvalue="$Prox_loc_0005$"/></out> <out type="push" extdata="Prox_loc_0002" condition="==" lvalue="$Prox_loc_0005$" rvalue="-1"></out> <out type="push" extdata="Prox_loc_0001"><operator type="strrem" lvalue="$Prox_loc_0001$" rvalue=":"/></out> <out type="push" extdata="Prox_Block_Count">%USERVAR[Prox_DL_Count]%.</out> // Announce to the user the status of the download if it is at 10, 500 or increments of 1000 (Just so they know its actually doing something) <out condition="==" lvalue="%USERVAR[Prox_Block_Count]%" rvalue="10.">/opmsg #c10#Proxy Blocker#c63#: #c9#Downloaded #c1#%USERVAR[Prox_DL_Count]% #c9#IP's thus far and counting... #c63#(#c62#Next Notice at 500#c63#)</out> <out condition="==" lvalue="%USERVAR[Prox_Block_Count]%" rvalue="500.">/opmsg #c10#Proxy Blocker#c63#: #c9#Downloaded #c1#%USERVAR[Prox_DL_Count]% #c9#IP's thus far and counting...#c63#(#c62#Next Notice at 1000#c63#)</out> <out condition="?" lvalue="%USERVAR[Prox_Block_Count]%" rvalue="000.">/opmsg #c10#Proxy Blocker#c63#: #c9#Downloaded #c1#%USERVAR[Prox_DL_Count]% #c9#IP's thus far and counting... #c63#(#c62#Next Notice in 1000#c63#)</out> // Save 1 line from the PG2 list to the scripts folder <out condition="!=" lvalue="%USERVAR[Prox_input]%" rvalue="" type="file" extdata="C:\proxy\%USERVAR[Prox_loc_0001]%.ini" mode="t">%USERVAR[Prox_loc_0002]%</out> // Push the current line to a file incase the bot crashes <out type="file" extdata="C:\proxy\.proxy.previous.download.ini" mode="t">%USERVAR[Prox_DL_Count]%</out> // If the piece of data it read in from the PG2 list wasnt blank then go back 23 lines of code to read in another piece of information, rinse and repeat until every line with data in it is downloaded and processed <out type="goto" extdata="-24" condition="!=" lvalue="%USERVAR[Prox_input]%" rvalue=""></out> // If the script has reached this line then it has read through all the contents of the PG2 blocklist, announce that the download completed and tell the user how many IP's belonging to Proxy Servers are now being blocked <out>/opmsg #c10#Proxy Blocker#c63#: #c9#Downloading of the Proxy List completed successfully. #c1#%USERVAR[Prox_DL_Count]% Proxy Servers are now being blocked</out> <out type="file" extdata="C:\proxy\.Proxy.Status.ini" mode="t">Proxy Blocklist Last Updated: %DATE%\nIP's Blocked: %USERVAR[Prox_DL_Count]%\nLast Update Instigated by: %NAME%</out> <out type="file" extdata="C:\proxy\.proxy.previous.download.ini" mode="t"></out> <out type="push" extdata="Prox_DL_Status">0</out> <out type="push" extdata="Prox_Previous_Download">0</out> // Push the old Cache Size so a repeat download of the same sized list cannot occur <out condition="!=" lvalue="%USERVAR[Prox_cache_size]%" rvalue="" type="file" extdata="C:\proxy\.Last.Download.Cache.Size.ini" mode="t">%USERVAR[Prox_cache_size]%</out> // Check if the user wishes to use TOR to download IP's manually (Default = Yes) <out type="push" extdata="Prox_TOR_CHECK"><operator type="readfile" nvalue="C:\proxy\.Download.From.Tor.Direct.Or.Not.ini" lvalue="l" rvalue="1"/></out> <out condition="==" lvalue="%USERVAR[Prox_TOR_CHECK]%" rvalue="1">/opmsg #c10#Proxy Blocker#c63#: #c9#TOR Direct Updating is off. To turn it on type #c1#!Tor On</out> <out type="push" extdata="Prox_DL_Status" condition="==" lvalue="%USERVAR[Prox_TOR_CHECK]%" rvalue="1">0</out> <out type="break" condition="==" lvalue="%USERVAR[Prox_TOR_CHECK]%" rvalue="1"></out> <out>/opmsg #c10#Proxy Blocker#c63#: #c9#Proxy Blocker will now update its blocked IP's from The Onion Network Directly. Please wait...</out> // Set the Counter to line 3 <out type="push" extdata="Prox_DL_Count">3</out> // Set the TOR Abuse Exit Node URL <out type="push" extdata="Prox_URL">http://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=109.19%RANDOMNUM[9]%.12%RANDOMNUM[9]%.10%RANDOMNUM[9]%</out> // Setup a cache to hold lines 1 to 2000 (The Exit list is normally under 800. 2000 is just a precaution) <out type="push" extdata="Prox_input"><operator type="readweb" nvalue="$Prox_URL$" lvalue="l" rvalue="2000"/></out> // Start reading through the page for the IP's <out type="push" extdata="Prox_DL_Count"><operator type="+" lvalue="%USERVAR[Prox_DL_Count]%" rvalue="1"/></out> <out type="push" extdata="Prox_input"><operator type="readweb" nvalue="$Prox_URL$" lvalue="l" rvalue="%USERVAR[Prox_DL_Count]%"/></out> <out condition="!=" lvalue="%USERVAR[Prox_input]%" rvalue="" type="file" extdata="C:\proxy\%USERVAR[Prox_input]%.ini" mode="t">The Onion Router Proxy</out> <out type="goto" extdata="-3" condition="!=" lvalue="%USERVAR[Prox_input]%" rvalue=""></out> <out>/opmsg #c10#Proxy Blocker#c63#: #c9#The Onion Router #c63#(#c62#TOR#c63#)#c9# Update completed successfully and downloaded #c1#%USERVAR[Prox_DL_Count]% #c9#Proxy IP's</out> <out type="push" extdata="Prox_DL_Status">0</out> <out type="push" extdata="Prox_Previous_Download">0</out> <out type="file" extdata="C:\proxy\.Proxy.Status.ini" mode="t">Proxy Blocklist Last Updated: %DATE%\nIP's Blocked: %USERVAR[Prox_DL_Count]%\nLast Update Instigated by: %NAME%</out> </command>
<command type="script" usergroup="proxusers"> <in>!tor off</in> <in>!tor on</in> // Check if the command was typed at the start of a sentence, if not break <out type="push" extdata="Prox_CMD_REQ">%TRIGGER%</out> <out type="push" extdata="Prox_CMD_REQ"><operator type="strleft" lvalue="$Prox_CMD_REQ$" rvalue="6"/></out> <out type="break" condition="!_?" lvalue="$Prox_CMD_REQ$" rvalue="!tor o"></out> // Process which command the user typed <out type="file" mode="t" condition="_?" lvalue="%TRIGGER%" rvalue="on" extdata="C:\proxy\.Download.From.Tor.Direct.Or.Not.ini">0</out> <out type="file" mode="t" condition="_?" lvalue="%TRIGGER%" rvalue="off" extdata="C:\proxy\.Download.From.Tor.Direct.Or.Not.ini">1</out> <out condition="_?" lvalue="%TRIGGER%" rvalue="off">/opmsg #c10#Proxy Blocker#c63#: #c9#The #c63#"#c1#TOR Automatic Updater#c63#"#c9# has been turned #c8#OFF</out> <out condition="_?" lvalue="%TRIGGER%" rvalue="off">/opmsg #c10#Proxy Blocker#c63#: #c62#When this Setting is Off the Bot will Not automatically download a list of TOR Exit Nodes #c63#(#c1#Proxy Servers#c63#)</out> <out condition="_?" lvalue="%TRIGGER%" rvalue="on">/opmsg #c10#Proxy Blocker#c63#: #c9#The #c63#"#c1#TOR Automatic Updater#c63#"#c9# has been turned #c4#ON</out> <out condition="_?" lvalue="%TRIGGER%" rvalue="on">/opmsg #c10#Proxy Blocker#c63#: #c62#When this Setting is On the Bot will automatically download a list of TOR Exit Nodes #c63#(#c1#Proxy Servers#c63#)</out> </command>
<command type="script" usergroup="proxusers"> <in>!PG off</in> <in>!PG on</in> // Check if the command was typed at the start of a sentence, if not break <out type="push" extdata="Prox_CMD_REQ">%TRIGGER%</out> <out type="push" extdata="Prox_CMD_REQ"><operator type="strleft" lvalue="$Prox_CMD_REQ$" rvalue="5"/></out> <out type="break" condition="!_?" lvalue="$Prox_CMD_REQ$" rvalue="!PG o"></out> // Process which command the user typed <out type="file" mode="t" condition="_?" lvalue="%TRIGGER%" rvalue="on" extdata="C:\proxy\.Download.PG2.Or.Not.ini">0</out> <out type="file" mode="t" condition="_?" lvalue="%TRIGGER%" rvalue="off" extdata="C:\proxy\.Download.PG2.Or.Not.ini">1</out> <out condition="_?" lvalue="%TRIGGER%" rvalue="off">/opmsg #c10#Proxy Blocker#c63#: #c9#The #c63#"#c1#Peer Guardian 2 Updater#c63#"#c9# has been turned #c8#OFF</out> <out condition="_?" lvalue="%TRIGGER%" rvalue="off">/opmsg #c10#Proxy Blocker#c63#: #c62#When this Setting is Off the Bot will Not download the Peer Guardian 2 Blocklist file</out> <out condition="_?" lvalue="%TRIGGER%" rvalue="on">/opmsg #c10#Proxy Blocker#c63#: #c9#The #c63#"#c1#Peer Guardian 2 Updater#c63#"#c9# has been turned #c4#ON</out> <out condition="_?" lvalue="%TRIGGER%" rvalue="on">/opmsg #c10#Proxy Blocker#c63#: #c62#When this Setting is On the Bot will download the Peer Guardian 2 Blocklist file</out> </command>
<OnEnter type="script"> // Check if this users IP is present in the current Blocklist, if found Kickban for 60 minutes and alert admins <out type="push" extdata="Prox_Check"><operator type="readfile" nvalue="C:\proxy\%IP%.ini" lvalue="l" rvalue="1"/></out> <out condition="!=" lvalue="%USERVAR[Prox_Check]%" rvalue="">/kickban %IP% 60</out> <out condition="!=" lvalue="%USERVAR[Prox_Check]%" rvalue="">/kickban %IP%</out> <out condition="!=" lvalue="%USERVAR[Prox_Check]%" rvalue="">/kickban %RAWNAME%</out> <out condition="!=" lvalue="%USERVAR[Prox_Check]%" rvalue="">/opmsg %NAME% is using a Proxy and has had their IP banned for 60 Minutes. #c63#(#c62#%USERVAR[Prox_Check]%#c63#)</out> // If a download is happening right now then skip all this stuff below <out type="break" condition="==" lvalue="%USERVAR[Prox_DL_Status]%" rvalue="1"></out> // Check if a download of the Blocklist has been performed today <out type="push" extdata="Prox_Last_Update"><operator type="readfile" nvalue="C:\proxy\.Proxy.Status.ini" lvalue="l" rvalue="1"/></out> <out condition="!?" lvalue="%USERVAR[Prox_Last_Update]%" rvalue="%DATE%">/opmsg #c10#Proxy Blocker#c63#: #c9#An update has not yet been performed today so one will now be attempted automatically.</out> <out type="self" condition="!?" lvalue="%USERVAR[Prox_Last_Update]%" rvalue="%DATE%">!download</out> </OnEnter> </config> |
Thanks Pri
Last edited by Max™ on Sun Nov 22, 2009 7:15 pm; edited 1 time in total (Reason for editing : updated) |
|