You added a proxy (from a link in a channel, from a friend, or one you paid for), and a shield appeared at the top of your chat list. Everything seems done, yet Telegram keeps spinning on the connection, chats don't update, photos won't open and calls don't go through. Sites with lists of proxy addresses usually have one answer for this: the address is blocked, take another one, preferably theirs. Sometimes that's true. But there's more than one possible cause, and Telegram itself hints at which one is yours, if you know where to look.

The place to look is the proxy list. On Android it's under Settings → Data and Storage → Proxy Settings, on iPhone under Settings → Data and Storage → Proxy, and in Telegram Desktop on a computer under Settings → Advanced → Connection type. I took the labels below from Telegram's code and its English strings, so current versions show them like this, while in an old version a word here or there may differ.

What it says next to the proxy you selected

For the selected proxy Telegram shows, in essence, two states. The first means the main connection to Telegram through this proxy is up: Telegram Desktop calls it "online", Android "Connected", iPhone "connected". The second, "connecting…", means there's no connection and the app keeps trying. You won't see "not available" next to the selected proxy, even if it stopped answering long ago, because Telegram gives that label only to the other proxies in the list. There's one exception, a WEB proxy in Telegram Desktop: for that type even the selected one can be "not available".

The platforms also write these labels differently. Telegram Desktop uses lowercase, "online" and "connecting…", while Android capitalises them, "Connected" and "Connecting...", and sometimes adds the ping after a comma. iPhone has three options, "connected", "connecting" and a third one, "waiting for network", which means the device itself has no network, so the proxy has nothing to do with it.

The status at the top of the screen says the same thing, but here the platforms differ more. Android shows "Connecting to proxy...". iPhone shows the usual "Connecting..." and once displays the hint "The proxy may be unavailable. Try selecting another one." In Telegram Desktop a loading indicator appears on the proxy icon in the bottom left corner, and the word "Connecting..." is visible only when you hover the mouse over it.

The other saved proxies show the result of a check instead. In Telegram Desktop that's "available (ping: N ms)", "not available" or "checking…". Android writes "Available" with the ping, "Unavailable" or "Checking...", and iPhone also puts the type first, so you get "MTProto, N ms ping".

A separate word about the shield. Telegram's help says it appears when a proxy is connected, and tapping it opens the proxy settings right away. But on Android the shield comes in two kinds: a solid one when there is a connection, and one with an arc spinning around it when the proxy is on but there's no connection. In current Android versions this icon is tucked away in the "⋮" menu above the chats, in the "Proxy" item labelled "Connected", "Connecting" or "Disabled". So a shield means the proxy is turned on, but it doesn't yet mean it works.

If the selected proxy is stuck on "connecting…"

There's no connection through the proxy right now, and whose fault it is, the proxy's, the network's or the link's, the app doesn't tell you. If the proxy is a paid one, start by checking whether your subscription has run out, for example in your account if there is one. The other steps go roughly from quick to slow, and you don't have to do them all: as soon as it works, you can stop.

  1. Look at the other proxies in the list. If one of them shows a ping, tap it and Telegram will try to connect through it. When you have several proxies saved, it's handier to turn on "Auto-switch proxies". On Android this setting appears when the proxy is on and there's more than one in the list, and by default Telegram waits 10 seconds (you can pick from 5 to 60) before moving to an available one. Telegram Desktop has had this setting since version 6.7.8. I didn't find such a setting in the current code of Telegram for iPhone.
  2. Turn the proxy off for a minute and see how Telegram behaves without it. On a phone there's the "Use Proxy" switch for this, on a computer the "Disable proxy" option, and your saved proxies stay in the list. If a VPN is on at the same time, keep only one of the two while you test, otherwise you can't tell which one is in the way.
  3. Try another network: switch from Wi-Fi to mobile data or the other way round. The proxy settings stay the same, so if the proxy connects on one network and not on the other, the problem is the network, not Telegram.
  4. Paste the link again, in full. A link that got cut off or stuck to the text next to it is either rejected by Telegram Desktop with a message like "The proxy link is invalid." or "This proxy link uses invalid secret parameter.", or, which is worse, accepted silently, and then the proxy simply doesn't connect. It's more reliable to send the link to yourself in Saved Messages and tap it there instead of opening it in a browser.
  5. Update Telegram. Since version 6.7.4, Telegram Desktop also accepts one more secret format in links. And if it says "Your Telegram Desktop version doesn't support this proxy type or the proxy link is invalid. Please update Telegram Desktop to the latest version.", it's asking for the same thing itself.

With a free link from a public list, things are simpler and sadder. It may have died, or it may not cope with everyone using it, and the owner of that server never promised you anything. Telegram's help says plainly that you should take proxies from a source you trust, otherwise the proxy may simply fail to deliver what you send. How proxies differ and where to get them, I covered in the article about Telegram proxies. And sometimes it's neither the proxy nor you, but restrictions on the network.

It says connected, but photos won't load and calls don't go through

This is the most annoying case: Telegram seems to confirm everything, and the proxy even has a good ping. I looked into Telegram's code to see what this ping actually checks. Telegram Desktop opens a connection through the proxy to the main Telegram server for your account, sends one service request and measures how long the reply takes. Android does almost the same, only with the default server. So the ping and "online" or "Connected" only tell you that the main connection to one server gets through the proxy.

Photos, videos and documents, according to Telegram's documentation, travel over separate connections, often from other servers, not over the connection that carries your messages. That's why messages can arrive while files get stuck. Why exactly they get stuck, I don't know for sure, and what follows is only an assumption: a weak or overloaded proxy may let messages through but not cope with files. If it keeps happening, I'd switch to another proxy from the list and compare.

Calls are a different story, and the proxy isn't to blame. Calls bypass MTProto proxies: I looked at the code of all three apps, and none of them routes a call through one. So if a call won't connect, the status in the proxy list has nothing to do with it.

It also happens that the proxy is fine, it's just set up in the wrong place. A proxy is configured in each app separately and stored on the device where it was added: you set it up on your phone, and your computer doesn't have it. On top of that, Telegram Desktop uses the system proxy settings by default ("Use system proxy settings"), and your own proxy works only when "Use custom proxy" is selected. When you connect through a link, Telegram selects this option itself, but if someone switched it later, the proxy from the list isn't used. Telegram Web has no proxy support at all, so there's nowhere to set one up in the browser.

If your proxy is ours

Now briefly about us. I should say that we sell proxies ourselves, so everything above was written by an interested party, keep that in mind. If your proxy is FreeGate and the selected one says "connecting…", first check whether your subscription has run out. When it does, the link stops connecting, and Telegram keeps trying to connect through it, hence the endless "connecting…". Renew the plan in your account or turn the proxy off in Telegram settings, and nothing is charged without your action.

FreeGate gives you a personal proxy that works only inside Telegram, while your browser and other apps go online directly, as usual. Each device gets its own link, and if yours leaks, you can change it in your account with one tap, and the old one stops working at once. Switch from Wi-Fi to mobile data, and the link works right away, no waiting. FreeGate can't see your messages: Telegram encrypts them itself, and the proxy only passes on encrypted data. And to avoid surprises, calls bypass our proxy too, just as with any other MTProto proxy.

If you want to try it yourself, there's 1 free trial day after you sign up with an email and confirm your address, no payment and no phone number. After that it's $1.00 for 30 days or $2.50 for 90 days, price per device: if you need a proxy on both a phone and a computer, choose 2 when buying. You can see the plans and sign up at freegate.app/world.