✨ ChronAntiVPN | VPN detection! ✨

  • THANK YOU: 1100 BUKKIT AND 800 SPIGOT DOWNLOAD!
 
COMPATIBILITY:
  • THE PLUGIN WORKS ON SPIGOT AND BUNGEECORD SERVERS!
  • WORKS ON LOCALHOST SERVER IF YOU ENABLED THE LOCALHOST: TRUE FUNCTION IN THE ANTIVPN.YML!
FEATURES:
  • IP AND VPN CHECK: THE PLUGIN CHECKS WHETHER A GIVEN IP ADDRESS IS FROM A VPN OR PROXY.
  • COUNTRY VERIFICATION: ALLOWS DEVELOPERS TO EXCLUDE CERTAIN COUNTRIES AND ALSO VERIFIES FOR MANIPULATED COUNTRY DATA.
  • ADDRESS VERIFICATION: CHECKING FOR NULL IP ADDRESSES, BLOCKING LOCALE AND TEST IP ADDRESSES, AND MONITORING IP ADDRESS CHANGES!
  • EXCEPTIONS: PROVIDES THE OPTION TO TREAT CERTAIN IP ADDRESSES AS EXCEPTIONS.
  • PLAYER MONITORING: WHEN A PLAYER CONNECTS TO THE SERVER, THE PLUGIN CHECKS THEIR IP ADDRESS AND TAKES NECESSARY ACTIONS IF IT'S POTENTIALLY HARMFUL.
  • ADDRESS LIMITER: WITH THIS, YOU CAN ALLOW UP TO THREE PLAYERS FROM A SINGLE IP ADDRESS TO JOIN THE SERVER!
  • DISCORD NOTIFICATIONS: CAPABLE OF SENDING DISCORD NOTIFICATIONS FOR SPECIFIC EVENTS.
  • EJECTION MEASURES: IF AN IP ADDRESS IS DEEMED HARMFUL, THE PLUGIN AUTOMATICALLY KICKS THE PLAYER AND SENDS A NOTIFICATION.
  • ASYNCHRONOUS OPERATIONS: THE PLUGIN OPERATES ASYNCHRONOUSLY, MINIMIZING SERVER RESOURCE STRAIN.
  • INTEGRATION WITH PROXYCHECK.IO: UTILIZES AN API KEY FROM PROXYCHECK.IO, ENABLING MORE COMPREHENSIVE AND DETAILED IP CHECKS.
SPECIAL FUNCTIONS:
  • ALTERNATIVE VPN CHECK: IF THE API STATUS IS POOR, THE PLUGIN CONDUCTS AN ALTERNATIVE VPN CHECK.
  • CACHED DATA: IF CERTAIN DATA IS NOT QUERIED FOR AN HOUR, IT'S AUTOMATICALLY REMOVED FROM THE CACHE TO GATHER FRESH INFORMATION.
  • RUN TASK METHOD ERRORS: IF THERE IS AN ERROR BETWEEN THE RUN TASK METHODS, THE SERVER SHUTS DOWN IF IT'S ENABLED! FOR EXAMPLE: UNEXPECTED ERRORS DUE TO LOAD, ETC...
COMMANDS:
  • /checker [address]: CHECKS THE VPN OR PROXY STATUS OF A GIVEN IP ADDRESS!
  • /blacklist add [name] [address] [reason]: BANS A PLAYER BASED ON NAME, IP ADDRESS, AND REASON!
  • /blacklist remove [user]: REMOVES A PLAYER FROM THE BLACKLIST!
  • /blacklist check [user]: DISPLAYS DETAILS (NAME, UUID, ADDRESS, REASON) OF A PLAYER ON THE BLACKLIST!
  • /blacklist list: DISPLAYS PLAYERS CURRENTLY ON THE BLACKLIST!
  • /addresslimiter clear [address]: YOU CAN DELETE THE NAMES ASSOCIATED WITH THE IP ADDRESS!
  • /addresslimiter list [address]: YOU CAN LIST THE NAMES ASSOCIATED WITH THE IP ADDRESS!
  • /chronantivpn reload: RELOADS ALL FILES!
PERMISSIONS:
  • chronantivpn.checker: GRANTS PERMISSION TO USE THE /checker COMMAND!
  • chronantivpn.blacklist.add: GRANTS PERMISSION TO USE /blacklist add COMMAND!
  • chronantivpn.blacklist.remove: GRANTS PERMISSION TO USE /blacklist remove COMMAND!
  • chronantivpn.blacklist.check: GRANTS PERMISSION TO USE /blacklist check COMMAND!
  • chronantivpn.blacklist.list: GRANTS PERMISSION TO USE /blacklist list COMMAND!
  • chronantivpn.addresslimiter.clear: GRANTS PERMISSION TO USE /addresslimiter clear COMMAND!
  • chronantivpn.addresslimiter.list: GRANTS PERMISSION TO USE /addresslimiter list COMMAND!
  • chronantivpn.reload: GRANTS PERMISSION TO USE /chronantivpn reload COMMAND!
  • chronantivpn.notification: THIS PERMISSION SENDS ADMIN NOTIFICATIONS!
  • chronantivpn.*: THIS ADDS ALL THE PERMISSIONS FROM THE PLUGIN TO YOUR PERMISSIONS!
INSTALLATION:
  • PLACE THE PLUGIN'S .JAR FILE INTO THE PLUGINS DIRECTORY OF YOUR MINECRAFT SERVER.
  • RESTART YOUR SERVER.
USAGE:
  • ONCE INSTALLED, THE PLUGIN AUTOMATICALLY STARTS CHECKING IP ADDRESSES USING PROXYCHECK.IO. IF A PLAYER'S IP ADDRESS IS IDENTIFIED AS HARMFUL, THE PLUGIN TAKES ACTION BY EJECTING THE PLAYER AND SENDING A NOTIFICATION.
CONFIGURATION:
#
#░█████╗░███╗░░██╗████████╗██╗██╗░░░██╗██████╗░███╗░░██╗
#██╔══██╗████╗░██║╚══██╔══╝██║██║░░░██║██╔══██╗████╗░██║
#███████║██╔██╗██║░░░██║░░░██║╚██╗░██╔╝██████╔╝██╔██╗██║
#██╔══██║██║╚████║░░░██║░░░██║░╚████╔╝░██╔═══╝░██║╚████║
#██║░░██║██║░╚███║░░░██║░░░██║░░╚██╔╝░░██║░░░░░██║░╚███║
#╚═╝░░╚═╝╚═╝░░╚══╝░░░╚═╝░░░╚═╝░░░╚═╝░░░╚═╝░░░░░╚═╝░░╚══╝
#

# SELECT PLUGIN LANGUAGE! (en_US, hu_HU)
Locale: en_US

AntiVPN:

  # WRITE YOUR API KEY HERE FOR VPN, PROXY, AND COUNTRY CHECK (OPTIONAL BUT RECOMMENDED! HTTPS://WWW.PROXYCHECK.IO/)
  Code: 'none'
 
  # THIS SECTION IS USED TO CONFIGURE ANTI-VPN MEASURES.
  # AN API KEY CAN BE USED TO ENHANCE THE ACCURACY OF VPN AND PROXY DETECTION.

Exception:

  # SPECIFY IP ADDRESSES THAT SHOULD BE EXEMPTED FROM VPN AND PROXY CHECKS.
  # THIS DOES NOT OVERRIDE CHECKS FOR NULL ADDRESSES OR BLACKLISTED ADDRESSES.
  Addresses: []

Blacklist-mode:

  # AUTOMATICALLY ADD TO BLACKLIST WHEN KICKED!
  Automatic: false

  # SPECIFY THE PORTS THAT SHOULD BE CHECKED FOR VPN CONNECTIONS.
  # MULTIPLE PORTS CAN BE LISTED HERE.
  Sockets:
  - 80

Whitelist-mode:

  # ENABLE THIS OPTION TO CHECK CONNECTING USERS AGAINST A WHITELIST OF COUNTRY ISO CODES.
  Check: false

  # YOU CAN ADD COUNTRY ISOCODES TO THE LIST!
  Isocode:
  - 'RS'
  - 'HU'
  - 'SK'
  - 'RO'
  - 'UA'
 
  # LIST OF COUNTRY ISO CODES THAT ARE ALLOWED TO CONNECT.
  # USERS FROM OTHER COUNTRIES WILL BE BLOCKED IF THIS CHECK IS ENABLED.
 
# SWITCH-CHECK CONFIGURATION!
Switch-check:

  # THE ADDRESS OPTION DETERMINES WHETHER TO CHECK FOR IP ADDRESS CHANGES!
  # IF 'true', IP ADDRESS CHANGES WILL BE CHECKED!
  # IF 'false', IP ADDRESS CHANGES WILL NOT BE CHECKED!
 
  # ENABLE THIS OPTION TO CHECK FOR CHANGES IN THE IP ADDRESS OF CONNECTED USERS.
  # THIS CAN HELP DETECT SUSPICIOUS ACTIVITY WHERE USERS CHANGE THEIR IP ADDRESS FREQUENTLY.
 
  Address: false

  # THE ISOCODE OPTION DETERMINES WHETHER TO CHECK FOR COUNTRY CODE (ISO CODE) CHANGES!
  # IF 'true', COUNTRY CODE CHANGES WILL BE CHECKED!
  # IF 'false', COUNTRY CODE CHANGES WILL NOT BE CHECKED!
 
  # ENABLE THIS OPTION TO CHECK FOR CHANGES IN THE COUNTRY ISO CODE OF CONNECTED USERS.
  # THIS CAN HELP DETECT IF USERS ARE USING VPNS TO CHANGE THEIR VIRTUAL LOCATION.
 
  Isocode: true

Address-limiter:

  # ENABLE THIS OPTION TO LIMIT THE NUMBER OF CONNECTIONS FROM A SINGLE IP ADDRESS.
  Check: false

  # SET THE MAXIMUM NUMBER OF CONNECTIONS ALLOWED FROM A SINGLE IP ADDRESS.
  # THIS HELPS TO PREVENT ABUSE FROM A SINGLE SOURCE.
  Max-count: 3

Run-task-error:

  # THIS CONFIGURATION SETTING ENSURES THAT THE SERVER WILL AUTOMATICALLY SHUT DOWN
  # IN THE EVENT OF UNEXPECTED ERRORS OR EXCEPTIONS OCCURRING DURING THE EXECUTION
  # OF runTask METHODS. THIS IS A SAFETY MEASURE DESIGNED TO PREVENT POTENTIAL DATA LOSS,
  # INCONSISTENCIES, OR OTHER ISSUES THAT MAY ARISE FROM THE CONTINUED OPERATION OF THE SERVER
  # UNDER ERRONEOUS CONDITIONS.

  # WHEN ENABLED (true), ANY CRITICAL ERRORS ENCOUNTERED DURING TASK EXECUTION WILL
  # TRIGGER AN IMMEDIATE SERVER SHUTDOWN. THIS HELPS TO MAINTAIN THE INTEGRITY OF THE SYSTEM
  # AND ENSURES THAT ADMINISTRATORS CAN ADDRESS AND RESOLVE THE UNDERLYING ISSUES BEFORE
  # RESTARTING THE SERVER.

  # IF SET TO false, THE SERVER WILL ATTEMPT TO CONTINUE RUNNING DESPITE ANY ERRORS,
  # WHICH MAY BE SUITABLE FOR NON-CRITICAL ENVIRONMENTS OR FOR DEBUGGING PURPOSES. HOWEVER,
  # THIS IS NOT RECOMMENDED FOR PRODUCTION ENVIRONMENTS DUE TO THE RISKS OF UNDETECTED ISSUES.
 
  Server-shutdown: true

Json-fetcher:

  # ENABLE CACHING OF FETCHED JSON DATA TO IMPROVE SERVER PERFORMANCE.
  Set-use-caches: true

  # CONFIGURE THE TIMEOUT SETTINGS FOR WEB REQUESTS.
  # IF THE WEBSITE DOES NOT RESPOND IN TIME, AN ALTERNATIVE CHECK WILL BE USED.
  Set-connect-timeout: 3
  Set-read-timeout: 3

  # ENABLE THIS OPTION TO PRINT JSON FETCH ERRORS TO THE CONSOLE FOR DEBUGGING PURPOSES.
  Send-console-error: false

Socket-fetcher:

  # CONFIGURE THE TIMEOUT FOR SOCKET CONNECTIONS.
  # IF THERE IS NO RESPONSE, IT WILL ASSUME THAT NO VPN OR PROXY IS USED.
  Set-socket-timeout: 3

Discord-webhook:

  # SEND DISCORD NOTIFICATION IF YOU ENTER THE DISCORD WEBHOOK URL!
  # ENTER A DISCORD WEBHOOK URL TO ENABLE DISCORD NOTIFICATIONS FOR SERVER EVENTS.
  Url: 'none'

  Header: 'Server Informations!'

  # CONFIGURE THE MESSAGES THAT WILL BE SENT TO THE DISCORD CHANNEL.
  Notifications:
    Reason: 'Reason » %reason%'
    User: 'User » %user%'
    Address: 'Address » %address%'
    Iso: 'Iso » %isocode%'
    Server: 'Server » %server%'

  Footer: '(Unsuccessful server connection!)'

# THESE PLACEHOLDERS ARE USED FOR DISPLAYING DEFAULT VALUES WHEN NO SPECIFIC INFORMATION IS AVAILABLE.
Placeholder:

  Unknown: 'Unknown'

  Server: 'Unknown'

  Console: 'Console'
 CUSTOM KICK FUNCTIONS:
  • A DEFAULT CODE EXAMPLE IS INCLUDED IN THE CUSTOMKICK.YML FILE AS A REFERENCE. YOU CAN USE IT TO ADD NEW CHECKS.
  • MULTIPLE URLS CAN BE ADDED, AND EACH URL CAN HAVE MULTIPLE JSON CHECKS, PERMISSION BYPASS, AND CUSTOM REASON ADDED!

#
#░█████╗░██╗░░░██╗░██████╗████████╗░█████╗░███╗░░░███╗██╗░░██╗██╗░█████╗░██╗░░██╗
#██╔══██╗██║░░░██║██╔════╝╚══██╔══╝██╔══██╗████╗░████║██║░██╔╝██║██╔══██╗██║░██╔╝
#██║░░╚═╝██║░░░██║╚█████╗░░░░██║░░░██║░░██║██╔████╔██║█████═╝░██║██║░░╚═╝█████═╝░
#██║░░██╗██║░░░██║░╚═══██╗░░░██║░░░██║░░██║██║╚██╔╝██║██╔═██╗░██║██║░░██╗██╔═██╗░
#╚█████╔╝╚██████╔╝██████╔╝░░░██║░░░╚█████╔╝██║░╚═╝░██║██║░╚██╗██║╚█████╔╝██║░╚██╗
#░╚════╝░░╚═════╝░╚═════╝░░░░╚═╝░░░░╚════╝░╚═╝░░░░░╚═╝╚═╝░░╚═╝╚═╝░╚════╝░╚═╝░░╚═╝
#

# THE CUSTOM CHECKS ARE DISABLED!
Enabled: false

# THESE ARE THE DEFAULT VALUES AUTOMATICALLY INSERTED BASED ON PLAYER DATA!
# %name% - PLAYER'S USERNAME!
# %uuid% - PLAYER'S UUID!
# %address% - PLAYER'S IP ADDRESS!
CustomKick:

  # SETTINGS FOR THE FIRST CHECK, AND MORE CAN BE ADDED!
  Check1:
    Url: 'https://funkemunky.cc/vpn?ip={address}'
 
    checks:
     # SETTINGS FOR THE FIRST CHECK, AND MORE CAN BE ADDED!
      '1':
       # IF YOU HAVE THIS PERMISSION, THE SERVER WILL NOT KICK YOU!
        Permission: 'chronantivpn.exception.proxy'
     
        # THE JSON PATH!
        Json-Path:
        - 'proxy'
     
        # CHECK IF THE JSON PATH IS ON THE WHITELIST. IF YES, SERVER DOES NOT KICK!
        Json-Whitelist:
        - 'false'
     
        # IF THE JSON RESULT IS BLACKLISTED, THE SERVER KICKS WITH THIS REASON!
        Kick: 'Blocked on the server proxy!'
     
      '2':
       # IF YOU HAVE THIS PERMISSION, THE SERVER WILL NOT KICK YOU!
        Permission: 'chronantivpn.exception.country'
     
        # THE JSON PATH!
        Json-Path:
        - 'countryCode'
     
        # CHECK IF THE JSON PATH IS ON THE WHITELIST. IF YES, SERVER DOES NOT KICK!
        Json-Whitelist:
        - 'RS'
        - 'HU'
        - 'SK'
        - 'RO'
        - 'UA'
     
        # IF THE JSON RESULT IS BLACKLISTED, THE SERVER KICKS WITH THIS REASON!
        Kick: 'Blocked on the server isocode!'

  # SETTINGS FOR THE SECOND CHECK, AND MORE CAN BE ADDED!
  Check2:
    Url: 'http://ip-api.com/json/{address}?fields=proxy,countryCode'
 
    checks:
     # SETTINGS FOR THE FIRST CHECK, AND MORE CAN BE ADDED!
      '1':
       # IF YOU HAVE THIS PERMISSION, THE SERVER WILL NOT KICK YOU!
        Permission: 'chronantivpn.exception.proxy'
     
        # THE JSON PATH!
        Json-Path:
        - 'proxy'
     
        # CHECK IF THE JSON PATH IS ON THE WHITELIST. IF YES, SERVER DOES NOT KICK!
        Json-Whitelist:
        - 'false'
     
        # IF THE JSON RESULT IS BLACKLISTED, THE SERVER KICKS WITH THIS REASON!
        Kick: 'Blocked on the server proxy!'
     
      '2':
       # IF YOU HAVE THIS PERMISSION, THE SERVER WILL NOT KICK YOU!
        Permission: 'chronantivpn.exception.country'
     
        # THE JSON PATH!
        Json-Path:
        - 'countryCode'
     
        # CHECK IF THE JSON PATH IS ON THE WHITELIST. IF YES, SERVER DOES NOT KICK!
        Json-Whitelist:
        - 'RS'
        - 'HU'
        - 'SK'
        - 'RO'
        - 'UA'
     
        # IF THE JSON RESULT IS BLACKLISTED, THE SERVER KICKS WITH THIS REASON!
        Kick: 'Blocked on the server isocode!'
 

 


Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    938839
  • Created
    Nov 15, 2023
  • Last Released File
    Nov 17, 2024
  • Total Downloads
    1,216
  • License

Categories

Members

Recent Files