Polymart is now Voxel Shop! We're upgrading many features of the site, and during this open beta you will experience occasional bugs. Learn more
#1 AntiVPN Plugin - Powerful AntiVPN for your server.
β About licenses:
After bought this plugin, see how to get a key and how works this in: Activate Plus. If you already has a key, set it in the main configuration file. The license request may take some hours.
β‘οΈ FoxGate (formerly, FoxAntiVPN) is a powerful tool designed to protect your Minecraft server from unwanted visitors using VPNs. This plugin prevents players from bypass ip bans by allowing server owners to detect and block VPN's, Proxy's and more. This plugin connects to a configurable list of services which detect VPN's without any hassel. This plugin is extremely hard to bypass. With numerous APIs working together, bypassing this AntiVPN is very difficult. The more services you enable, the harder it becomes for users to evade detection. Currently supporting Spigot + Forks, BungeeCord + Forks, Velocity + Forks, FOLIA + Forks, Nukkit/PowerNukkitX + Forks and WaterdogPE.
Features:
Β
Β
Β
AND...
Why Plus (formerly, Premium)?
FoxGate was created to compete with other anti-VPN plugins. The goal was to develop an anti-VPN solution that is faster, highly customizable, and compatible with a wide range of servers, versions, and software. The free version of FoxGate already includes numerous features essential for most servers. However, some users want additional functionalities, such as Discord Webhook integration and other advanced options. To meet these demands, a PlusΒ version was developed, maintaining the optimized core functionalities while introducing essential new features.
# ___ _ _
# / (_)___ ___ ___ _ __ __| |
# / /\ / / __|/ __/ _ \| '__/ _` |
# / /_//| \__ \ (_| (_) | | | (_| |
# /___,' __|___/____\___/|_| \__,_| _
# / / /\ \ \___| |__ | |__ ___ ___ | | __
# \ \/ \/ / _ \ '_ \| '_ \ / _ \ / _ \| |/ /
# \ /\ / __/ |_) | | | | (_) | (_) | <
# \/ \/ \___|_.__/|_| |_|\___/ \___/|_|\_\
#
# Manage the usage of Discord Webhooks for sending
# notifications to discord.
# If the player get scanned, the result will be sended
# to a private channel using Webhooks in Discord. Useful
# for monitoring.
#
# π Learn more about Discord Webhooks:
# π https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks
#
# π© Supported placeholders for this section:
# - {NAME} - Returns the player's name.
# - {IP} - Returns the player's IP.
# - {UUID} - Returns the player's UUID. (BungeeCord doesn't support this)
# - {DETECTED} - Return only the services that detected a VPN with an IP.
# - {UNDETECTED} - Return only the services that didn't detect a VPN with an IP.
# - {LIST} - Return both lists.
# - {MAX} - Return the maximum number of flags required to deny access to a player.
# - {COUNT_DETECTED} - Return the number of services that a player's IP has been detected with.
# - {COUNT_UNDETECTED} - Return the number of services that a player's IP hasn't been detected with.
# - {ISP} - Returns the ISP of the IP, (in case it's cached/IP), from ISP module.
# - {HOSTNAME} - Returns the Hostname of the IP, (in case it's cached/IP), from ISP Module.
# - {GEO_COUNTRY} - Returns the player's country. (Only works with premium version).
# - {GEO_ASN} - Return the player's ASN (Only works with premium version).
#
# β Has questions? Join to the discord server:
# - https://discord.zowi.gay/
# - https://discord.idcteam.xyz/
# Message when the player was allowed to connect.
allowed:
# Enable this webhook?
enable: true
# Determine the URL of webhook to send.
# - See the documentation of Discord in how create a
# webhook.
webhook: ''
# Username to show.
# - Determine here a custom username for the webhook.
username: 'FoxGate: High Quality AntiVPN'
# Username to show.
# - Determine here a custom avatar for the webhook.
avatar: https://i.imgur.com/86T0cIF.png
# Determine here the content in the message.
# Set "" to disable the content.
content: ''
# Determine here the title of the embed.
# Set "" to disable the title or url.
title:
text: An IP was verified by FoxGate.
url: https://modrinth.com/plugin/foxgate
# Determine here the description of the embed.
# Set "" to disable the description.
description: ''
# Show thumbnail in the embed.
# Set "" to disable the content.
thumbnail: https://api.creepernation.net/avatar/{UUID}
# Add fields.
# Use {} or remove to disable.
fields:
'1':
name: User
description: '`{NAME}`'
inline: true
'2':
name: IP
description: '`{IP}`'
inline: true
'3':
name: Count
description: '`{COUNT_DETECTED}`/`{MAX}`'
inline: true
'4':
name: Detected ({COUNT_DETECTED})
description: '`{DETECTED}`'
inline: true
'5':
name: Undetected ({COUNT_UNDETECTED})
description: '`{UNDETECTED}`'
inline: true
'6':
name: Country & ASN
description: '`{GEO_COUNTRY}`/`{GEO_ASN}`'
inline: true
# Determine here the color in decimal.
color: 5793266
# Determine the footer to use.
footer:
text: Powered by FoxGate
icon: https://i.imgur.com/86T0cIF.png
... and the rest modules are similar too ...Β
Β
# π Manage the access for Countries.
# - Use ISO code for this system, view all ISO codes in
# the list: [A-2]
# https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
country:
# Bypass detections of FoxGate.
bypass:
# π© Add the list of ISO codes allowed for bypass detections
# of VPN in FoxGate. Use the value "[]" to disable, like:
#
# list: []
#
# π Example of this configuration.
#
# list:
# - AR
# - BR
# - MX
# - ES
# - VE
list:
- AR
# π€ Blacklist the bypass to these name's.
blacklist_name:
- ImZowi
- ImLowiii
- SirSpaceness
# π€ Blacklist the bypass to these IP's.
blacklist_ip:
- 127.0.0.1
# Whitelist/blacklist connections from X countries.
# The player is blocked from joining but the IP doesn't get verified!
blocker:
# π§° Define the type of usage to this list.
# - 'whitelist': Allow the access to certain countries.
# - 'blacklist': Deny the access in certain countries.
type: blacklist
# π Add the list of ISO codes for block/allow connections
# to the server. Use the value "[]" to disable, like:
#
# list: []
list:
- PK
- IR
- DZ
# π§© Add the connections to the database for prevent joining
# in X amount of time? This is useful if you want deny
# connections of bots in certain countries.
#
# "The player is blocked from joining but the IP doesn't get checked!"
# In this case, FoxGate add's the player to the database like it's
# "Blocked", but doesn't save services detected, because the player
# isn't scanned for VPN/Proxy.
database:
# Enable this feature?
enable: true
# Time (in hours) to store user in database.
time: 2
# π€ Whitelist the detection to this name's.
whitelist_name:
- ImZowi
- ImLowiii
# π€ Whitelist the detection to this IP's.
whitelist_ip:
- 127.0.0.1
# π© Actions to make when is detected.
# - Use this to kick with the plugin instantly:
# - 'kick'
# - Or add your custom command:
# - 'ipban {IP} The country is currently banned.'
#
# Disable this feature by leaving the list empty.
actions:
- kick
# π‘ Manage the access for ASN's.
# - Use ASN system for this part, you can get ASN from an
# IP with the link:
# https://www.ipvoid.com/ip-to-asn/
#
# π§© Example:
# '1.1.1.1' (Cloudflare) is: 'AS13335'
# Use the number for this list: '13335'
asn:
# Bypass detections of FoxGate.
bypass:
# π© Add the list of ASN's allowed for bypass detections
# of VPN in FoxGate. Use the value "[]" to disable, like:
#
# list: []
#
# π Example of this configuration.
#
# list:
# - 13335
# - 15169
list:
- '13335'
# π€ Blacklist the bypass to these name's.
blacklist_name:
- ImZowi
- ImLowiii
- SirSpaceness
# π€ Blacklist the bypass to these IP's.
blacklist_ip:
- 127.0.0.1
# Whitelist/blacklist connections from X countries.
# The player is blocked from joining but the IP doesn't get verified!
blocker:
# π§° Define the type of usage to this list.
# - 'whitelist': Allow the access to certain ASN's.
# - 'blacklist': Deny the access in certain ASN's.
type: blacklist
# π Add the list of ASN's for block/allow connections
# to the server. Use the value "[]" to disable, like:
#
# list: []
list: [
]
# β¨ Download known malicious ASN's list.
# - Uses Zowi's Central for download a list of known
# malicious ASN's for blocking, available only for
# buyers and original plugin.
#
# π Note: You can report for add a malicious or removing
# a false flagged ASN. Some ISP's blocked in this
# feature, are for bad reputation or for providing
# hosting/VPN.
known:
# π© Enable this feature?
enable: true
# β Time (in hours) to scanning for downloading new
# information about known ASN's list.
# - Buyers can help in report known malicious ASN's and
# save in a list, which everyone with Premium Edition can
# download and prevent more VPN's, Bot's, and others stuff.
#
# β‘ Use 'DISABLE' for disable the update.
time: '2'
# π Include all suspecious ISPs?
# - This option will includes some suspecious ISPs for
# VPNs, Tor, Proxies and others, useful for making strict
# detections but can make false flags. This feature
# works with 'excluded' option.
#
# π Note: Ask to our discord server for the list in case
# you want only block specifies.
suspecious_isps: false
# π§° External provider.
# - Use this option in case you want use another external
# list of ASNs. The plugin tries to handle it and update
# it.
# β Requeriments:
# - Needs to be a JSON(5) format.
# - Needs to be HTTPS always.
# - Needs to return file size in header (avoid issues, If isn't raw).
# - Needs to return status 200.
# - Needs to be a dowloadable file in output (If isn't raw).
# - Needs to be a array-json format only.
#
# π Note: Supports JSON5, but requires to be a JSON format,
# without a JSON5 feature (plugin uses Gson for load and cache).
# β‘ https://discord.zowi.gay/
provider:
# π Enable this feature?
# - This feature will break options like 'suspeciois_isps'
# and in case you bought Extended ASN List, this doesn't
# will be applied. All options mentioned before, are only
# available in the original provider, using another provider
# only will be used their content of ASN List.
#
# β Warning: FoxGate will try to remove important data from the
# headers while using this option for prevent malicious actors,
# it's always recommended use original provider. USE THIS AT YOUR
# RISK WHILE USING THIS IN UNTRUSTED SOURCES!
enabled: false
# π URL to get the downloadable/raw file.
# - Follow all requeriments attached above first
# for enabling provider. Leaving this empty will
# make the feature non-functional.
url: ''
# πΌ Exclude ASN's from the known list in case one
# give's false flags to you.
#
# π Note: You can request for removing in case it's
# a false flag.
excluded: [
]
# π§© Add the connections to the database for prevent joining
# in X amount of time? This is useful if you want deny
# connections of bots in certain ASN's.
#
# "The player is blocked from joining but the IP doesn't get checked!"
# In this case, FoxGate add's the player to the database like it's
# "Blocked", but doesn't save services detected, because the player
# isn't scanned for VPN/Proxy.
database:
# Enable this feature?
enable: true
# Time (in hours) to store user in database.
time: 2
# π€ Whitelist the detection to this name's.
whitelist_name:
- ImZowi
- ImLowiii
# π€ Whitelist the detection to this IP's.
whitelist_ip:
- 127.0.0.1
# π© Actions to make when is detected.
# - Use this to kick with the plugin instantly:
# - 'kick'
# - Or add your custom command:
# - 'ipban {IP} The ASN is currently banned.'
#
# Disable this feature by leaving the list empty.
actions:
- kickΒ
Β
Β
Services available in the default config.
β Do these services in the config works correctly?
The list of services in the default config have all been tested at least once. You can still configure each services values as well as edit or add more services (like in the example above). Services may not always function due to issues on their end or because of how they where added to the config.
Some services are disabled by default because they require an API key to function. However, thirteen of these services work without a key and are enabled by default, providing basic VPN and proxy detection right away. To maximize protection against VPNs, proxies, and other threats, it is recommended to obtain API keys for the remaining services. Doing so will enhance the accuracy and effectiveness of detection.
See more about these services in our wiki in GitHub.
Β
β Want to know how to configure these services?
Check the configuration section below for examples and templates. When a player is detected using a VPN or proxy, the plugin automatically stores this information in a database. This prevents repeated API requests for the same IP address for a configurable number of hours, reducing unnecessary API calls and improving efficiency.
By using both services that are enabled-by-default and those that require API keys, you can create a robust detection system that effectively identifies and blocks VPN, proxy, and other undesired connections. See more information in the documentation section.
Statistics.
β What data is collected?
We are using bStats, this does not collect any personal data. Most of the collected data is information about the plugin's server like player count, online mode, Minecraft version, Java version, and more. All data gets sent and stored completely anonymously. See more in information about this in bStats: Getting Started.
This stats are collected by bStats.org, the information under are shared with the PlusΒ version, which is identified as "-pv" in version of the plugin, this can help to the creator to view some statistics without taking some performance. Read quote about the data collected, you can always disable the collection in our config.yml available in the plugin's folder. Since 1.0.2 (plus) and 1.1.0 (free), FoxGate uses their own code base for Metrics, but following their rules.
This use asynchronous methods to send data and changes to Gson for better stability; improving the performance of this. You can safety has enable this to help to the creator without affecting the performance.
Β
Links.