High-performance Telegram proxy checker with a modern desktop GUI.
The app can:
- Paste and test proxies manually
- Load proxies from
proxies.txt - Fetch fresh proxies from GitHub raw source URLs
- Auto-fetch sources every N hours
- Scan proxies concurrently and save working ones with latency
- Desktop GUI with purple theme (
customtkinter) - Supports
MTProto,HTTP, andSOCKS5 - Async worker-pool scanning (memory-friendlier for large proxy lists)
- Controlled connector limits (
TCPConnector(limit ~= concurrency * 2)) - Timeout handling (default: 5 seconds)
- Strict Mode for deeper validation (slower, more accurate)
- Real-time progress and live result table
- Output file with working proxies + ping:
working.txt
- Python 3.10+
- Windows / Linux / macOS
Install:
pip install -r requirements.txtDouble-click run.bat or run:
.\run.batThis opens the purple UI (proxy_gui.py).
python telegram_proxy_checker.py -i proxies.txt -o working.txt -t 5 -c 300Strict CLI mode:
python telegram_proxy_checker.py -i proxies.txt -o working.txt -t 5 -c 300 --strictYou can paste any of these formats in the GUI input box:
tg://proxy?server=1.2.3.4&port=443&secret=dd...
https://t.me/proxy?server=1.2.3.4&port=443&secret=dd...
1.2.3.4:443:mtproto:dd...
1.2.3.4:1080:socks5
1.2.3.4:8080:http
See proxies.sample.txt for examples.
Working proxies are saved to working.txt in this format:
tg://proxy?server=1.2.3.4&port=443&secret=dd... | 275.4 ms
- No proxy scanner can guarantee 100% validity at all times.
- Proxy status can change in seconds due to bans, overload, routing changes, or Telegram filtering.
- Use
Strict Modefor better accuracy (slower scan). - For production use, re-check working proxies periodically and use rotation/fallback logic.
- MTProto verification is probe-based (not a full Telegram client handshake), so edge-case false positives can still happen.
Recommended before first push:
- Keep your real proxy list private (
proxies.txtis already ignored). - Keep only sample input (
proxies.sample.txt) in the repository.
Typical commands:
git init
git add .
git commit -m "Initial release: Telegram Proxy Checker GUI + strict mode"
git branch -M main
git remote add origin <YOUR_GITHUB_REPO_URL>
git push -u origin mainproxy_gui.py: main GUI apptelegram_proxy_checker.py: CLI scanner enginerun.bat: Windows launcher (GUI first, CLI fallback)requirements.txt: dependenciesproxies.sample.txt: sample input listREADME_FA.md: Persian documentationlegacy/is not part of the current ZIP release
proxies.txt is ignored by .gitignore by default because it may contain sensitive/private proxy data.