Maybe you've just arrived somewhere Telegram is restricted, and someone in a channel or a group chat tells you to "just get MTProto", as if everyone around has known what that means for ages. You search for it and get a jumble: sites that look like an "official MTProto website", lists of servers, some kind of "keys" and "Connect" buttons. From the results it's hard to tell whether this is something to download or just somebody's site. And in Telegram's settings there's SOCKS5 sitting right next to it. The links themselves connect with one tap, but one ends in a short string of characters and another in a string almost twice as long.

I'm not writing this as an outsider. At FreeGate we sell exactly this, MTProto proxies, so you can't really call me impartial, and you're right to keep that in mind. But we only come up in the last section. Until then it's mostly what Telegram itself says in its documentation and in the code of its apps.

Where the word MTProto comes from

MTProto wasn't invented for proxies. It's the name of Telegram's own protocol, and the whole app runs on it: Telegram's FAQ says plainly that it is "based on the MTProto protocol". Put very simply, the protocol describes how the app talks to the servers: how to write a request, how to encrypt it before sending, and how to carry it over the network, whether over TCP, HTTPS or WebSocket. Since version 4.6 the major Telegram apps have used the second version of the protocol, and the first one is considered deprecated.

This basic layer encrypts ordinary cloud chats on the way between the app and the server. Secret chats and calls get end-to-end encryption on top of that, separately. What matters here is that your messages leave the app already encrypted, whatever stands between you and Telegram's servers.

And this is where the proxy comes in. An MTProto proxy takes this encrypted traffic from your Telegram, obfuscates it on top, and passes it on to Telegram's servers. It got its name from the protocol: only Telegram understands this kind of proxy, and other programs don't go through it. There's nothing to download for it either, because all Telegram mobile and desktop apps can connect through a proxy on their own. So when search suggests "download MTProto", I honestly don't know what people expect to download.

Since your traffic goes through someone else's server, it's fair to ask what that server sees. Here I can reassure you: Telegram's proxy help page says the owner of an MTProto proxy can't read your messages and can't see your username, account id or chat list. But there are things they can see: which IP you connect from, at what times, and the simple fact that you use Telegram. For people who expect serious surveillance, Telegram advises adding a trusted VPN on top, so this is not about anonymity. How to choose a proxy with all this in mind, I covered in the general article on Telegram proxies.

Why SOCKS5 sits next to it in the settings

In its proxy settings Telegram offers two main types, SOCKS5 and MTProto, and some apps also handle HTTP proxies. Since August 2026, Telegram Desktop 7.1 has added a WEB proxy type as well, but it's a separate thing and has nothing to do with MTProto. What will come of it, I don't know yet.

SOCKS5 is older than Telegram and has no connection to it. It was described in the RFC 1928 standard back in March 1996 as a general layer for any client-server programs (a browser, email, anything really) working over TCP and UDP. Telegram Desktop could go through SOCKS5 and HTTP proxies from version 0.2.8, released in January 2014, long before MTProto proxies appeared.

For SOCKS5 a server address and a port are enough, sometimes with a username and password on top. It has no obfuscation of its own. Telegram's help explains that proxies usually just reroute traffic without adding encryption of their own, while MTProxy also obfuscates the traffic and takes anti-tracking measures. Your messages are encrypted by Telegram itself either way, so the difference isn't about whether someone can read them. An MTProto proxy simply won't work without a secret: it always needs an address, a port and a secret.

You can tell them apart right from the link. If a link starts with t.me/proxy? or tg://proxy? and has secret= at the end, it's MTProto, while t.me/socks? without secret=, sometimes with user= and pass=, means SOCKS5.

What the start of the secret tells you

An MTProxy secret is 16 bytes long, and in a link it's most often written in hexadecimal characters (digits and the letters a to f), which gives 32 characters. What tells you the variety isn't the whole secret but its first two characters and its length.

If it starts with dd and the secret is two characters longer than usual, that is 34 characters, Telegram turns on a mode with random padding of packets. Random bytes are added to the data, so packets come out in different sizes.

The longest secrets start with ee. With them, Telegram sets up the connection as TLS, roughly the way a browser does when it opens a site over HTTPS, and after the 17th byte the secret holds a domain name written right into it. You can see this in the code of Telegram Desktop and Telegram for Android: both apps look at the first byte of the secret and at its length, and for ee they take the domain from the tail. If you take a made-up secret with the domain example.com and break it down by the same rules, you get 56 characters, and the tail decodes back into the address: ee…6578616d706c652e636f6d.

The example is invented, there's no real proxy behind it, and 6578616d706c652e636f6d is simply example.com in hexadecimal. The official MTProxy server has supported this mode since 2019.

One caveat. Since version 6.7.4 from April 2026, Telegram Desktop also accepts secrets in base64, and then the start looks different. But most often the secret is written in hexadecimal characters, and the first-two-characters rule works.

In search results you'll come across advice to look for proxies with a key starting with dd, as if that were a sign of a good proxy. There's no source for this advice, and it mixes things up: dd changes packet sizes, while the TLS-like connection comes from ee. Personally, I wouldn't judge whether a proxy is good by two letters at all. They tell you how the connection is made, not who runs the server or how.

Why Telegram connects an MTProto proxy on its own

Telegram got SOCKS5 ready-made, but it built the MTProto proxy itself, for itself and for its own protocol. That happened in spring 2018. In the Telegram Desktop changelog on 18 May, in version 1.2.21 alpha, a line appeared about supporting domain names in mtproto proxy, and the MTProxy repository on GitHub was created on 29 May 2018. By version 1.3.0 on 1 June, the app could already save several proxies.

That's why Telegram understands a t.me/proxy link without any outside help. You tap it, the app reads the address, port and secret by itself and asks about the proxy, and all you have to do is tap "Connect Proxy". After that the proxy is stored in the settings, and if you have several proxies, you can turn on auto-switching in Telegram for Android and in Telegram Desktop (since version 6.7.8).

The server lives by Telegram's rules too. It gets a service secret and a configuration from Telegram, and the description recommends updating that configuration once a day, and the official bot can generate the link for users on the owner's behalf. The server code is open, so anyone can look at it, and anyone can set up their own server with it. The owner can also register the proxy with the @MTProxyBot bot and show people who connect a sponsored channel to cover server costs. So if an unfamiliar channel shows up in your chat list after you connect, it was most likely put there by the proxy owner.

As for an "official MTProto website", Telegram doesn't have a site with a list of proxies. There's the proxy help page and the server code on GitHub, and Telegram suggests finding proxies through search or in channels you trust. The word mtproto in a site's address guarantees nothing. Anyone can put it in a domain name, and a footer that looks like Telegram's doesn't make a site official either. So it's better to take a link from someone you already trust, whether a friend, a channel or a service that takes responsibility for its server.

What we offer

Now, as promised, about FreeGate. We give you a personal MTProto proxy with ee links, so the connection is disguised as ordinary HTTPS. The proxy works only inside Telegram, so your banking app and all your other apps go online directly, as usual. Each device gets its own link, and if one leaks, you change it in your account with one tap, and the old one stops working at once. We can't see your messages: Telegram encrypts them itself, and the proxy only passes on encrypted data.

It connects just as I described above. You tap "Connect in Telegram" or scan the QR code, and Telegram asks about the proxy. All you need to sign up is an email and a password, no phone number. You can try it for free: 1 day after you sign up with your email and confirm it, with no payment and no automatic charges. After that it's $1.00 for 30 days or $2.50 for 90 days, price per device, so if you need it on a phone and a computer, choose 2 when buying. It works in the official Telegram apps for iOS, Android, Windows, macOS and Linux, and everything else is at freegate.app/world.