「MTProxy」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
本頁面具有訪問限制。如果您看見此訊息,這代表您沒有訪問本頁面的權限。
(创建页面,内容为“'''MTProxy'''是Telegram的Proxy軟體。 == 外部連結 == * {{Official|https://github.com/TelegramMessenger/MTProxy}} {{en}} Category:軟體”)
 
 
(未顯示同一使用者於中間所作的 19 次修訂)
行 1: 行 1:
'''MTProxy'''是[[Telegram]]的Proxy軟體。
'''MTProxy'''是[[Telegram]]的Proxy軟體。
== 安裝 ==
這邊是以[[Ubuntu]] 18.04的環境測試,先安裝編譯需要的工具:
<syntaxhighlight lang="bash">
sudo apt update; sudo apt install -y git curl build-essential libssl-dev zlib1g-dev
</syntaxhighlight>
再來是編譯並安裝,這邊是裝到系統內的方式,需要root權限,程式(可執行檔)會裝到<code>/usr/sbin/mtproto-proxy</code>,而設定檔會放到<code>/etc/mtproxy/</code>下:
<syntaxhighlight lang="bash">
cd /tmp; git clone https://github.com/TelegramMessenger/MTProxy.git; cd MTProxy; make; sudo cp objs/bin/mtproto-proxy /usr/bin; sudo mkdir /etc/mtproxy; sudo curl -s https://core.telegram.org/getProxySecret -o /etc/mtproxy/proxy-secret; sudo curl -s https://core.telegram.org/getProxyConfig -o /etc/mtproxy/proxy-multi.conf; head -c 16 /dev/urandom | xxd -ps | sudo tee /etc/mtproxy/secret
</syntaxhighlight>
另外也還是編譯與安裝,但這會裝到自己目錄下的<code>~/mtproxy/</code>下:
<syntaxhighlight lang="bash">
cd /tmp; git clone https://github.com/TelegramMessenger/MTProxy.git; cd MTProxy; make; mkdir -p ~/mtproxy; cp objs/bin/mtproto-proxy ~/mtproxy; curl -s https://core.telegram.org/getProxySecret -o ~/mtproxy/proxy-secret; curl -s https://core.telegram.org/getProxyConfig -o ~/mtproxy/proxy-multi.conf; head -c 16 /dev/urandom | xxd -ps > ~/mtproxy/secret
</syntaxhighlight>
== 啟動 ==
可以設定透過使用者自己的Crontab在開機時啟動:
<syntaxhighlight lang="bash">
echo '@reboot ( /usr/bin/mtproto-proxy -p 8888 -H 4443 -S $(cat ~/mtproxy/secret) --aes-pwd ~/mtproxy/proxy-secret ~/mtproxy/proxy-multi.conf 2>&1 ) | /usr/bin/logger -t mtproto-proxy -p local0.debug' >> ~/crontab."${USER}"; crontab ~/crontab."${USER}"
</syntaxhighlight>
另外也可以設定透過Systemd在開機時啟動:
<syntaxhighlight lang="bash">
echo -e '[Unit]\nDescription=MTProxy\nAfter=network.target\n\n[Service]\nType=simple\nWorkingDirectory=/etc/mtproxy\nExecStart=/bin/sh -c "/usr/bin/mtproto-proxy -u nobody -p 8888 -H 4443 -S $(cat /etc/mtproxy/secret) --aes-pwd /etc/mtproxy/proxy-secret /etc/mtproxy/proxy-multi.conf"\nRestart=on-failure\n\n[Install]\nWantedBy=multi-user.target' | sudo tee /lib/systemd/system/MTProxy.service; sudo systemctl daemon-reload; sudo systemctl enable MTProxy; sudo service MTProxy start
</syntaxhighlight>
要注意的是,如果機器拿到的IP address不是對外的Public IP(像是在[[AWS]]與[[GCP]]上),需要多指定<code>--nat-info [local-addr]:[global-addr]</code>,像是<code>--nat-info 10.1.2.3:123.45.67.89</code>這樣,對應的指令就變成:
<syntaxhighlight lang="bash">
echo '@reboot ( /usr/bin/mtproto-proxy -p 8888 -H 4443 -S $(cat ~/mtproxy/secret) --aes-pwd ~/mtproxy/proxy-secret ~/mtproxy/proxy-multi.conf --nat-info 10.1.2.3:123.45.67.89 2>&1 ) | /usr/bin/logger -t mtproto-proxy -p local0.debug' >> ~/crontab."${USER}"; crontab ~/crontab."${USER}"
</syntaxhighlight>
<syntaxhighlight lang="bash">
echo -e '[Unit]\nDescription=MTProxy\nAfter=network.target\n\n[Service]\nType=simple\nWorkingDirectory=/etc/mtproxy\nExecStart=/bin/sh -c "/usr/bin/mtproto-proxy -u nobody -p 8888 -H 4443 -S $(cat /etc/mtproxy/secret) --aes-pwd /etc/mtproxy/proxy-secret /etc/mtproxy/proxy-multi.conf --nat-info 10.1.2.3:123.45.67.89"\nRestart=on-failure\n\n[Install]\nWantedBy=multi-user.target' | sudo tee /lib/systemd/system/MTProxy.service; sudo systemctl daemon-reload; sudo systemctl enable MTProxy; sudo service MTProxy start
</syntaxhighlight>
要記得Port 4443對外要打開,除了本機的[[iptables]]或[[UFW]]外,雲端服務上面的Security Group也要記得檢查。


== 外部連結 ==
== 外部連結 ==

於 2020年4月8日 (三) 18:48 的最新修訂

MTProxyTelegram的Proxy軟體。

安裝

這邊是以Ubuntu 18.04的環境測試,先安裝編譯需要的工具:

sudo apt update; sudo apt install -y git curl build-essential libssl-dev zlib1g-dev

再來是編譯並安裝,這邊是裝到系統內的方式,需要root權限,程式(可執行檔)會裝到/usr/sbin/mtproto-proxy,而設定檔會放到/etc/mtproxy/下:

cd /tmp; git clone https://github.com/TelegramMessenger/MTProxy.git; cd MTProxy; make; sudo cp objs/bin/mtproto-proxy /usr/bin; sudo mkdir /etc/mtproxy; sudo curl -s https://core.telegram.org/getProxySecret -o /etc/mtproxy/proxy-secret; sudo curl -s https://core.telegram.org/getProxyConfig -o /etc/mtproxy/proxy-multi.conf; head -c 16 /dev/urandom | xxd -ps | sudo tee /etc/mtproxy/secret

另外也還是編譯與安裝,但這會裝到自己目錄下的~/mtproxy/下:

cd /tmp; git clone https://github.com/TelegramMessenger/MTProxy.git; cd MTProxy; make; mkdir -p ~/mtproxy; cp objs/bin/mtproto-proxy ~/mtproxy; curl -s https://core.telegram.org/getProxySecret -o ~/mtproxy/proxy-secret; curl -s https://core.telegram.org/getProxyConfig -o ~/mtproxy/proxy-multi.conf; head -c 16 /dev/urandom | xxd -ps > ~/mtproxy/secret

啟動

可以設定透過使用者自己的Crontab在開機時啟動:

echo '@reboot ( /usr/bin/mtproto-proxy -p 8888 -H 4443 -S $(cat ~/mtproxy/secret) --aes-pwd ~/mtproxy/proxy-secret ~/mtproxy/proxy-multi.conf 2>&1 ) | /usr/bin/logger -t mtproto-proxy -p local0.debug' >> ~/crontab."${USER}"; crontab ~/crontab."${USER}"

另外也可以設定透過Systemd在開機時啟動:

echo -e '[Unit]\nDescription=MTProxy\nAfter=network.target\n\n[Service]\nType=simple\nWorkingDirectory=/etc/mtproxy\nExecStart=/bin/sh -c "/usr/bin/mtproto-proxy -u nobody -p 8888 -H 4443 -S $(cat /etc/mtproxy/secret) --aes-pwd /etc/mtproxy/proxy-secret /etc/mtproxy/proxy-multi.conf"\nRestart=on-failure\n\n[Install]\nWantedBy=multi-user.target' | sudo tee /lib/systemd/system/MTProxy.service; sudo systemctl daemon-reload; sudo systemctl enable MTProxy; sudo service MTProxy start

要注意的是,如果機器拿到的IP address不是對外的Public IP(像是在AWSGCP上),需要多指定--nat-info [local-addr]:[global-addr],像是--nat-info 10.1.2.3:123.45.67.89這樣,對應的指令就變成:

echo '@reboot ( /usr/bin/mtproto-proxy -p 8888 -H 4443 -S $(cat ~/mtproxy/secret) --aes-pwd ~/mtproxy/proxy-secret ~/mtproxy/proxy-multi.conf --nat-info 10.1.2.3:123.45.67.89 2>&1 ) | /usr/bin/logger -t mtproto-proxy -p local0.debug' >> ~/crontab."${USER}"; crontab ~/crontab."${USER}"
echo -e '[Unit]\nDescription=MTProxy\nAfter=network.target\n\n[Service]\nType=simple\nWorkingDirectory=/etc/mtproxy\nExecStart=/bin/sh -c "/usr/bin/mtproto-proxy -u nobody -p 8888 -H 4443 -S $(cat /etc/mtproxy/secret) --aes-pwd /etc/mtproxy/proxy-secret /etc/mtproxy/proxy-multi.conf --nat-info 10.1.2.3:123.45.67.89"\nRestart=on-failure\n\n[Install]\nWantedBy=multi-user.target' | sudo tee /lib/systemd/system/MTProxy.service; sudo systemctl daemon-reload; sudo systemctl enable MTProxy; sudo service MTProxy start

要記得Port 4443對外要打開,除了本機的iptablesUFW外,雲端服務上面的Security Group也要記得檢查。

外部連結