This project automatically fetches and updates various proxy configurations from public Telegram channels and other URLs containing configuration data. It supports multiple proxy protocols including WireGuard, Hysteria2, VLESS, VMess, Shadowsocks, and Trojan.
Below is the real-time performance statistics of the configured sources (Telegram channels and other URLs). This chart is automatically updated every hour.
📊 View Full Interactive 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 configurations.
- Config Uniqueness (25%): Percentage of unique configs contributed.
- Response Time (15%): Server response time and availability.
The overall score is calculated in real-time and updated hourly. Sources scoring below 30% are automatically disabled.
Note: The sources listed are examples. You can easily modify the source list in
src/config.py
to use your preferred Telegram channels or other URLs. The performance metrics shown above are based on real-time monitoring of each source's reliability in providing valid configurations.
- Supports multiple proxy protocols:
- WireGuard
- Hysteria2
- VLESS
- VMess
- Shadowsocks (SS)
- Trojan
- Fetches configs from:
- Public Telegram channels
- URLs hosting configuration files
- Smart handling of base64-encoded configs (preserves original format)
- Protocol-specific validation and verification
- Automatically updates configs every hour
- Validates config age (excludes configs older than 7 days)
- Removes duplicates
- Real-time source performance monitoring
- Automatic source health management
- Dynamic protocol distribution balancing
- Fork this repository.
- Edit
src/config.py
and add your Telegram channels or other URLs to theSOURCE_URLS
list. - Enable GitHub Actions in your forked repository.
- The configs will be automatically updated every hour in
configs/proxy_configs.txt
.
# Clone the repository
git clone https://github.com/yourusername/multi-proxy-config-fetcher.git
cd multi-proxy-config-fetcher
# Install dependencies
pip install -r requirements.txt
# Run manually
python src/fetch_configs.py
Edit src/config.py
to modify:
- Source list (Telegram channels or URLs)
- Minimum/maximum configs per protocol
- Protocol ratios and balancing
- Maximum config age
- Output file location
- Supported protocols
- Request headers and timeouts
If you fork this repository, you need to manually enable GitHub Actions:
- Go to
Settings > Actions
in your forked repository. - Select Allow all actions and reusable workflows.
- Save the settings.
├── src/
│ ├── config.py # Project configuration
│ ├── config_validator.py # Config validation and verification
│ └── fetch_configs.py # Main fetcher implementation
├── configs/
│ ├── proxy_configs.txt # Output configs
│ └── channel_stats.json # Source performance stats
└── .github/
└── workflows/
└── update-configs.yml # GitHub Actions workflow
The project tracks comprehensive performance metrics of each source in configs/channel_stats.json
:
- Overall performance score (0-100%)
- Success rate in fetching configurations
- Valid vs total configs ratio
- Unique config contribution
- Response time and reliability
- Source health status
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is provided for educational and informational purposes only. The developer is not responsible for any misuse of this project or its outcomes. Please ensure compliance with all relevant laws and regulations when using this software.
Developed by 4n0nymou3.
For more information or to contact the developer, visit their X (Twitter) profile.