diff --git a/README.md b/README.md index bc1201b..9704206 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@
Manage Telegram proxies on Debian and Ubuntu with Ansible: MTG FakeTLS or official -MTProxy (classic/FakeTLS), direct or SSH/SOCKS5 egress, and an SSH/SNI ingress jump. [MIT licensed](LICENSE). +MTProxy (classic/FakeTLS), with optional SSH tunnels and SNI routing through a jump +server. [MIT licensed](LICENSE). **[English guide](docs/en/README.md)** · **[Руководство на русском](docs/ru/README.md)** @@ -16,11 +17,15 @@ and SSH access to each server. Use an existing non-root administrator with sudo, or create one with the two-phase `bootstrap` command described in the guides. Official MTProxy is built on each target from pinned official source, using a minimal -`scratch` runtime. Choose an inventory example: +`scratch` runtime. Both engines can connect to Telegram directly or through an +SSH tunnel with a SOCKS5 listener. Separately, a jump server can route incoming +connections to backends by FakeTLS SNI, with a default route for non-TLS traffic. -- [MTG, direct](inventory.example.yml) -- [MTG, SSH/SOCKS5 exit](inventory.ssh.example.yml) -- [Official MTProxy, direct](inventory.mtproxy.example.yml) +Start with an inventory example: + +- [MTG](inventory.example.yml) +- [MTG with SSH egress](inventory.ssh.example.yml) +- [Official MTProxy](inventory.mtproxy.example.yml) Follow the guide to create a private inventory and Vault password file, then run: diff --git a/docs/en/README.md b/docs/en/README.md index 9cfa428..0375437 100644 --- a/docs/en/README.md +++ b/docs/en/README.md @@ -8,7 +8,7 @@ [Setup](#setup) · [Commands](#commands) · [Inventory](#inventory) · [Secrets](#secrets) · [SSH egress](#ssh-egress) · [System](#system) · -[Hooks](#hooks) · [Operations](#operations) · [Troubleshooting](#troubleshooting) +[Hooks](#hooks) · [Operations](#operations) · [Troubleshooting](#troubleshooting) · [Bootstrap and jump](#bootstrap-and-ingress-jump) ## Setup @@ -73,6 +73,7 @@ that group's vars. Keep it outside the public repository. inventory-path, .hooks | Variable | Meaning / default | |---|---| | `ansible_host`, `ansible_user`, `ansible_port` | Management address, existing administrator, SSH port (22) | +| `ansible_python_interpreter` | Remote Python path; examples pin `/usr/bin/python3` | | `ansible_ssh_private_key_file` | Optional local administrative private-key path | | `tg_admin.user`, `tg_admin.public_key` | Managed non-root administrator and public key | | `tg_endpoint` | Address published in client links; defaults to ansible_host | @@ -82,7 +83,7 @@ that group's vars. Keep it outside the public repository. inventory-path, .hooks | `tg_secret` | Vault-encrypted 32-hex-character key; required | | `tg_domain` | FakeTLS SNI hostname; keep the existing value when importing MTG | | `tg_egress` | `direct` or `ssh` (both engines) | -| `tg_image` | MTG defaults to nineseconds/mtg:2.2.8; official MTProxy to telegrammessenger/proxy:latest | +| `tg_image` | MTG defaults to nineseconds/mtg:2.2.8; official MTProxy is built locally as `megatg/mtproxy: