在OpenWRT软路由上部署Telegram的MTProxy,可以在外不用连接家里的VPN即可顺利收发Telegram消息。
本文中介绍的OpenWRT路由器操作系统的进程守护、开机自启和防火墙配置对其他服务的配置也具有指导意义。
家里的的NanoPi R2S软路由跑的是OpenWRT的系统,已经使用PassWall插件配置好了透明代理并搭建了一个Shadowsocks服务器。这样我可以在外面连接到家里的内网之中。但是,一直挂着Shadowsocks对手机耗电量是一大考验。突发奇想,搭建一个MTProxy的服务器就不用手机一直挂着回家的VPN了。
方案一:使用PassWall插件的V2Ray服务器
按照和配置Shadowsocks服务器一样的方式,配置V2Ray服务器。但是不知道什么原因,PassWall配置完V2Ray服务器后都无法正常工作。具体表现在可以连接V2Ray,但是outbound不知为何连不出去。有知道怎么解决的朋友可以在文章下方留言,但是这不失为一种搭建MTProxy服务器的方法。
方案二:使用单独的MTProxy服务器
我使用的是 https://github.com/9seconds/mtg 这个第三方的MTProxy服务器。
- 把
mtg
这个可执行文件下载到软路由主机上 - 参照repo提示,进行初步的密码生成和配置
- 进行进程守护
主要对于进程守护与防火墙配置进行说明。
在/etc/init.d/
下建立mtg
文件
1 | #!/bin/sh /etc/rc.common |
使用/etc/init.d/mtg {start|stop|enable|disable}
即可控制mtg
开启、关闭和开机自启等功能。
目前存在的问题
可能因为Telegram在DNS解析方面比较缓慢,导致Telegram连接家里的MTProxy服务器比较慢。
同时也可能因为流量通过家里的网络进行多次转发,导致Telegram中图片等文件加载速度较慢。
搭建好这样的MTProxy服务器也只是聊胜于无,本文的重点其实在于OpenWRT路由器操作系统的进程守护、开机自启和防火墙配置。