Please read carefully this presentation page to understand the capabilities of this resource.
BUGS & FEATURE SUGGESTIONS? DO THEM ON THE GITHUB REPOSITORY (Create new issue).
AntiProxy (or Anti Proxy) is an advanced SinusBot script that detects and blocks a user that is using a Proxy or a VPN to connect to your server. AntiProxy uses a custom-made external API to detect if an IP is a Proxy or not. The external API is fast, reliable and uniquely built to prevent users to use a bad IP to connect and spam your users.
With this script trolls and spammers will become the last problem for your TeamSpeak server, you ban them, they use a VPN or a proxy to reconnect and they can not!
Installation & Usage:
To install the script, drop the .js file into "scripts" folder, then restart your bot. After restarting, activate and configure the script in the "scripts" section of the web interface.
IMPORTANT: In order to run this script, the bot identity/group must have b_client_ignore_antiflood permission and proper permissions to read clients' IP address and send chat messages to admins.
At the end, an internet connection is required to contact the API for proxy detection.
How it works:
The script behind this anti proxy system has a simple but complete life cycle. Anyways the external web API, that is used to check if an IP is a proxy or not, it's very complex and does it works incredibly well (more about it later).
When a user connects to the server and his IP is available for reading by the bot, the script will check if it is a clean one by sending an HTTP(S) request to the API and waiting for a response.
The given response, that contains if that IP is a proxy or not, will be saved locally in the IP Cache in order to prevent that IP to be checked again consuming an API request to get the same result, and in order to compensate a (really rare) API downtime or a rate limit exceeding (more about it later).
The local IP Cache is automatically purged every 24 hours to allow updates on IPs and to get new reliable data.
External API, Limits & Reliability:
The external Web API that is responsible to detect proxies and VPNs is something I spent a lot of time and knowledge in it, with many years of experience in this sector.
It has a really fast, scalable and reliable system behind it and it is focused on the traffic that common TeamSpeak 3 servers receive.
The API is running redundantly behind 2 master servers that will provide the service also if one of them fails and behind a global CDN (Content Delivery Network) to reduce access time and provide a 100% stable service.
The system is built to handle a lot of traffic and requests per second, anyways I had to set a figurative limit to prevent abuses.
The API is limited to a maximum of 150 requests every hour per IP. This will usually mean that if you have a server with less than 150 users you will get this amazing service for free. If you exceed this limit the script will continue to work with the local cached addresses until the next rate-limit reset (after 1 hour)!
If you have a bigger server, or you are exceeding this limit, you can consider contacting me via e-mail at [email protected] or via Private Message here on this forum @xDefcon and considering a really small donation to have an API key to access to whatever requests you need, as said before, the API is built to support a lot, lot of requests per second.
This API is personally one of the best you can find on the web for free. If you consider the small donation to have almost unlimited access to it, you can understand that there is no similar service for that price available out there.
The earnings from the donations will be used only to reduce the cost I have to keep running this service, thank you!
You can donate here if you want: paypal.me/xDefcon
Commands & Permissions:
The following are the commands that you can execute directly in private chat with the bot that is running AntiProxy:
- !antiproxy enable - Enables the anti proxy system.
- !antiproxy disable - Disables the anti proxy system.
- !antiproxy info - Collects some information about the script such as:
- Running time.
- The last client detected using a proxy/VPN.
- Requests to the API.
- Size of the local IP cache.
- The total amount of IP addresses checked.
- !antiproxy purgecache - Cleans the local IP cache.
- !antiproxy checkall - Executes a check on all online clients.
API Data Privacy:
The API collects IP addresses only for the purpose to determine if they are a proxy or not. This data will not be shared with any third party and there is no connection between an IP and a Client sensitive information such as Nickname or other things. The clean IP addresses (those who are not considered a proxy) are cached temporarily by the API.