- Shell 100%
| LICENSE | ||
| README.md | ||
| script.sh | ||
ConfuseRKN
Self-host your own whitelist subscription
Script to run your own whitelist subscription, similar to GoodbyeWL or EtoNeYa: aggregates keys from sources, checks them, and serves a public subscription URL that users add to their VPN/client.
Sources: EtoNeYaProject, BypassWhitelistRu — fighting Roskomnadzor, helping users browse as before.
Table of Contents
- Requirements
- Quick Start
- Installation
- Menu
- Sources
- SOCKS5 Proxy
- Files & Directories
- How It Works
- Credits
- License
- Links
Requirements
| OS | Linux (Debian/Ubuntu recommended) |
| Privileges | Root or sudo |
| Packages | python3, python3-venv, nginx, curl, cron, nano (installed automatically) |
Quick Start
curl -sSL https://raw.githubusercontent.com/gbwltg/ConfuseRKN/refs/heads/main/script.sh -o confuserkn.sh
sudo bash confuserkn.sh
Select [1] First install → follow prompts → share your subscription URL.
Installation
-
Download and run:
curl -sSL https://raw.githubusercontent.com/gbwltg/ConfuseRKN/refs/heads/main/script.sh -o confuserkn.sh sudo bash confuserkn.sh -
Choose
[1] First installin the menu. -
Configure via prompts:
Prompt Description Domain Where the subscription will be available (empty = auto-detect IP) Subscription path URL path (e.g. sub→http://your-server/sub)Sources Use defaults or add custom URLs SOCKS5 proxy Enable if GitHub/raw is blocked in your region -
Share the subscription URL with users — they add it to their VPN/client as a subscription.
Menu
| # | Option | Description |
|---|---|---|
| 1 | First install | Full setup: packages, Python venv, Nginx, systemd timer |
| 2 | Run parser now | Manually update subscription |
| 3 | Edit sources | Edit sources.txt in nano |
| 4 | Change subscription path | Change URL path (e.g. /sub → /my-sub) |
| 5 | Toggle proxy | Enable or disable SOCKS5 proxy |
| 6 | Show subscription URL | Display current subscription URL |
| 7 | Remove a source | Remove a source from the list |
| 0 | Exit | Quit the script |
Sources
The parser fetches whitelist content from URLs listed in sources.txt.
Default sources:
- EtoNeYaProject — community whitelist
- BypassWhitelistRu (LowiKLive) — Russian bypass whitelist
Custom sources: add URLs in sources.txt (one per line). Lines starting with # are ignored.
SOCKS5 Proxy
Use when GitHub or raw.githubusercontent.com is blocked.
Format:
ip:portip:port:user:password
Example: 127.0.0.1:1080
Files & Directories
| Path | Purpose |
|---|---|
/var/www/confuserkn/ |
Install directory |
sources.txt |
List of source URLs |
sub.txt |
Generated subscription (output) |
proxy.txt |
SOCKS5 config (optional) |
downloader.py |
Parser script |
/etc/nginx/sites-available/simplehost |
Nginx config |
confuserkn.service / confuserkn.timer |
Systemd service & timer (every 30 min) |
How It Works
sources.txt → Download whitelists → Extract links → TCP check → sub.txt → Nginx serves
↓
User subscription URL
- Parser reads URLs from
sources.txt - Downloads whitelist content from each source
- Extracts links (skips empty lines and
#comments) - TCP check verifies each link is reachable (200 workers)
- Writes working keys to
sub.txt - Nginx serves
sub.txtat your domain/path - Systemd timer runs the parser every 30 minutes
Credits
| Project | Role |
|---|---|
| GoodbyeWL | Script & self-host concept |
| EtoNeYaProject | Default whitelist source |
| BypassWhitelistRu (LowiKLive) | Default whitelist source |
Thanks for participating in the fight for open and free internet.
License
GNU General Public License v3.0
This script downloads and installs packages, tools, and libraries (e.g. Python, nginx, pip packages) that may be distributed under other licenses. See their respective documentation.
Links
- GitHub: GoodbyeWL
- Telegram: @GoodbyeWLAlt