- Required SinusBot Version
- 1.0
- Compatible Backends
-
- TeamSpeak 3
Please read this presentation page carefully 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 people from using a lousy 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 won't be able to!
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: To run this script, the bot identity/group must have the permissions listed below.
All the needed permissions:
- b_virtualserver_info_view
- b_client_ignore_antiflood
- b_virtualserver_channel_list
- b_virtualserver_client_list
- b_virtualserver_client_search
- b_virtualserver_client_dblist
- b_virtualserver_client_dbsearch
- b_virtualserver_client_dbinfo
- b_virtualserver_custom_search
- b_client_info_view
- b_client_remoteaddress_view
- i_group_member_add_power
- Perms and Power to send text messages or pokes to admins or higher roles.
Easy way setup: Set to the bot client the Admin group and check that it has all the permissions.
How it works:
The script behind this anti proxy system has a simple but complete life cycle. The external web API that is used to check if an IP is a proxy or not is very complex and does the works incredibly well (more about it later).
When a user connects to the server and his IP address 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 Address 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 for detecting 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 high-speed, scalable and reliable system behind it and it focuses 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 symbolic 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 fantastic 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 thing 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/luigimrt
If you want to read more about an API key please refer to this link or contact me: https://www.xdefcon.com/anti-proxy-api-key/
Commands & Permissions:
The following are the commands that you can execute directly in private chat with the bot that is running AntiProxy:
- !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.
- Others.
- !antiproxy purgecache - Cleans the local IP cache.
- !antiproxy checkall - Executes a check on all online clients.
- !antiproxy whitelist <ipaddress> - Add the specified IP to the whitelist temporarily.
API Data Privacy:
The API collects IP addresses only for the purpose of 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.