2026-05-22 · 9 min read
If you run more than two messaging accounts, you eventually hit the problem that all of them talk to Telegram or WhatsApp from the same exit IP. Platforms notice; accounts get flagged. The fix is per-account network egress, which on a VPS without bare metal means VPN tunnels.
The orchestrator stores ProtonVPN credentials encrypted, and spawns per-country sessions on demand. Each session is a docker container running openvpn against the operator-uploaded .ovpn config; once the tunnel is up it starts danted (SOCKS5 :1080) and tinyproxy (HTTP CONNECT :3128) with per-session basic auth.
On healthy session, the manager calls the api gateway's admin proxies endpoint twice — once with the SOCKS5 URL, once with the HTTP URL — tagged with the session id, country, and vpn proxy_type. The existing proxy pool picks up the new entries instantly.
Consumers don't change: ProxyRotator.get_proxy(target_country="DE") was already country-aware. Scraper, OSINT TG resolver, messenger-hub, voice agent, openwa-bridge all pick from the same pool.
Operator UX: Configs tab (uploaded .ovpn files per region), Sessions tab (live external IP + Reconnect), Country plan tab (declare "US:3, DE:2, NL:1" and Reconcile).
Start free trial → · All features →