Multi Proxy Config Fetcher
🇺🇸English | فارسی | 🇨🇳中文 | 🇷🇺Русский
An advanced, automated proxy configuration management system that fetches, validates, tests, enriches, and filters proxy configurations from multiple sources. This project provides enterprise-grade proxy management with real-time health monitoring, geographical tagging, multi-round connectivity testing, and multi-stage security filtering.
🌐 Access Configurations
All proxy configurations and endpoints are available through our unified web interface:
👉 Anonymous Proxy Hub - Access All Endpoints
The web interface provides:
- 36 Different Endpoints for various use cases
- Raw Configurations - Unfiltered original configs
- By Country - Xray-tested configs grouped into 25 popular countries, each with its own subscription link
- Xray Tested - Configs verified with Xray core
- Xray Load Balanced - Smart load-balanced JSON configs
- Xray Fragment Load Balanced - Load-balanced JSON configs with advanced two-stage TLS fragmentation for stronger DPI resistance
- Xray Secure - High-security filtered configs
- Sing-box All - All configs in Sing-box format
- Sing-box Tested - Sing-box verified configs
- Sing-box Secure - Maximum security Sing-box configs
- Clash All - All configs in Clash/Mihomo format
- Clash Tested - Clash-compatible tested configs
- Clash Secure - Maximum security Clash configs
📊 Source Performance Monitoring
Real-time performance statistics of all configured sources (Telegram channels and URLs). This chart is automatically updated on every run.
Quick Overview
Detailed Analytics
📊 View Full Interactive DashboardImportant for Forked Repositories:
If you fork this repository, replace 4n0nymou3 in the dashboard link above with your GitHub username to access your own analytics dashboard.
Each source is scored based on four key metrics:
- Reliability Score (35%): Success rate in fetching and updating configurations
- Config Quality (25%): Ratio of valid configs to total fetched
- Config Uniqueness (25%): Percentage of unique configs contributed
- Response Time (15%): Server response time and availability
✨ Key Features
Multi-Protocol Support
- VLESS - Lightweight VMess alternative, including Reality and XTLS Vision
- VMess - Popular V2Ray protocol
- Trojan - TLS-based proxy protocol
- Shadowsocks - Secure SOCKS5 proxy (AEAD ciphers only)
- Hysteria2 - High-performance proxy protocol
- WireGuard - Modern, fast VPN protocol (extracted and included in the raw/tested text output only; disabled by default and not yet part of the Sing-box, Xray-balanced, or Clash conversions)
- TUIC - UDP-based proxy protocol (same current limitation as WireGuard above; disabled by default)
Advanced Processing Pipeline
- Intelligent Fetching
- Geographical Enrichment
- Country-Based Distribution
- Smart Renaming
- Multi-Round, Two-Core Testing System
- Security Filtering
- Format Conversion
🚀 Quick Start
For Users (Recommended)
- Visit the Anonymous Proxy Hub
- Choose your preferred endpoint
- Copy the URL and use it in your proxy client
For Developers
Fork and Customize
- Fork this repository
- Edit
settings/user_settings.pyto configure:
- Edit
settings/fragment_settings.pyif you want to customize the advanced TLS fragmentation used in the Fragment endpoint - Edit the
TARGET_COUNTRIESdictionary insrc/country_splitter.pyif you want to change which countries get their own subscription file - Enable GitHub Actions in your forked repository
- Configurations will auto-update automatically on the project's schedule
Local Setup
Anonymous Wizard is a complete step-by-step guide for installing, running and managing this project on your local system — including Termux (Android), Linux, macOS, iSH (iOS), and Windows (WSL2). Choose your preferred language:
| Language | Guide | |----------|-------| | Persian | Anonymous Wizard — راهنمای فارسی | | English | Anonymous Wizard — English Guide | | Chinese | Anonymous Wizard — 中文指南 | | Russian | Anonymous Wizard — Руководство на русском |
⚙️ Configuration Options
settings/user_settings.py
# Source URLs
SOURCE_URLS = [
"https://t.me/s/your_channel",
"https://raw.githubusercontent.com/user/repo/main/configs.txt",
# Add your sources here
]
Power Mode
USE_MAXIMUM_POWER = True # Fetch maximum configs
SPECIFIC_CONFIG_COUNT = 0 # Used if USE_MAXIMUM_POWER is False
Protocol Filtering
ENABLED_PROTOCOLS = {
"wireguard://": False,
"hysteria2://": True,
"vless://": True,
"vmess://": True,
"ss://": True,
"trojan://": True,
"tuic://": False,
}
Config Age Filtering
MAX_CONFIG_AGE_DAYS = 1
Xray Testing
ENABLE_XRAY_TESTER = True
XRAY_TESTER_MAX_WORKERS = 24
XRAY_TESTER_TIMEOUT_SECONDS = 5
XRAY_TESTER_URLS = [
'https://www.youtube.com/generate_204',
'https://www.gstatic.com/generate_204',
'https://cp.cloudflare.com'
]
XRAY_TESTER_ROUNDS = 3
XRAY_TESTER_BATCH_SIZE = 200
Sing-box Testing
ENABLE_SINGBOX_TESTER = True
SINGBOX_TESTER_MAX_WORKERS = 24
SINGBOX_TESTER_TIMEOUT_SECONDS = 5
SINGBOX_TESTER_URLS = [
'https://www.youtube.com/generate_204',
'https://www.gstatic.com/generate_204',
'https://cp.cloudflare.com'
]
SINGBOX_TESTER_ROUNDS = 3
SINGBOX_TESTER_BATCH_SIZE = 200
Geolocation APIs (in priority order)
LOCATION_APIS = [
'api.iplocation.net',
'freeipapi.com',
'ip-api.com',
'ipapi.co'
]
Turning either tester off (ENABLE_SINGBOX_TESTER = False or ENABLE_XRAY_TESTER = False) skips that connectivity check entirely for that run - the previous file for that stage is simply copied through unchanged. This speeds up the workflow, but note that the Sing-box, Clash, and Xray Secure outputs all depend on the Sing-box test stage, so turning it off reduces their reliability even though the plain Xray and Xray Fragment outputs stay unaffected.
settings/fragment_settings.py
FRAGMENT_ENABLED = True
FRAGMENT_STAGE_1 = {
"packets": "tlshello",
"lengths": ["5", "94", "1"],
"delays": ["0"],
"max_split": "0"
}
FRAGMENT_STAGE_2_ENABLED = True
FRAGMENT_STAGE_2 = {
"packets": "1-1",
"lengths": ["109", "1"],
"delays": ["1"],
"max_split": "355"
}
FRAGMENT_TLS_FINGERPRINT = "unsafe"
FRAGMENT_TLS_CIPHER_SUITES = "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:..."
This controls the advanced, two-stage TLS ClientHello fragmentation applied to every config in the xray_fragment_loadbalanced_config.json endpoint. Adjust the stage settings, fingerprint, or cipher suites here without touching any other file.
📁 Output Files
The system generates multiple output files for different use cases:
configs/proxy_configs.txt- Raw fetched configurationsconfigs/proxy_configs_tested.txt- Xray-tested configurationsconfigs/location/- Xray-tested configurations grouped by server country (25 country folders, e.g./proxy_configs.txt US,DE,GB)configs/singbox_configs_all.json- All configs in Sing-box formatconfigs/singbox_configs_tested.json- Sing-box tested configsconfigs/singbox_configs_secure.json- Security-filtered Sing-box configsconfigs/xray_secure_loadbalanced_config.json- Secure load-balanced Xray configconfigs/clash_configs_all.yaml- All configs in Clash/Mihomo formatconfigs/clash_configs_tested.yaml- Clash-compatible tested configsconfigs/clash_configs_secure.yaml- Security-filtered Clash configsconfigs/xray_loadbalanced_config.json- Load-balanced Xray configconfigs/xray_fragment_loadbalanced_config.json- Load-balanced Xray config with advanced TLS fragmentationconfigs/location_cache.json- Cached geolocation dataconfigs/channel_stats.json- Source performance metrics
🔄 Automation
The project uses GitHub Actions for automatic updates:
- Runs every 3 hours (8 times daily)
- Can be triggered manually via workflow_dispatch
- Automatically commits and pushes updated configurations
- Generates performance reports, charts, and a per-run pipeline summary
GitHub Actions Workflow
The workflow performs these steps in order:
- Fetch configs from all sources
- Enrich with geolocation data
- Rename with descriptive tags
- Test with Xray core (multi-round)
- Split tested configs by server country
- Convert to Sing-box format
- Test with Sing-box core (multi-round)
- Filter for security and generate the secure Sing-box and Xray outputs
- Generate Clash/Mihomo YAML configs
- Generate the load-balanced Xray config
- Generate the Fragment-enabled load-balanced Xray config
- Update charts and reports
- Generate the pipeline run summary
- Commit and push changes
🛡️ Security Features
Automatic Security Filtering
The system automatically removes:
- Insecure Shadowsocks ciphers (non-AEAD methods)
- VMess with MD5 authentication (deprecated alter_id)
- Unencrypted protocols (VLESS/Trojan without TLS)
- Invalid TLS configurations (insecure=true)
- VMess with security=none
Secure Endpoints
Dedicated secure endpoint files contain only configurations that meet modern security standards:
- Valid TLS/SSL certificates
- Modern encryption algorithms
- No deprecated authentication methods
- Proper certificate validation
📈 Performance Optimization
- Parallel processing for faster config testing
- Intelligent caching for geolocation data
- Connection pooling for HTTP requests
- Configurable timeouts to balance speed and reliability
- Smart retry logic with exponential backoff, limited to transient errors
- Resource cleanup to prevent memory leaks
🌍 Geolocation System
Multi-API Support
The system supports multiple free geolocation APIs with automatic fallback:
- api.iplocation.net - Unlimited, fast, accurate
- freeipapi.com - 60 req/min, very fast
- ip-api.com - 45 req/min, reliable
- ipapi.co - 1000 req/day
Smart Detection
- Automatic URL pattern detection
- Efficient caching to minimize API calls
- Graceful degradation if APIs fail
- No API keys required
📊 Statistics and Monitoring
Real-time Metrics
The system tracks comprehensive metrics for each source:
- Total configs fetched
- Valid vs invalid ratio
- Unique config contribution
- Average response time
- Success/failure rates
- Overall health score
Visual Dashboards
- SVG Chart - Quick performance overview
- Interactive HTML Report - Detailed analytics with:
- Pipeline Run Summary - A config count for every stage and output file, shown directly on each GitHub Actions run page
🧪 Testing
The tests/ folder contains an automated test suite covering the parsing, security, and testing-batch logic. It runs automatically on every push and pull request via .github/workflows/tests.yml and is completely separate from the scheduled config-fetching workflow, so it never affects or delays the regular automatic runs.
To run it locally:
pip install -r requirements-dev.txt
python -m pytest tests/ -v
🤝 Contributing
Contributions are welcome! Here's how you can help:
- Report Issues - Found a bug? Open an issue
- Suggest Features - Have an idea? Start a discussion
- Submit PRs - Improvements are always appreciated
- Add Sources - Know good proxy sources? Share them
- Improve Docs - Help make documentation better
⚠️ Disclaimer
This project is provided for educational and informational purposes only. The developers are not responsible for:
- Any misuse of this software
- Any damage or losses incurred
- The quality or security of third-party proxy configurations
- Violations of local laws or regulations
- Ensuring compliance with local laws
- Verifying the security of configurations
- Understanding the risks of using proxy services
- Respecting the terms of service of proxy providers
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
👤 About the Developer
Developed with ❤️ by 4n0nymou3
- 🐙 GitHub: @4n0nymou3
- 🐦 Twitter/X: @4n0nymou3
- 📦 Repository: multi-proxy-config-fetcher
🙏 Acknowledgments
- Xray-core - High-performance proxy platform
- Sing-box - Universal proxy platform
- Clash/Mihomo - Modern proxy platform
- GitHub Actions - Automation infrastructure
Made with 💚 by Anonymous