Lightweight and easy to set up docker image for the MTProto proxy server.
Binary inside: MTProxy Patched
All you need is an installed docker. A server must be configured with the special json dictionary file, mounted as /configuration.json
.
Configuration file will be modified by the server itself, so that the generated data will be kept after a restart. Changing this file on the host would not affect the server until the manual container restart.
Configuration parameters:
keys
: An array of client keys, that have been generated before. Empty by default.new_keys
: Number of new client keys to generate. Server should have at least one key to be accessible. Default value: 1update_hours
: How often telegram servers list will be updated (in hours). Default value: 12.ip
: Server external IP. Necessary for servers behind NAT, also used in invite links, if server URL was not provided. Empty by default.url
: Server URL, if any, to be used in invite links. Default value: same asip
.port_stats
: Port for HTTP Stats. Default value: 80port
: Exposed server port for invite links. Default value: 4000.fake_tls_domain
: Fake-TLS domain. Important! Specifying this value disables all the other transports.tag
: Your proxy tag, optionally received from @MTProxyBot. Empty by default.
To launch container: docker run -d --restart always -p [port]:[port] -v [full-configuration-file-path]:/configuration.json --name mtproxy viers/mtproxy
.
To see the logs: docker logs --follow mtproxy
.
To collect server stats: docker exec mtproxy curl http://localhost:[port_stats]/stats
Example Configuration:
{
"keys": [],
"new_keys": 1,
"fake_tls_domain": "microsoft.com",
"ip": "",
"url": "",
"port": 4000,
"update_hours": 12,
"port_stats": 80,
"tag": ""
}