FoxGate The #1 AntiVPN Plugin from the market. "It's time to limit your server to legitimate and real traffic."
We sincerely
thank our loyal users for their trust and continued support.
FoxGate will keep improving every day to provide an even better experience.
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,
WaterdogPE and
Hytale.
Features:
SupportsdifferenttypesofdatabaseswithHikariCPConnection. Allows to the user chooise their best option for storing data. Available options:
MySQL, MariaDB,
PostgreSQL,
H2,
SQLite,
Jaybird and
Custom (in case you want to use any other local/remote database).
# ⚙ Determine the type of DataBase will be used. # - Available options in type. # All options use HikariCP for better performance. # # |=> MySQL # |=> MariaDB # |=> PostgreSQL # |=> SQLite (COULD CAUSE ISSUES IN OLDER VERSIONS!) # |=> H2 # |=> JayBird # |=> Custom # # ----------------------------------------------------------------------------- # Type | Stability | Performance | Support | Popularity | Concurrence | # ----------------------------------------------------------------------------- # MariaDB | 4⭐ | 4⭐ | 5⭐ | 5⭐ | 5⭐ # MySQL | 4⭐ | 4⭐ | 5⭐ | 5⭐ | 4⭐ # PostgreSQL | 5⭐ | 5⭐ | 4⭐ | 3⭐ | 5⭐ # SQLite | 1⭐ | 3⭐ | 3⭐ | 2⭐ | 4⭐ # H2 | 2⭐ | 4⭐ | 3⭐ | 2⭐ | 1⭐ # Jaybird | 2⭐ | 2⭐ | 1⭐ | 1⭐ | 1⭐ # # Note: In case you change this configuration and your server is # already started, use the command "/foxgate db reconnect" to restart # your database without restarting plugin or server. Always remember do # "/foxgate reload" before using this command to apply. type: H2
# Set the table's name inside the DataBase. # - Modify in case you want mantain older stats while using another # new. This can also help in case a conflict occurrs. # # Note: If you want restore older stats used in Older versions # of FoxGate (1.0.5-pre4 or older), use the next: # - 'vpn_cache' table: foxgate
# Save the cache inside the database instead of a file? # - Use this only if you want to use multi-proxy or you're sure # this will don't cause problems with your database. # # Note: Custom databases are partially supported in this feature. cache_database: false
# Enable whitelist based in DataBase? # - Set this feature to enabled in case you want to save # whitelist IP's/names in a database instead of a file. # Extremely recommended for Multi-Proxy. # # Note: Custom databases are partially supported in this feature. whitelist_database: false
The plugin is
tryingtosupportalltypesofsoftwarewithanyversionofMinecraft, since
1.3.x; all softwares, can
probably works correctly with this plugin, because this
already download their own libraries for avoid any type of problems. Now supporting
Nukkit,
PowerNukkitX and
WaterdogPE, bedrock softwares.
Customizethemessageshowyouwant! This plugins supports
MiniMessage and
Legacy colors in all versions; also the
configuration it's too extended for an extremely customization in base of your needs!
Downloads
theirlibrariesautomaticallywhenstartingforaddingmoreoptionsavailableforyou! Every update, the libraries get downloaded and
automatically updates for you to mantain always up-to-day in functions and fixes vulnerabilities.
The
defaultconfigissetuptoblockmostVPN's, although you can
add a custom service or
modify existing services in the config. The plugin was made for support multi-services for detection, and for it, we provide a lot of tools for you:
Send requests withHeaders,
Condition systems for Flag/Bypass (ignore detection) and
custom VLs per service (for add VLs to reach maxFlags).
Code (YAML):
# __ _ # / _\ ___ _ ____ _(_) ___ ___ ___ # \ \ / _ | '__\ \ / | |/ __/ _ / __| # _\ | __| | \ V /| | (_| __\__ \ # \__/\___|_| \_/ |_|\___\___|___/ # # The configuration is generated with our File Manager, # which overrides the real comments. See the description of # every available services in our GitHub repository of # issues and wiki. # # GitHub: # https://github.com/IDCTeam-Group/FoxGate-Issues/wiki/Services # # Note: Use 'Ctrl+F' to search the service, and put the file # name for search more easy. ^^
# Enable this service? enabled: true
# Add this field in case require key. # - This is used for '{KEY}' variable in the # headers or URL fields. key: ''
# The plugin should output errors though # the console? # - Enable this option if you want get output # in case a service give errors in the console. # Useful for debug responses while debugging it's # disabled. # # Note: This only works in certain scenearies, like # an API returning 'nullable' value or another. output_errors: true
# Model of the response. # - Add the model to handle the response of # the API. Check the response type and set one # correctly for making this works properly. # # Supported values: # - HTML # - JSON # - CONTAINS model: JSON
# Flags to add when it's detected in this service. # - Option for add more VLs to reach the maxFlags # in each services. Useful if you trust in a service # and want make it count more VLs. vls: '2'
# URL of the API. # - This field is important, insert the URL of # the service for response. # # Supported placeholders: # - {IP} - Return the player's IP. # - {KEY} - Return 'key' field value. url: https://central.zowi.gay/check/
{IP
} # ⛓ Headers to use. # - Set custom headers in case it's required. # The values can be in List or Map. # # Note: Set to '[]' or '{}' to disable. headers: { }
# Values to check. values:
# Fields to check. # - Disable the fields to check with using # the value '{}'. If you exclude this value, # field 'type' will check if the final # response contains that value. fields: - malicious
# Type to determine. # - Determine which value needs to determine # if the connection it's a VPN/Proxy or another, # this will check for a String. # # Note: Use 'boolean' for check for any boolean # boolean, like: 'true'/'false' or '0'/'1'. type: boolean
# Custom conditions to determine bypass or detection logic. # - These conditions allow advanced control based on fields from the # API response. # # Structure: # - Each key (e.g. '1', '2', etc.) holds a list of conditions. # - Each list works with AND logic (all conditions must match). # - Multiple keys result in OR logic (at least one group must match). # # Syntax: # - Use {field} to refer to response fields (e.g. {score}). # - Supported operators: '=', '!=', '>', '>=', '<', '<='. # - Values can be strings (true/false) or numbers. # # Note: This feature only works in 'JSON' and 'HTML' type, # and for make this works in HTML, always use '{foxgate_check}' for # use field (only exists this in HTML). conditions:
# Conditions for Bypass # - If any group of conditions here matches, the player will be # ignored (not flagged). Use this for trusted connections like mobile # users or low score in risk/fraud. # # Note: Disable this condition with 'bypass: {}'. bypass: { }
# Conditions for Flag. # - If any group of conditions here matches, the player will # be flagged (detected). Useful for detecting based on high # risk/fraud score, known abuse, etc. # # Note: Disable this condition with 'flag: {}'. flag: { }
ViewaltsfromacertainIPwithonecommand! See and check any IP to verify all accounts cached their last connection,
providing to you exactly data and
totally configurable message for you.
LimitthemaxiumconnectionsperIPtopreventplayerswithalotofaccountssimultaneousorbotsinyourserver. You can
change the limit,
enable/
disable feature and
change the kick message, using our
IPLimiter module for making that detection, also, can works based in time, useful for specific scenaries.
Code (YAML):
# _____ ___ __ _ _ _ # \_ \/ _ \/ /(_)_ __ ___ (_| |_ ___ _ __ # / /\/ /_)/ / | | '_ ` _ \| | __/ _ | '__| # /\/ /_/ ___/ /__| | | | | | | | || __| | # \____/\/ \____|_|_| |_| |_|_|\__\___|_| # # Limit maximum connections per IP to avoid multi-accounts # or bots. # When a player join, this start a count in their IP, where # a new connection in the IP it's 1 point more, and if # that IP reachs a certain amount of points, the connection # will be denied. But, if the player leave the server, the IP # discount 1 point. # # Note: This feature it's experimental and could be unstable # in some cases, try using this with precaution. Every update, # this tries to be more stable while tries to be optimized. # # ❓ Has questions? Join to the discord server: # - https://discord.zowi.gay/ # - https://discord.idcteam.xyz/
# Enable this feature? enable: true
# Determine the maximum limit of points per # IP to start blocking coming new connections # from that IP. # - Avoid using a low value, because exists rare # cases where an user joins with a duplicate IP # in the same city from same provider of ISP. # # ⭐ Recommended: 3 maximum: 3
# ⏳ Base in time. # - When enabled, the IP counter will automatically reset # after the specified time period. This prevents permanent # IP blocks and allows users from the same network # (like family, school, or workplace) to join again # after the time expires. # # With '30m' and maximum=3: If 3 players from the same # IP join within 30 minutes, the 4th will be blocked. # After 30 minutes, the counter resets to 0. # If the module it's disabled, the counter never resets # automatically, only will allow if one player leaves the # server, this discount 1 from the counter and the 4th # can enter. # # ⭐ Recommended: 30m # Note: Use 'DISABLE' for disable this feature. time: DISABLE
AND...
The plugin hasminimalperformanceimpact due to it running asynchronously and in parallel.
Debug the things that FoxGate does for transparency and check what returns the API when a user/ip is scanned with FoxGate.
Filter all messages of disconnection when is made by FoxGate. This don't hide messages that aren't made by the plugin, supporting multi-platform. (This was a previously feature of FoxGate Plus Edition, passed to Free Edition)
Blacklist or Bypass specific ISP (Internet Service Provider) that you want with our ISP Module using IPInfo service. It's free and faster in FoxGate!
FoxGate supports auto-update configuration and multi-language, you can contribute in translate our plugin in our GitHub repository!
Supported IPv4 and IPv6 on their commands, services and modules.
Use your server software firewall for blocking instead of a disconnect message. If you're using a supported server's software (Flamecord, VeloFlame, ...), you can use their module of firewall for blocking instead of using server events.
Easy to fix a false flag. You can use Custom VLs per service, remove a wrongly flagged ASN, hostname, using conditions system per service or increase the maximum flags to kick player. You can join to our discord support for ask a great configuration in base of your amount of services and module settings.
Perfect detection. The plugin contains a lot of modules for detect any type of malicious actors, modules like ISPFilter, GeoLocation, IPRange and Services. Also, our new IPRange system with new structure, allows to download custom sources/lists for different purposes, like: Proxies, Tors and even Residential Proxies! (Check our addon).
Block any connection from Bogon IP in case an user it's trying to connect for bypass stuffs. You can toggle this in configuration.
Easy and friendly whitelist command. Gives whitelist to users to avoid the modules with a single command, using /fg whitelist <add/remove/info/purge>, in that command you can add a user/IP to the whitelist with optional reason and a duration time, see info about a user/IP in whitelist, remove a player from whitelist and purge the list.
Passive mode. This makes the plugin doesn't detect on every player join, but allows to has compatibility with another AntiVPN's or checking with the command manually, useful for checking only in certain cases in every services.
Highly recommended. This is a better solution for replace your another AntiVPN plugin for this, customize how you want, change the things for your benefit and enjoy with FoxGate!
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.
Discord Webhook: Notifications through Discord. Instantly
sends alerts or messages to
Discord when a player attempts to join using a
VPN,
proxy, or has been blocked due to their
country,
ASN,
ISPFilter module or
IPRange module. This feature ensures that server staff can stay informed in real time while provides information about the connection in case it's possible.
GeoLocation Module: Countries and ASNs. Enable the
detection for GeoLocation when a player join to the server. If this feature is enabled, this allow the ability to
block or
whitelistcountry/
ASN from
joining or
detecting. This works using a local database
(means, you doesn't require to use an API for obtaining the data of both), that the plugin downloads automatically in your preference. The plugin supports the databases from:
MaxMind (default),
IPInfo and
IPLocate.
➡️ Documentation by
Cloudflare about "
What it's an ASN?":
cloudflare.com
Also, this feature works with our
known ASN list, where the plugin install a list from our
cloud with a large list of
blocked ASNs that helps in prevent
VPNs,
Proxies and
Tors. This list updates constantly and download automatically for you every X time of hours, and help in detect while your server has ratelimit in services, because this works in
local checking. Warning! This requires having the module of
GeoLocation.
Telegram Forward: Notifications through Telegram. Instantly
sends alerts or messages to
Telegram when a player attempts to join using a
VPN,
Proxy, or has been blocked due to their
Country,
ASN,
ISP or
IPRange. You can use this feature to send to a
user,
group or
supergroup (threads supported) using a
bot of Telegram. You can follow the instructions made by
Telegram or contact to our discord server for help.
Restricted Servers: Block access to subservers in specify. Limit
which subservers from your proxy, blocked users can
join or not. Useful if you want to block users
but let it join to certain servers or just to the lobby/
hub. This feature
works only in supported proxies instances (including their forks), like:
BungeeCord,
Velocity and
WaterdogPE.
Code (YAML):
# __ _ _ _ _ # /__\ ___ ___| |_ _ __(_) ___| |_ ___ __| | # / \/// _ / __| __| '__| |/ __| __/ _ \/ _` | # / _ | __\__ | |_| | | | (__| || __| (_| | # \__\_/\___|___/\__|_| |_|\___|\__\___|\__,_| # / _\ ___ _ ____ _____ _ __ ___ # \ \ / _ | '__\ \ / / _ | '__/ __| # _\ | __| | \ V | __| | \__ \ # \__/\___|_| \_/ \___|_| |___/ # # Limit which subservers from your proxy, blocked users can # join or not. # When a player get detected but this feature it's enabled, # the player can log-in correctly without getting denied, # allowing the connection to certains subservers/backends in # your Proxy. This is useful in case you want players can # join to your hub but no in games-mode. # # This is feature it's available only for: # ➡ BungeeCord # ➡ Velocity # ➡ WaterdogPE # # Note: If you enable this feature but the server isn't # in the list, the player probably can join without getting # denined in certain scenaries. # Warning! This feature requires option 'scanner.block.cache' # from 'config.yml' enabled. Why? We aiming in reducing # database calls to prevent bot-attacks and saving performance, # this it's a better way. # # ❓ Has questions? Join to the discord server: # - https://discord.zowi.gay/ # - https://discord.idcteam.xyz/
# Enable this feature? enable: false
# Define the type of usage to this list. # - 'whitelist': Allow the access to certain servers. # - 'blacklist': Deny the access in certain servers. type: whitelist
# Add the list of servers names for block/allow connections. # - Uses RegEx if you needs. The list of under, only was # examples using RegEx, you can change with your servers # names (the name used for connect the proxy to backends). # # Note: If you leave whitelist/blacklist type and this is # empty, will disable the feature. list: - auth.*
- lobby.*
VK Forward: Notifications through VK (New Module). Instantly
sends alerts or messages to
VK when a player attempts to join using a
VPN,
Proxy, or has been blocked due to their
Country,
ASN,
ISP or
IPRange. You can use this feature to send to
a group chat/
community or
another using
access tokens.
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.
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.
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.
End User License Agreement (EULA) – FoxGate+ AntiVPN By purchasing or using
FoxGate+ AntiVPN, you agree to the following terms:
➡️No Resale or Redistribution You are
not permitted to
resell,
redistribute, or
share this product in any form. This includes making it publicly available or accessible to third parties not directly involved in your project.
➡️License Restrictions and Terminations You may
notrelicense,
sublicense, or
transfer this product to any other individual or entity. We reserve the right to
revoke your license at any time, at our sole discretion, if we determine that it is necessary—such as in
cases of abuse,
violation of the EULA, or
other unforeseen situations. Please note that license revocations are not performed arbitrarily and will only occur under justifiable circumstances.
In the event of an unjustified termination, a refund may be issued via this platform.
This clause exists solely as a protective measure.
➡️Refund Policy This is a
digital product, and as such,
refunds are not offered unless the plugin fails to function as described and the author is unable to provide a fix after being contacted and given a reasonable amount of time. You are
not eligible for a refund if
3 days have passed since you purchased the product.
➡️ Authorized Use Only This product may
only be used by the person or entity who purchased it. You may share access only with collaborators who require it for development or maintenance purposes within the same project. You are fully responsible for any unauthorized distribution or sharing of the plugin.
➡️ Immediate Access As this is a
digital product with immediate access upon purchase, refund rights are limited in accordance with digital goods regulations.
Links.
Documentation github.com Some documentation for help.