Github项目:https://github.com/zhboner/realm
特点
- 支持DDNS 只要传入一个域名,那么就能自动后台更新解析。
- 支持DDNS 只要传入一个域名,那么就能自动后台更新解析。
- 高效,低消耗 依托于Rust语言,Realm保证内存安全。另外,相较于采用Go语言编写的Brook和gost,Realm执行速度更快,资源占用更低,非常适合在低配置的主机上使用。
- 简单 相较于使用iptables动辄几条复杂的命令,Realm仅需一条命令就能启动,保证了部署的方便。
- UDP + TCP 无需额外的工作,Realm就能同时转发UDP和TCP。
安装Realm
wget -P /etc/realm https://github.com/zhboner/realm/releases/download/v2.1.4/realm-x86_64-unknown-linux-gnu.tar.gz
tar -zxvf -C /etc/realm /etc/realm/realm-x86_64-unknown-linux-gnu.tar.gz
chmod +x /etc/realm/realm
直接运行
# -l 指定监听的本机地址和端口,地址可以省略,但必须指定端口。不指定地址的话会使用默认的 127.0.0.1 地址。
# -r 指定转发的目的地址和端口,均不能省略。
/etc/realm/realm -l 中转机IP:端口 -r 落地机IP或域名:端口
配置文件 https://github.com/zhboner/realm/tree/master/examplesRealm支持json和toml两种格式,推荐toml格式,书写结构上更易辨识。
mkdir /etc/realm
nano /etc/realm/config.toml
# 最简配置
[[endpoints]]
listen = "0.0.0.0:5000"
remote = "1.2.3.4:443"
[[endpoints]]
listen = "0.0.0.0:6000"
remote = "5.6.7.8:443"
# 常用配置
[network]
use_udp = true
zero_copy = true
[[endpoints]]
listen = "0.0.0.0:5000"
remote = "1.2.3.4:443"
[[endpoints]]
listen = "0.0.0.0:6000"
remote = "5.6.7.8:443"
# 完整配置
[dns]
mode = "ipv4_only"
protocol = "tcp_and_udp"
nameservers = ["1.1.1.1:53", "1.0.0.1:53"]
min_ttl = 600
max_ttl = 3600
cache_size = 256
[network]
use_udp = true
zero_copy = true
fast_open = true
tcp_timeout = 300
udp_timeout = 30
send_proxy = false
send_proxy_version = 2
accept_proxy = false
accept_proxy_timeout = 5
[[endpoints]]
listen = "0.0.0.0:5000"
remote = "1.2.3.4:443"
[[endpoints]]
listen = "0.0.0.0:6000"
remote = "5.6.7.8:443"
设置系统开机启动
nano /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=/etc/realm
ExecStart=/etc/realm/realm -c /etc/realm/config.toml
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable realm
systemctl restart realm
systemctl status realm
Realm一键脚本 https://github.com/seal0207/EasyRealM
wget -N --no-check-certificate https://git.io/realm.sh && chmod +x realm.sh && ./realm.sh