AntonyD's Halo Blog

使用Realm做流量转发

2025-11-01

尽可能地简化Realm的使用难度。之后也许会开发RealmWebUI。

命令行使用Realm

下载Realm

wget https://share.antonyd.me/api/shares/lE9IPQZs/files/574eee2a-c611-4bcc-9daa-9eaf23492f51
chmod +x realm

编辑Realm配置文件

#config.toml

[[endpoints]]
listen = "0.0.0.0:7000"
remote = "1.1.1.1:7000"

[network]
no_tcp = false
use_udp = true

以上是一个Realm的配置文件示例。

你可以自由添加endpoints数量以增加转发规则。

listen 是本地监听地址, remote 是转发目的地。下方network块无需更改。

启动Realm

启动Realm有两种方式,可以是screen后台运行,也可以是systemctl守护进程。

screen后台运行Realm

执行 sceen -R realm 在其内运行Realm可以在离开此窗口后甚至是断开SSH后持续运行Realm。

运行Realm的命令行是 ./realm -c config.toml 。之后,Ctrl + A + D可以离开此窗口,大功告成。

systemctl守护Realm

设置启动服务,/etc/systemd/system/realm.service

# /etc/systemd/system/realm.service
[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
WorkingDirectory=/root
ExecStart=/your/realm -c /your/config.toml

[Install]
WantedBy=multi-user.target

之后执行

systemctl daemon-reload
systemctl enable realm
systemctl restart realm
systemctl status realm

即可完成对Realm进程的控制与守护。

这个方式好处在重启时自动启动,并且方便管理。使用systemctl操作,无需进出screen。

RealmWebUI使用Realm

先搁置,没时间写。