Read in English | ΠΠ° ΡΡΡΡΠΊΠΎΠΌ | δΈζ | ΩΨ§Ψ±Ψ³Ϋ
A powerful tool to verify Telegram MTProto Proxies by performing real protocol handshakes. Unlike simple TCP checkers, this tool attempts to fetch the actual server configuration from Telegram via the proxy, ensuring 100% connectivity and eliminating the "Connecting..." issue.
- Deep inspection: A real MTProto handshake and a
help.getNearestDCcall through the proxy β not a TCP ping β so "working" means Telegram actually connects. - Go backend: Powered by
gotd/tdβ fast, stable, one ~21MB binary with no dependencies. - Paste anything: Dirty lists are cleaned automatically β mangled
tg:///https://t.melinks are fixed, spam secrets and invalid ports dropped β and no phone login is needed (public test keys). - Three ways to load a list: Paste it, pick a
.txt/.csv/.listfile, or drag one onto the input box. - Pause & resume: Interrupt a scan and continue where it left off without rechecking.
- Results ready to use: Working proxies land in a table sorted by ping, with per-row copy, a plain-text view, and TXT/JSON export.
- Interface: Dark & light themes, four languages (English, Persian, Russian, Chinese).
Download the pre-built binary for your platform from Releases.
| Platform | File |
|---|---|
| Windows (amd64) | mtproto-checker-windows-amd64.exe |
| Linux (amd64) | mtproto-checker-linux-amd64 |
| Linux (arm64) | mtproto-checker-linux-arm64 |
| macOS (Intel) | mtproto-checker-darwin-amd64 |
| macOS (Apple Silicon) | mtproto-checker-darwin-arm64 |
Run the binary. Once the server is listening, your browser opens automatically at the bound address (default http://127.0.0.1:3000). Set NO_BROWSER=1 to disable the auto-open; it is also skipped automatically when HOST is set to a non-loopback address (e.g. a headless server with HOST=0.0.0.0). If the launch fails, the server keeps running β open the printed address manually.
The server listens on
127.0.0.1only. Set thePORTenvironment variable to change the port, andHOST=0.0.0.0to expose it to the network β there is no authentication, so opt in deliberately.
Requires Go 1.26.3+ (matches the go directive in go.mod). Download Go.
git clone https://github.com/rahgozar94725/MTProto-Checker.git
cd MTProto-Checker
go build -o mtproto-checker .
./mtproto-checkerBinary: ~21MB, no other dependencies.
- Get Proxies: Copy your list of mixed/dirty MTProto proxies.
Tip: You can find a huge list of free proxies in this repository.
- Load the List: Paste into the "Input List" box, click "File", or drag a file onto the box.
- Start Check: Click the "Start Check" button.
- Wait: Invalid formats are filtered out first, then connections are tested in batches with live progress.
- Collect Results: Working proxies appear in the results table, fastest first β copy a single row, click "Copy Working List", or export as TXT/JSON.
The UI uses POST /check-stream (Server-Sent Events). For scripts, POST /check is the supported endpoint β one proxy per request:
curl -s http://127.0.0.1:3000/check \
-H 'Content-Type: application/json' \
-d '{"server":"1.2.3.4","port":443,"secret":"ee...","timeout":10}'
# {"ok":true,"ping":123} or {"ok":false}timeout is in seconds, clamped to 3β30 (default 5). Request bodies are capped at 8 MiB, and batch requests accept at most 10 000 proxies (HTTP 413 beyond either limit).
POST /check-batchis deprecated: it still works but answers with aDeprecation: trueheader and will be removed in a future release. Use/checkfor scripting or/check-streamfor streaming results.
This tool spins up a real Telegram client in the background and connects exactly like the phone app does β if it succeeds, the proxy definitely works. Many proxies respond to TCP pings but fail to encrypt/decrypt Telegram packets (fake proxies).
- Parses & Sanitizes: Cleans up broken links (e.g.,
.&porttypos). - Validates Secret: Rejects secrets that are too long (spam padding) or invalid.
- Connects: Establishes a secure MTProto connection through the proxy.
- Invokes API: Sends a
help.getNearestDCrequest to Telegram Data Centers. - Result: If the server replies, the proxy is marked as Working with its latency.
- gotd/td β MTProto API client with native MTProxy support
- Vanilla HTML/CSS/JS frontend β no frameworks, no build step
- Single binary, no external dependencies
If you found this tool useful, you can support the development:
This project is open-source and available under the MIT License.
