Realm 转发 2024-03-10 Website News 暂无评论 845 次阅读 Github项目:https://github.com/zhboner/realm 特点 支持DDNS 只要传入一个域名,那么就能自动后台更新解析。 支持DDNS 只要传入一个域名,那么就能自动后台更新解析。 高效,低消耗 依托于Rust语言,Realm保证内存安全。另外,相较于采用Go语言编写的Brook和gost,Realm执行速度更快,资源占用更低,非常适合在低配置的主机上使用。 简单 相较于使用iptables动辄几条复杂的命令,Realm仅需一条命令就能启动,保证了部署的方便。 UDP + TCP 无需额外的工作,Realm就能同时转发UDP和TCP。 安装Realm ```csharp 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 ``` 直接运行 ```csharp # -l 指定监听的本机地址和端口,地址可以省略,但必须指定端口。不指定地址的话会使用默认的 127.0.0.1 地址。 # -r 指定转发的目的地址和端口,均不能省略。 /etc/realm/realm -l 中转机IP:端口 -r 落地机IP或域名:端口 ``` 配置文件 https://github.com/zhboner/realm/tree/master/examplesRealm 支持json和toml两种格式,推荐toml格式,书写结构上更易辨识。 ```csharp mkdir /etc/realm nano /etc/realm/config.toml ``` # 最简配置 ```csharp [[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" ``` # 常用配置 ```csharp [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" ``` # 完整配置 ```csharp [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" ``` #设置系统开机启动 ```csharp nano /etc/systemd/system/realm.service ``` ```csharp [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 ``` ```csharp systemctl daemon-reload systemctl enable realm systemctl restart realm systemctl status realm ``` Realm一键脚本 https://github.com/seal0207/EasyRealM ```csharp wget -N --no-check-certificate https://git.io/realm.sh && chmod +x realm.sh && ./realm.sh ``` 标签: linux, Debian, centos, 端口转发, realm 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭