Ulzix购买的Alpine系统探针机vps部署tg的MTProto
Ulzix购买的Alpine系统探针机vps部署tg的MTProto
这套教程我分为了**通用环境配置,以及 IPv4 / IPv6 专属启动方案,你可以完美适配你手头的两台机器。[ulzix官网]https://idc.ulzix.com/home.htm
适用环境: LXC / NAT 容器、Alpine Linux 系统、内存 ≤ 128MB、无 Docker 权限。
核心方案: 采用纯静态编译的 Go 版本 mtg(内存占用极小),配合纯手工后台挂载。
🛠️ 第一阶段:基础环境铺垫(两台机器通用)
由于 Alpine 极致精简,默认连 bash 和一些常用的网络库都没有,我们需要先打好地基。
1. 安装系统依赖
通过 SSH 或网页 VNC 登录服务器,以 root 身份执行以下命令:
Bash
1 | |
2. 下载并初始化项目文件
我们借用开源脚本来下载核心程序,但只用它下载,不指望它自动运行。
Bash
1 | |
⚠️ 脚本交互时的关键操作:
- 选择版本: 必须输入
2选择mtg (Golang 版本)!(只有 Go 版本能在 128M 内存下活下来)。 - 其他设置: 代理端口、域名等随便填(建议用8443,以及cloudflare.com, 8888的那个内部端口可以直接回车),TAG 留空回车。
- 忽略报错: 脚本跑到最后一定会弹出一大串红色的
[ERROR] Update system time failed...报错。这是正常的,不用理会,程序本体./bin/mtg已经下载成功了!
🚀 第二阶段:专属环境启动篇(根据 VPS 类型二选一)
接下来是最核心的步骤。请确保你在 /home/mtproxy 目录下执行。
首先,执行以下两条命令,清理残留并生成全新的专属密钥:
Bash
1 | |
(⚠️ 务必把屏幕上打印出来的 ee 开头的那串字符复制保存好!)
接下来,根据你的 VPS 是 IPv6 还是 IPv4,选择对应的启动命令:
方案 A:针对【纯 IPv6】的 VPS
IPv6 环境没有 IPv4 出口,必须强制绑定 [::] 并告知程序你的公网 IPv6。
1. 获取你的公网 IPv6 地址:
Bash
1 | |
(假设获取到的是 2a01:4f9:4b:f33b::d)
2. 执行最终启动命令(请替换其中的 IP):
Bash
1 | |
方案 B:针对【纯 IPv4】的 VPS
IPv4 环境相对标准,但由于是 NAT 机器,我们同样需要把公网 IP 告诉它,避免它内网迷路。
1. 获取你的公网 IPv4 地址:
Bash
1 | |
(假设获取到的是 198.51.100.23)
2. 执行最终启动命令(请替换其中的 IP):
Bash
1 | |
🔍 验证是否启动成功(必做)
启动命令发出去后,执行以下命令查看进程:
Bash
1 | |
只要输出里有一行长长的 ./bin/mtg run ... 进程信息,就说明节点已经平稳运行!
然后再运行
1 | |
就会打印出tg link,里面映射的端口改成公网映射转发的端口,理由见第三阶段
🔗 第三阶段:客户端连接与映射配置
程序在服务器内固定监听的是 8443 端口。因为你是 NAT 服务器,无法直接访问 8443,必须经过面板映射。
1. 配置面板端口转发:
登录你的服务器服务商控制面板,找到 端口转发 / 端口映射 功能:
- 内网端口: 填入
8443 - 公网端口: 添加规则,获取系统分配给你的外网端口(假设为
20000)。
2. Telegram 客户端填空题: (更推荐直接用cat mtg.log打印出tg link,然后直接改个端口,复制到tg里面打开link就可以了)
打开 Telegram -> 设置 -> 数据和存储 -> 代理 -> 添加 MTProto 代理:
- 服务器 (Server): 填入你的公网 IP(机器 A 填 IPv6,机器 B 填 IPv4)。
- 端口 (Port): 填入面板分配的公网端口(例如
20000)。 - 密钥 (Secret): 填入第二阶段生成的
ee开头的长字符串。
连接,起飞!✈️
💡 附录:日常维护小贴士
如果服务器重启了怎么办?
因为我们没有写复杂的开机自启脚本,如果服务器重启,你只需要连上 SSH,执行以下两句恢复:
(注意:密钥必须是你之前在 Telegram 里填的那个,如果忘了就按第二阶段重新生成一次)
Bash
1
2
3cd /home/mtproxy
nohup ./bin/mtg run -4 "公网IP:8443" -b "0.0.0.0:8443" [你的ee密钥] > mtg.log 2>&1 &
# (IPv6 机器记得换成对应的启动命令)如果感觉代理变卡了?
可以直接执行
killall mtg杀掉进程,然后按上面的命令重新启动一次,释放内存。
自动化长命令
1 | |
🛠️ 部署开机自启脚本
请先准备好你笔记里提到的两样东西:
- 你的公网 IPv4 地址
- 你的 ee 开头的长密钥 ($REAL_SECRET)
把你准备好的 IP 和密钥,替换到下面这段代码对应的位置,然后一次性复制粘贴回车
1 | |
写完之后,刷新一下系统服务:
1 | |