nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)

FoxGate AntiVPN [1.1.0]

Changelog

  • Improved the performance with remaking the handling of detection in all supported loaders/softwares.

  • Added ViaProxy loader/software support.

  • Updated all libraries:

    MariaDB from 3.5.1 -> 3.5.3

    SQLite from 3.49.0.0 -> 3.49.1.0

    MiniMessage from 4.18.0 -> 4.20.0

    MiniMessage Option from 1.0.0 -> 1.1.0

    HikariCP from 6.2.1 -> 6.3.0

    SLF4JAPI from 2.0.16 -> 2.1.0-alpha1

    SL4FJJDK new in 2.1.0-alpha1.

    GSON from 2.12.2 -> 2.13.1

    ASM from 9.7.1 -> 9.8

    Jar-Relocator now is using my fork.

  • Added new command /fg debug for debugging all actions of FoxGate: (config.yml)

   # Do you want debug enable debug messages of FoxGate?
   # - Set what messages you want to debug when the debugging mode
   #   is enabled with the command '/fg debug'. This only shows in
   #   the console.
   debug:
      # Messages about Events of the player?
      events: true
      # Messages returning service's responses for better
      # creation or control of this. Enable only for testing,
      # don't recommend enable this in production, otherwise,
      # your console can be flooded a lot.
      services: true
      # Messages about actions making by FoxGate.
      # Like, sending discord webhooks (responses), downloading
      # GeoLocation databases and seding Telegram (requests).
      actions: true
message:
   help:
      debug: 'Debug actions made by FoxGate in the console.'
   debug:
      enable: '{prefix} <green>You enabled the debug mode. Check the console.'
      disable: '{prefix} <red>You disabled the debug mode.'
  • Added new command to whitelist add/remove to the configuration. Also, moved all whitelist to new file created by default called whitelist.yml. (whitelist.yml)
# Whitelist the detection to this name's.
# - Allow players in the list to bypass the detection of
#   the antivpn. To disable this feature, use the value:
#
#   names: []
#
# (!) It's case sensetive!
names:
- ImZowi

# Whitelist the detection to this IP's.
# - Allow ip's in the list to bypass the detection of
#   the antivpn. To disable this feature, use the value:
#
#   ips: []
#
# (!) The value under is the default in localhost.
ips:
- "127.0.0.1"

(config.yml)

message:
   help:
      whitelist: 'Edit configuration via command whitelist user/IP.'
   whitelist:
      invalid_usage: '{prefix} Use the command <aqua>/foxgate whitelist <add/remove> <name/ip><reset>.'
      already: '{prefix} {IP}<red> is already whitelisted/unwhitelisted in the configuration!'
      whitelisted: '{prefix} {IP}<green> was whitelisted in the configuration with type <white>{type}</white>. You can <white><underlined><click:run_command:"/foxgate whitelist remove {IP}">click here for remove again</click></underlined></white>.'
      unwhitelisted: '{prefix} {IP}<green> was unwhitelisted in the configuration with type <white>{type}</white>. You can <white><underlined><click:run_command:"/foxgate whitelist add {IP}">click here for add again</click></underlined></white>.' 
      type_ip: 'IP'
      type_name: 'Name'
      problem: '{prefix} <red>Error while trying to add/remove to the whitelist. Check the console.'
  • Added new option for using name in proxies and new command /fg clearcache. This works with using a cache file or using database in case it's multi-proxy. (config.yml)
database:
    # You want to save the cache in the database in new table
    # instead of use a file? Use this only if you want to use
    # multi-proxy or you're sure you don't has problems with your
    # database.
    #
    # Name of this table it's '"table"_cache', so, if the "table"
    # it's "foxgate", the name will be: "foxgate_cache", or if
    # the "table" it's "vpn_cache", will be "vpn_cache_cache". Always
    # finish with "_cache".
    cache_database: false

message:
   help:
      clearcache: 'Clear the cache file with username saves.'
   clearcache:
      purging: '{prefix} <white>We are <yellow>purging</yellow> the cache file...'
      purging_correctly: '{prefix} <green>The cache file has been purged/reseted.'
      purging_problem: '{prefix} <red>Error while trying to purge the cache file. Check the console.'
  • Added option to Limit connections per IP. Default it's 3. (config.yml)
antivpn:

   # Limit maximum connections per IP.
   # - When a player join to the server, this is saved
   #   in a list for count the numbers of players in
   #   a connection. If the limit is reached, the
   #   player isn't allowed from joining.
   limiter:
     # Enable this feature?
     enable: true
     # Determine the maximum limit of connections per
     # IP. '3' is the best value by default, increase in
     # case is required. This can help in prevent bots with
     # same IP.
     maxium: 3
     # Message to return when a player is kicked with this option. 
     # placeholders: %PLAYER%, %IP%, %UUID%, %COUNTRY% (Premium and
     # only if function is enabled) and %ASN% (Premium and only if
     # function is enabled).
     kick: "<red>You have been disconnected by FoxGate:\n<white>Maximum accounts per IP in your connection.\n\n<gray>This is an error? <white>Join to our discord server.\n<aqua><underlined>discord.idcteam.xyz"
  • Using our custom base for bStats (Metrics) to avoid taking performance. For the Creator for the site, please, read our uncompiled comment inside the classes. (config.yml)
configuration:

   # Allow the usage of Metrics (bStats) in your server?
   # - This is only for stadistics usage.
   #
   #   ❝ What data is collected?
   #   We are using bStats (https://bstats.org/), 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"
   #   https://bstats.org/getting-started
   #
   # (!) Since 1.0.2 (premium) 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.
   metrics: true
  • Added new database type: JayBird. (config.yml)
    # This database is experimental.
    jaybird:
      hostname: "localhost"
      port: 3050
      database: "FoxGate.fdb"
      username: "foxgate"
      password: ""
      
      # These settings apply to this Firebird database, as it uses Hikari for connection pooling.
      # - Default values are suitable for most users. Modify only if necessary.
      pool-settings:

        # The maximum number of connections in the connection pool.
        # - Determines the upper limit of active database connections that can be managed simultaneously.
        # - Setting this too high can overload your database server, while setting it too low can cause delays.
        # Recommended: 10
        maximum-pool-size: 10

        # Minimum number of idle connections to maintain in the pool.
        # - The pool will try to maintain this number of idle (inactive) connections ready for use.
        # Recommended: 1
        minimum-idle: 1

        # Maximum lifetime of a connection in the pool, in milliseconds.
        # - Connections older than this value will be closed and replaced.
        # Recommended: 1800000 (30 minutes)
        maximum-lifetime: 1800000

        # The maximum time in milliseconds to wait for a connection from the pool.
        # - If no connection is available within this time, an exception will be thrown.
        # Recommended: 30000 (30 seconds)
        connection-timeout: 30000
  • Added new 5 services in the default configuration. (Thanks for our buyer, @_bad_, for making these configurations for FoxGate in the default section)

IPAPI IS

      # ⛽ IPAPI IS
      # 🔗 https://ipaphttps://ipapi.is/i.is/
      #
      # 🛒 Details:
      # 💼 https://ipapi.is/app/signup
      #
      # - 1k daily requests, free account or without key (IP-based for limit). 
      # - 10k daily requests, pay $10 monthly.
      # - 20k daily requests, pay $20 monthly.
      # - 50k daily requests, pay $50 monthly.
      # - 100k daily requests, pay $100 monthly.
      # - 2M daily requests, pay $200 monthly.
      ipapiis:
         # Enable this service?
         enabled: true
         # Model request to use.
         model: "JSON"
         # You can use this field in case you
         # has an account in this page.
         key: ""
         # URL.
         url: "https://api.ipapi.is/?q=%IP%&key=%KEY%"
         # Values to check.
         values:
            # Fields to check.
            fields:
            - "is_datacenter"
            - "is_tor"
            - "is_proxy"
            - "is_vpn"
            - "is_abuser"
            - "is_bogon" # Read more about this in https://ipgeolocation.io/blog/bogon-ip-addresses
            # Type to determine.
            type: boolean

IPStack

      # ⛽ IPStack
      # 🔗 https://ipstack.com/
      #
      # 🛒 Details:
      # 💼 https://ipstack.com/signup/free
      # 
      # - 100 monthly requests, free account.
      # - 50k monthly requests, basic account.
      # - 500k monthly requests, professional account.
      # - 2M monthly requests, professional plus account.
      ipstack:
         # Enable this service?
         enabled: false
         # Model request to use.
         model: "JSON"
         # Insert your key here.
         # Don't delete this field!
         key: ""
         # URL.
         url: "https://api.ipstack.com/%IP%?access_key=%KEY%&security=1"
         # Values to check.
         values:
            # Fields to check.
            fields:
            - "security.is_proxy"
            - "security.is_crawler"
            - "security.is_tor"
            - "security.hosting_facility"
            # Type to determine.
            type: boolean

2IP

      # ⛽ 2IP
      # 🔗 https://2ip.io/
      #
      # 🛒 Details:
      # 💼 https://2ip.io/registration/api/
      #
      # - 10k requests free per month.
      # (Based in Billing)
      2ip:
         # Enable this service?
         enabled: false
         # Model request to use.
         model: "JSON"
         # Insert your key here.
         # Don't delete this field!
         key: ""
         # URL.
         url: "https://api.2ip.io/%IP%?token=%KEY%"
         # Values to check.
         values:
            # Fields to check.
            fields:
            - "asn.hosting"
            # Type to determine.
            type: boolean

GreIP

      # ⛽ GreIP
      # 🔗 https://greip.io/
      #
      # 🛒 Details:
      # 💼 https://dashboard.greip.io/login
      #
      # - 15k monthly requests, free account.
      # - 170k monthly requests, Standard account.
      # - 400k monthly requests, Premium account.
      # - Unlimited requests, "Pay-as-you-go".
      greip:
         # Enable this service?
         enabled: false
         # Model request to use.
         model: "JSON"
         # Headers in case is necessary.
         #
         # Set to: 'headers: []' to disable.
         headers:
            'Authorization': 'Bearer KEY'
         # URL.
         url: "https://greipapi.com/lookup/ip/threats?ip=%IP%"
         # Values to check.
         values:
            # Fields to check.
            fields:
            - "data.threats.isProxy"
            - "data.threats.isRelay"
            - "data.threats.isTor"
            - "data.threats.isHosting"
            # Type to determine.
            type: boolean

IPGeolocation (PAID)

      # ⛽ IPGeolocation (PAID SERVICE)
      # 🔗 https://ipgeolocation.io/
      #
      # 🛒 Details:
      # 💼 https://app.ipgeolocation.io/login
      #
      # This is a PAID SERVICE, require starting from
      # $15 monthly subscription for using IP-security
      # feature. First plan it's $15 (Bronze).
      #
      # - 150k monthly requests, Bronze ($15)
      # - 1M monthly requests, Solver ($65)
      # - 6M monthly requests, Gold ($200)
      # - 120M+ monthly requests, Enterprise.
      ipgeolocation:
         # Enable this service?
         enabled: false
         # Model request to use.
         model: "JSON"
         # Insert your key here.
         # Don't delete this field!
         key: ""
         # URL.
         url: "https://api.ipgeolocation.io/ipgeo?apiKey=%KEY%&ip=%IP%"
         # Values to check.
         values:
            # Fields to check.
            fields:
            - "security.is_tor"
            - "security.is_proxy"
            - "security.is_cloud_provider"
            - "security.is_known_attacker"
            - "security.is_anonymous"
            # Type to determine.
            type: boolean
  • Fixed permissions with LuckPerms providing support multi-platform.
  • Fixed PostgreSQL support.

➡️ Reset your configuration in case you want to apply already all the changes instead of copy manually.

FoxGate Premium was released! :D

See the description section to view where you can purchase it, you can join to the discord server for any question about it.

Dependencies

Files

FoxGate-1.1.0.jar(617.34 KiB) Primary Download

External resources


Project members

Zowi

Member


Technical information

License
ARR
Project ID