How to run MTProto Proxy
by Sasan // @MrLTE // t.me/MrLTEIn Linux :
Building
Install dependencies, you would need common set of tools for building from source, and development packages for openssland zlib.
On Debian/Ubuntu:
apt install git curl build-essential libssl-dev zlib1g-dev
On CentOS/RHEL:
yum install openssl-devel zlib-devel yum groupinstall "Development Tools"
Clone the repo:
git clone https://github.com/TelegramMessenger/MTProxy cd MTProxy
To build, simply run make, the binary will be in objs/bin/mtproto-proxy:
make && cd objs/bin
If the build has failed, you should run make clean before building it again.
Running
- Obtain a secret, used to connect to telegram servers.
curl -s https://core.telegram.org/getProxySecret -o proxy-secret
- Obtain current telegram configuration. It can change (occasionally), so we encourage you to update it once per day.
curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
- Generate a secret to be used by users to connect to your proxy.
head -c 16 /dev/urandom | xxd -ps
- Run
mtproto-proxy:
./mtproto-proxy -u nobody -p 8888 -H 443 -S <secret> --aes-pwd proxy-secret proxy-multi.conf -M 1
... where:
nobodyis the username.mtproto-proxycallssetuid()to drop privilegies.443is the port, used by clients to connect to the proxy.8888is the local port. You can use it to get statistics frommtproto-proxy. Likewget localhost:8888/stats. You can only get this stat via loopback.<secret>is the secret generated at step 3. Also you can set multiple secrets:-S <secret1> -S <secret2>.proxy-secretandproxy-multi.confare obtained at steps 1 and 2.1is the number of workers. You can increase the number of workers, if you have a powerful server.
Also feel free to check out other options using mtproto-proxy --help.
- Generate the link with following schema:
tg://proxy?server=SERVER_NAME&port=PORT&secret=SECRET(or let the official bot generate it for you). - Register your proxy with @MTProxybot on Telegram.
- Set received tag with arguments:
-P <proxy tag> - Enjoy.
Systemd example configuration
- Create systemd service file (it's standart path for the most Linux distros, but you should check it before):
nano /etc/systemd/system/MTProxy.service
- Edit this basic service (especially paths and params):
[Unit] Description=MTProxy After=network.target [Service] Type=simple WorkingDirectory=/opt/MTProxy ExecStart=/opt/MTProxy/mtproto-proxy -u nobody -p 8888 -H 443 -S <secret> -P <proxy tag> <other params> Restart=on-failure [Install] WantedBy=multi-user.target
- Reload daemons:
systemctl daemon-reload
- Test fresh MTProxy service:
systemctl restart MTProxy.service # Check status, it should be active systemctl status MTProxy.service
- Enable it, to autostart service after reboot:
systemctl enable MTProxy.service
In Windows :
Download and install NodeJS for Windows using this link: https://goo.gl/bb654A
After installation is complete, enter "Command Prompt" and install PM2 by following command:
nmp install pm2 -g
and Download JSMTProxy using this link: https://goo.gl/NHCBKT
Extract the zip file into C Drive. and enter the command in CMD:
cd C:\JSMTProxy-master
Start the proxy server from "Command Prompt" by following command:
pm2 start mtproxy.js -i max
Default port and secret:
Port: 6969
Secret: b0cbcef5a486d9636472ac27f8e11a9d
You can change these both on file config.json
Note: You may need to open the proxy port number in your Windows firewall in order for it to accept connections.
Provided on the channel :
@Source_Search | T.me/Source_Search
By :
========÷=