• If you need help or want to discuss things, you now can also join us on our Discord Server!
  • A first preview of the unlimited version of SinusBot can be found in the Upcoming Changes thread. A version for Windows will follow, but we don't have a release date, yet.
AntiProxy [Block Proxies/VPNs] Say goodbye to ban evading

TS3 AntiProxy [Block Proxies/VPNs] Say goodbye to ban evading 2.6

No permission to download
Required SinusBot Version
Compatible Backends
  1. TeamSpeak 3

Please read this presentation page carefully to understand the capabilities of this resource.

Script Description:
(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.
In 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. 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:

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.
In order to run commands, you need to set your Client UID (Unique ID) in the Admin UIDs section in the configuration page or add the server group ID you want to be considered as Admin.

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.

First release
Last update
4.63 star(s) 46 ratings

More resources from xDefcon

Latest updates

  1. v2.6 - Change http requests timeout

    Changelog: Increased the Http requests timeout as it was too low and could lead to failed...
  2. v2.5 - Correct IPv6 parsing

    Changelog: When clients connect via IPv6, Sinusbot (or TS) adds square brackets to it, so the...
  3. v2.4 - Minor fix

    This is a minor update, no need to update urgently. Changelog: Fixed a null reference in the...

Latest reviews

The best antiproxy i ever used ;) THX. Donation left
I haven't checked the review section in a while, so I'm sorry for the late reply. Thank you!
Featured, pretty deep and detects my random VPN service.
I appreciate the fact that the developer listed the certain permissions that are needed.
Keep up!
I really like the script and it works really well on my server. The only thing I would like is a little delay in the kick, as the users don't get any notification.
Please add the support to proxycheck.io is more better and configurabile proxy than your one, please ^^
I think it should be really easy to implement other proxy detection APIs. The plugin is open source on GitHub, you can simply change the API URL and the response check if you want :) Send me a PM if you need some help.
What a good antivpn, really great great job.

I was looking for a solution because people came to advertise permanently on my server but now it's ancient history.

Thank you so much
Awesome script, been using it since it's out ;)
I've got a suggestion... It would be nice that when the "setgroup" is the punishement once the user reconnect without a VPN, it removes automatically the setgroup.
Our clients requested this script and they absolutely love it.
Grande mucca bello script
Haha, grazie!
Love it!
A must have, thank you!