One familiar app. Any server you trust.
OwpenGram for Desktop is a multi-server messenger built on a fast, familiar experience. Use the official network, your own private server, or any community node β each account independent, all in one app. Private by design, comfortable to use, and free from lock-in.
πͺ Available now for Windows. macOS and Linux builds are planned.
π Built on MTProto API layer 228.
- π Multi-server β add accounts on different servers and switch between them freely.
- π Bring your own server β connect to a server you host and fully control.
- π§ Familiar & comfortable β the experience you already know, no learning curve.
- π Private β talk on infrastructure you trust, away from the cloud.
- π‘οΈ Censorship-resistant β your own server stays reachable when others are blocked.
- π Open source β read it, audit it, build it yourself.
Every account is tied to a server, and you choose that server when you sign in. OwpenGram comes with ready-to-use options:
- Telegram β the official network (use your normal Telegram account)
- OwpenGram β the project's public server
- Custom β any server you or your community runs
Add several accounts on different servers and they stay cleanly separated β different identities, different data, one app.
On the server selection screen (shown when you log in or add a new account), click β Add server and fill in:
- Name β any label you like (e.g. My Server)
- Host β your server's IP or domain (e.g.
203.0.113.10orchat.example.com) - Port β
2398(the default OwpenGram MTProto port) - Type β choose single-server for a self-hosted server (pick Multi-DC (Telegram) only for true multi-datacenter networks)
- Main data center β leave as
2(the default) for a self-hosted server - RSA key β leave empty unless your server uses a custom key
Then save, select the server, and log in as usual.
The default OwpenGram server key is already built in, so the RSA field stays blank in almost all cases. Only paste a PEM public key if the server operator replaced the server's key with their own.
Don't have a server yet? Spin one up in one command: π owpengram-server
Run the interactive build script β double-click it or run from a terminal:
build-windows.batIt guides you through API credentials, submodules, prepare, configure and the
MSBuild step, and remembers your answers in .owpengram-build.local.json
(gitignored).
Requirements: Visual Studio 2022 (C++ x64), Python 3.10, Git. For manual
steps and other platforms, see docs/building-win-x64.md and the upstream
Telegram Desktop build docs.
Native build against system libraries (no Docker, no snap):
scripts/build-linux.sh # Release (default)
scripts/build-linux.sh --debug # DebugIt installs missing system dependencies (pacman), builds and installs tde2e
locally, initializes submodules, configures CMake in packaged mode, and builds
with mold if available. The resulting binary is at out/OwpenGram.
Requirements: Arch/Manjaro (pacman-based) or a distro with equivalent packages, CMake, Ninja, Git.
- π Server
- π€ Android client
- π GitHub organization
- π’ Channel: @owpengram
- π¬ Chat: Join the discussion
Based on Telegram Desktop β GPLv3 with the OpenSSL exception (LICENSE).
- Qt 6 (LGPL) and Qt 5.15 (LGPL) slightly patched
- OpenSSL 3.2.1 (Apache License 2.0)
- WebRTC (New BSD License)
- zlib (zlib License)
- LZMA SDK 9.20 (public domain)
- liblzma (public domain)
- Google Breakpad (License)
- Google Crashpad (Apache License 2.0)
- GYP (BSD License)
- Ninja (Apache License 2.0)
- OpenAL Soft (LGPL)
- Opus codec (BSD License)
- FFmpeg (LGPL)
- Guideline Support Library (MIT License)
- Range-v3 (Boost License)
- Open Sans font (Apache License 2.0)
- Vazirmatn font (SIL Open Font License 1.1)
- Emoji alpha codes (MIT License)
- xxHash (BSD License)
- QR Code generator (MIT License)
- CMake (New BSD License)
- Hunspell (LGPL)
- Ada (Apache License 2.0)
β If OwpenGram is useful to you, a star on GitHub helps a lot.


