| MyPoint VPN |
Your own VPN on your own server in one message |
Rent a server, send the Telegram bot its IP and password, and it locks the server down, installs 3x-ui and sets up VLESS + Reality. Client keys and subscriptions come from the bot too. |
https://mypointvpn.sokolab.xyz/ |
Telegram bot · Debian 12 and 13 |
mypointvpn |
family=Unbounded:wght@500;700&family=Manrope:wght@400;600;800&family=JetBrains+Mono:wght@400;600 |
/blog/mypointvpn-serverus |
How a VPN bot learned to manage servers |
|
|
| label |
href |
| Features |
#features |
|
| label |
href |
| Get started |
#start |
|
| label |
href |
| Serverus |
#engine |
|
| label |
href |
| Community |
#community |
|
|
|
|
| label |
href |
| Get started |
#start |
|
|
| title |
messages |
| What it looks like in the bot |
| from |
text |
| me |
`203.0.113.7:root-password` |
|
| from |
text |
| bot |
ssh moved to a random port, key-only login. Firewall on, system updated. |
|
| from |
text |
| bot |
3x-ui installed: VLESS + XHTTP + Reality on port 443. |
|
|
|
| from |
text |
| bot |
Done. Here is the subscription link for your client. |
|
|
|
| title |
items |
| What you get |
| title |
text |
| VLESS + XHTTP + Reality |
A connection on port 443. The bot picks the Reality target itself. |
|
| title |
text |
| Camouflage server |
Optional. Clients connect to it, it forwards traffic to the panel, and the panel's address is never exposed. |
|
| title |
text |
| Certificates |
A domain with Let's Encrypt for the panel and the subscription. Without a domain the bot issues a short-lived IP certificate and renews it itself. |
|
| title |
text |
| Keys without limits |
No traffic cap, no expiry, no device limit. Subscriptions for v2rayN, Hiddify, Happ and v2rayNG. For every key you see the traffic and when the client was last online. |
|
| title |
text |
| Proxy and DNS |
Outbound through your own proxy or Cloudflare WARP. DNS on the server is encrypted: DNS-over-TLS, with DNS-over-HTTPS as a fallback if TLS gets blocked. |
|
| title |
text |
| Health checks |
Once a day the bot checks the panel, Xray and the subscription certificate and tells you if something broke or got fixed. |
|
|
|
| title |
steps |
| Get started |
| title |
text |
| Rent a server |
Any hosting provider, Debian 12 or 13. All you need is the IP and the root password. |
|
| title |
text |
| Send the bot `ip:password` |
The bot moves ssh to a random port with key-only login, turns on a firewall, updates the system and installs 3x-ui. |
|
| title |
text |
| Issue a key |
Add the subscription link to your client, and the VPN works. |
|
|
|
| title |
text |
| The server stays yours |
The "Return" button removes the bot's access, rolls back ssh and the firewall and sends you a new root password. Your data on the server stays. And the bot deliberately doesn't work through Cloudflare: Cloudflare terminates TLS itself, and Reality can't work behind it. |
|
| kicker |
title |
lead |
items |
callout |
| Under the hood |
Serverus |
Almost all of the bot's work comes down to one thing: take a bare Debian, lock it down and manage it by key. That's the job of `serverus`, an ansible-based package inside the project. The VPN is just one task on top of it, the second one is a docker server. |
| Docker, Caddy and automatic system updates, with Caddy issuing certificates for domains |
| An app is a folder with `docker-compose.yaml`, `.env` and `caddy.conf`, sent as an archive or file by file |
| A diff and per-file warnings before applying, including when a domain doesn't point to the server |
| Checks of the compose file, ports and Caddy config. On error the app is left untouched, and only changed services are recreated |
| Rollback to the previous version of the files, start, stop, restart and logs per service |
| Login to a private docker registry and guest access to volumes for uploading data |
|
| title |
text |
| The bot hosts itself |
Production MyPoint VPN runs as a Serverus app on a docker server managed by this very bot. What the bot can do is set by the interface in the admin panel: "MyPoint VPN", "Serverus" or both. |
|
|
|
Use a VPN within the laws of your country. |