realm 的获取
到作者的 github 下面获取文件:
amd 系统:
wget -O realm.tar.gz https://github.com/zhboner/realm/releases/download/v2.4.6/realm-x86_64-unknown-linux-gnu.tar.gz && tar -xvf realm.tar.gz && chmod +x realm
arm 系统:
wget -O realm.tar.gz https://github.com/zhboner/realm/releases/download/v2.4.6/realm-aarch64-unknown-linux-gnu.tar.gz && tar -xvf realm-aarch64-unknown-linux-gnu.tar.gz && chmod +x realm
配置全局启动
mv realm /usr/local/bin/
realm 的用法
转发信息:
中转 VPS 和端口:1.1.1.1:1111
落地 VPS 和端口:8.8.8.8:8888
一、普通启动#
- 极简用法:
在中转 VPS 上直接执行命令:
./realm -l 0.0.0.0:1111 -r 8.8.8.8:8888
- 使用配置文件:
新建 TOML 文件:
mkdir /etc/realm/
mkdir /etc/realm/logs/
vim /etc/realm/config.toml
在 config.toml 文件中填入内容,并保存:
[log]
level = "warn"
output = "/etc/realm/logs/realm.log"
[network]
no_tcp = false
use_udp = true
[[endpoints]]
listen = "0.0.0.0:1111"
remote = "8.8.8.8:8888"
ipv6 转发的话记得带上括号,如:[ipv6]:8888
使用配置文件启动 realm:
./realm -c config.toml
- 创建自启动服务项:
因为手动每次运行很麻烦,我们需要创建 Linux 的服务项来实现自启动转发通道。
举例创建 service 服务项,首先使用 nano 编辑服务项内容:
vim /etc/systemd/system/realm.service
如果你的 realm 主程序和配置文件都和我一样在 /root 目录里的话直接使用下面的内容即可
[Unit]
Description=realm
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
DynamicUser=true
ExecStart=realm -c /etc/realm/config.toml
[Install]
WantedBy=multi-user.target
然后使用 ctrl+ o 保存文件,再使用 ctrl+ x 退出编辑器,service 文件就生成了。
- 开启服务配置自启:
ssh 路径回到 /root 后,即可执行重载系统服务和启动 realm 服务:
systemctl daemon-reload
systemctl enable realm && systemctl start realm
如感觉没启动,可以先停止服务,然后 status 查看报错日志状态
systemctl stop realm && systemctl status realm
如需禁用 realm 自启并停止 realm 的运行进程执行下面的命令:
systemctl stop realm && systemctl disable realm
如果你的落地服务器使用的是动态 IP,或者 DDNS 服务,可以在 crontab 计划任务里来设置定时重启 realm 服务:
cronteb -e
填写内容为时间和重启的服务名称 :#
00 01 * * * systemctl restart realm
00 05 * * * systemctl restart realm
00 09 * * * systemctl restart realm
00 13 * * * systemctl restart realm
00 17 * * * systemctl restart realm
00 21 * * * systemctl restart realm
realm 转发示例文件 example