獲取 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