Skip to content

Built-in censorship circumvention in Telegram client (MTProto or AWG-based) #2091

@sargesx

Description

@sargesx

Telegram is increasingly facing blocking and traffic interference in multiple countries. Right now, the main workaround for users is to manually configure proxies or use external VPN solutions.

For most users, this is not practical.

People want a messenger that simply works. They do not want to search for proxies, test them, rotate them, or deal with unstable connections. On iOS and macOS in particular, there is no proper auto-recovery mechanism when a proxy stops working.

On April 4, 2026, Pavel Durov stated that tens of millions of users continue using Telegram through VPNs, and that Telegram will keep adapting its traffic to make it harder to block.

However, adapting TLS fingerprints alone is not enough.

If Telegram acknowledges that users are forced into this “digital resistance”, then the responsibility should not be pushed entirely onto users.

There should be a built-in censorship circumvention mechanism directly inside the Telegram client.

Possible directions:

  • Native MTProto-based obfuscation layer with automatic endpoint discovery
  • Integration of a protocol similar to AmneziaWG (AWG) for traffic tunneling
  • Automatic fallback and recovery without user interaction
  • Seamless operation across mobile and desktop platforms
  • No manual proxy configuration required

This could be:

  • Enabled by default in restricted regions, or
  • Offered as a Telegram Premium feature

The key idea is simple: users should not have to think about how to access Telegram. The client should handle it automatically.

If this approach does not change, there is a real risk that ongoing blocking efforts will eventually degrade usability to the point where less technical users are effectively pushed out.

Telegram has the technical capability and scale to solve this problem properly. It should be solved at the client level, not delegated to users.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions