The official app
Connects straight to Telegram's servers with its own protocol. Known addresses, recognisable traffic β easy to throttle or cut off.
Unofficial Telegram client
FPTG is an unofficial Telegram client built on the Telegram API, split in two: a small server on your VPS talks to Telegram, and your computer talks only to your server β over a single encrypted WebSocket that looks like any other HTTPS site.
FPTG uses the Telegram API and is not affiliated with or endorsed by Telegram.
Why it works
Network filters recognise Telegram by where it connects and how its traffic looks. FPTG never lets your computer touch Telegram at all.
Connects straight to Telegram's servers with its own protocol. Known addresses, recognisable traffic β easy to throttle or cut off.
Work until their protocols are fingerprinted, and they reroute everything you do β often through someone else's server.
One wss:// connection to a server you own. Standard TLS, a single port, nothing Telegram-shaped on the wire.
How it works
The heavy lifting runs on your VPS outside the filtered network. Your desktop only draws the interface and talks to that server.
Your computer
Your VPS
Telegram
The FPTG server runs the official TDLib library, keeps your chats in sync and serves them over HTTPS and WebSocket. Console version for a headless VPS, or one with a small control window.
The FPTG client is a native window with a tray icon, desktop notifications, a call window and bot mini apps. It holds no Telegram data β just the address of your server and a sign-in token.
Everything goes through one TLS connection to one port. The client pins the server's certificate fingerprint, so nobody in between can pose as your server.
Features
Built on TDLib, Telegram's own library β the same one official apps use. Your account, chats and contacts behave exactly as you expect.
Folders, replies, albums, polls, file transfer by drag and drop, link previews, a media viewer and a jump-to-date in history.
Your sets, recents and saved GIFs, loaded only when you open the panel.
Incoming calls pop up in their own small window.
Inline keyboards, bot commands and Telegram mini apps in a separate window.
Keep personal and work numbers side by side on one server.
Message cards on your desktop and a tray icon. Close the window β it keeps watching.
Dark and light themes, your accent colour, window frames to match.
Away from your desk? The server serves the same interface to a normal browser.
See how much you send and receive, and clean the server's cache in one click.
The name
FP is for Free Pascal, TG is for Telegram: FPTG is an unofficial Telegram client written in Free Pascal. Both programs β the server on your VPS and the client on your desktop β are Free Pascal code, built with the Lazarus IDE.
Free Pascal compiles straight to machine code. There is no .NET, Java, Node.js or Python runtime to put on your VPS: the server is one executable next to TDLib.
The Telegram protocol itself is handled by TDLib, Telegram's official library. Everything around it is Free Pascal: the server, the bridge to the interface, HTTPS and WebSocket, sign-in, the desktop window, tray and notifications.
The desktop parts use Lazarus, the open-source IDE and component library for Free Pascal. The chat interface itself is a web page shown in WebView2 β which is why the same interface also opens in any browser.
Free Pascal targets Windows, Linux and macOS from the same source. FPTG runs on Windows today; a Linux version is in development and will be available soon.
Setup
You need a small VPS somewhere Telegram isn't blocked, and a computer with 64-bit Windows 10 or 11.
Unpack fptg-server.exe together with tdjson.dll and its companion libraries into one folder.
The server belongs to one person. Pick a login; it will ask for a password.
> fptg-server.exe --set-user=alice
It prints the address, port and certificate fingerprint β keep them for the next step. Port 443 makes it blend in best.
> fptg-server.exe --server-port=443
Have a domain? Bring your own certificate with --cert and --key. Prefer a window to a console? Run fptg-server-gui.exe β same server, with start/stop and a tray icon.
Unpack it anywhere and start fptg-client.exe. It shows its interface with the Microsoft Edge WebView2 Runtime: Windows 11 has it built in.
On Windows 10 it may be missing β the client then offers to download it, or get it yourself from Microsoft (the Evergreen Bootstrapper).
Enter the address and port, then check that the fingerprint matches what the server printed. From then on the client trusts only that certificate.
First with the login and password you gave the server, then to Telegram as usual β phone number and code, or a QR code from your phone.
https://my-vps.example:443/
Same login and password. Useful on a work laptop or a phone where you can't install anything.
Your server, your rules
There is no FPTG cloud. The only machines involved are your computer, your VPS and Telegram itself.
TLS on every connection, no plain-HTTP fallback. Your provider sees one encrypted session to one address.
The desktop client remembers your server's fingerprint and refuses an impostor.
A single user per server. Short-lived tokens; sign out everywhere with one command.
Configuration files on both machines are encrypted with a key protected by Windows.
FAQ
No. FPTG is an unofficial Telegram client. It works through the Telegram API using TDLib, the library Telegram publishes for third-party apps, and it is not affiliated with, endorsed or sponsored by Telegram. You sign in with your usual Telegram account.
Free Pascal + Telegram. FPTG is an unofficial Telegram client, and both of its programs are written in Free Pascal. More about the name.
Blocking targets Telegram’s addresses and the shape of its traffic. Your computer never connects to Telegram β only to your VPS, over a standard encrypted WebSocket, the same technology countless websites use. The VPS sits outside the filtered network and does the talking to Telegram.
No. Only Telegram goes through your server; the rest of your traffic stays as it is.
A small one is enough: the server is a single executable with TDLib next to it. What matters most is location β pick a provider in a country where Telegram is reachable.
Probably. The server listens on one TCP port β the one you chose with --server-port, or 7654 by default β and incoming connections to it may be blocked by a firewall. Allow that port in Windows Firewall on the VPS:
> netsh advfirewall firewall add rule name="FPTG" dir=in action=allow protocol=TCP localport=443Replace 443 with your port. Many providers also have their own firewall or security group in the control panel β open the same port there.
A server holds one person’s Telegram data, so it has exactly one user. That user can add several Telegram accounts.
The free version runs one server per computer. Running several server instances on one machine β one for each family member β will be part of a paid version. We’ll announce it separately when it’s released. Until then, another person needs their own VPS.
The desktop app is for Windows. On any other device, open your server’s address in a browser β you get the same interface.
A Linux version is in development and will be available soon.
Free to use. Get the server and the client, and keep your chats flowing.