Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neziw/proxycheck-discordbot
Simple Discord Bot to check IP addresses for proxy detection built with Redis.
https://github.com/neziw/proxycheck-discordbot
antivpn cache discord discord-bot discordbot gradle java jda jda-bot jda-discord jda-discord-bot jedis jedis-demo proxycheck proxychecker proxycheckio redis redis-cache
Last synced: 3 months ago
JSON representation
Simple Discord Bot to check IP addresses for proxy detection built with Redis.
- Host: GitHub
- URL: https://github.com/neziw/proxycheck-discordbot
- Owner: neziw
- License: mit
- Created: 2024-07-10T14:43:24.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-11-11T18:06:30.000Z (3 months ago)
- Last Synced: 2024-11-11T19:19:57.219Z (3 months ago)
- Topics: antivpn, cache, discord, discord-bot, discordbot, gradle, java, jda, jda-bot, jda-discord, jda-discord-bot, jedis, jedis-demo, proxycheck, proxychecker, proxycheckio, redis, redis-cache
- Language: Java
- Homepage:
- Size: 151 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
# ProxyCheck-DiscordBOT
Simple Discord Bot to check IP addresses for proxy detection built with Redis. This bot also displays a lot of useful information about provided IP address, it uses [proxycheck.io API](https://proxycheck.io/) to resolve everything about IP address that you can imagine.
---
### How it works?It's very simple, when you ask your bot to display information about specific IP address it will send request to proxycheck.io and cache results in Redis for specific period of time, so we won't send API request to proxycheck.io if we have data in our Redis cache.
**Cache TTL (Time To Live)** can be configured in `redis.yml` configuration file. You can also adjust your own pool and connection settings if you need.
### What data can be displayed?
According to endpoint we use to download data about IP address, you can get these values:
* `ASN`
* `Range`
* `Hostname`
* `ISP`
* `Organization`
* `Continent data (name and code)`
* `Country + ISO Code`
* `Region data (name and code)`
* `Time Zone`
* `City`
* `Latitude and Longitude`
* `Currency data (code, name and symbol)`
* `Proxy (if IP address is proxy or vpn)`
* `Type`You can see example API output on [proxycheck.io website](https://proxycheck.io/) or making your own request.
### Why redis?
Redis KV (key-value) cache is very fast and simple to work with, if you want to use [Free Plan](https://proxycheck.io/pricing/) in proxycheck.io then you probably don't want to waste daily requests limit for same IP, you also probably want faster responses so that's why I decided to use Redis in this project.
### Requirements
* Discord BOT token (you can create your own bot [here](https://discord.com/developers/applications))
* Latest (working) Redis server
* JRE (17 or higher)
* proxycheck.io API key (you can request free token by going to [their website](https://proxycheck.io/))### Configuration files
`bot.yml`
```yaml
# Bot Configuration
# Your Discord bot token
botToken: Bot token
# API key for proxycheck.io
proxyCheckApiKey: Your key
```
`redis.yml`
```yaml
# Redis Connection Configuration
# URL connection string to connect with Redis
connectionUrl: redis://127.0.0.1:6379
# Pool configuration
maxTotal: 128
maxIdle: 64
minIdle: 16
blockWhenExhausted: true
maxWaitSeconds: 15
```### Important note
⚠️ This code was written only for educational purposes. I'm not responsible for any abuse or damage caused by this application. Remember to follow Discord [TOS](https://discord.com/terms) and [Community Guidelines](https://discord.com/guidelines).
---
Special thanks to [JetBrains](https://www.jetbrains.com/products/) company for providing development tools used to develop this project.[
](https://www.jetbrains.com)