Skip to content

hiapb/hia-realm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

154 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

功能定位:Realm 转发(含 Rust Web 面板):一键安装、规则启停、定时备份、FTP/SFTP 备份


目录


功能概览

脚本提供:

  • Realm 一键安装 / 卸载 / 更新
  • TCP + UDP 转发规则:添加 / 删除 / 修改 / 启停
  • IPv4 / IPv6 监听与转发支持
  • 规则冲突检测:
    • 配置内端口冲突检测
    • 系统端口占用检测(ss/netstat)
  • 规则导入 / 导出
  • 定时自动备份(cron)
  • FTP / SFTP 远程自动备份
  • 可选:Rust Web 面板(浏览器可视化管理规则)

适用场景:

  • VPS 端口转发
  • 游戏加速 / UDP 转发
  • IPv6 中转
  • 一键备份与快速恢复

环境要求

  • 必须使用 root 运行
  • Linux(Debian/Ubuntu/CentOS/Alpine 等)
  • 依赖(脚本会尽量自动安装/提示):
    • curltarsystemctl
    • 端口检测:优先 ss,否则 netstat
    • cron:cron/crond/crontab(用于定时备份)
  • Web 面板额外依赖(脚本会自动处理):
    • Rust/cargo(通过 rustup 安装)
    • build-essential/pkg-config/libssl-devDevelopment Tools/openssl-devel

一键安装

1️⃣ 一键运行(推荐)

bash <(curl -fsSL https://raw.githubusercontent.com/hiapb/hia-realm/main/install.sh)

⚠️ 必须使用 root 用户运行
如你是普通用户,请先:sudo -i


脚本主菜单说明

启动后会看到类似菜单(内容可能随版本调整):

===== Realm TCP+UDP 转发脚本 =====
状态:运行中 | 版本:x.x.x
----------------------------------
1.  安装 Realm
2.  卸载 Realm
3.  重启 Realm
--------------------
4.  添加转发规则
5.  删除单条规则
6.  删除全部规则
7.  查看当前规则
8.  修改某条规则
9.  启动/暂停某条规则
--------------------
10. 查看日志
11. 查看配置
12. 一键导出所有规则
13. 一键导入所有规则
14. 添加/删除定时备份任务
15. 自动备份到FTP/SFTP
16. Realm 面板管理
0.  退出

Realm 安装 / 卸载 / 重启

安装 Realm(第一次必须)

菜单:

1. 安装 Realm

脚本会:

  • 自动识别 CPU 架构(x86_64 / arm / arm64)
  • 自动识别 libc(glibc / musl)
  • 自动下载 GitHub 最新版本 Realm
  • 自动创建并启动 systemd 服务(realm.service

卸载 Realm

菜单:

2. 卸载 Realm

会执行:

  • 停止 Realm 服务
  • 删除二进制文件
  • 删除 systemd 服务
  • 删除配置文件
  • 同时会卸载(如已安装)面板相关组件

重启 Realm

菜单:

3. 重启 Realm

规则管理

添加规则

菜单:

4. 添加转发规则

按提示完成以下步骤:

  1. 选择监听协议
  • 1. IPv4(默认)
  • 2. IPv6
  1. 输入规则名称(支持中文)
  • 长度 1-50
  • 支持:中文 / 字母 / 数字 / _ / -

示例:

游戏UDP加速
  1. 输入监听端口

脚本会自动检测:

  • 是否与现有规则冲突(配置端口冲突)
  • 是否被系统占用(ss/netstat 检测)
  1. 输入远程目标(目标地址:端口)
  • IPv4 / 域名:
1.2.3.4:443
example.com:443
  • IPv6:
[2001:db8::1]:443
  1. 自动生效
  • 添加完成后脚本会自动重启 Realm,使规则即时生效

查看规则

菜单:

7. 查看当前规则

示例输出:

1. [启用] [游戏UDP] 0.0.0.0:10000 -> 1.2.3.4:10000 (tcp+udp)
2. [暂停] [测试规则] [::]:20000 -> [2001:db8::1]:20000 (tcp+udp)

修改规则

菜单:

8. 修改某条规则

支持修改:

  • 规则名称
  • 监听端口
  • 远程目标

修改完成后自动重启 Realm。


启用/暂停规则

菜单:

9. 启动/暂停某条规则

实现方式:

  • 自动将该 [[endpoints]] 段落整体 注释 / 取消注释
  • 不删除规则,仅暂停转发

删除规则

  • 删除单条规则:
5. 删除单条规则
  • 删除全部规则:
6. 删除全部规则

删除后自动重启 Realm。


规则导出 / 导入

✅ 强烈推荐在变更前先导出规则,便于快速恢复。

📤 导出所有规则

菜单:

12. 一键导出所有规则

默认导出路径:

/etc/realm/realm-rules.backup.toml

📥 导入规则

菜单:

13. 一键导入所有规则

支持两种模式:

  1. 覆盖导入(清空原规则)
  2. 追加导入(保留原规则并追加)

定时自动备份(cron)

菜单入口:

14. 添加/删除定时备份任务

支持:

  • 每天备份
  • 每周备份(指定星期)

脚本会自动生成:

  • cron 文件:/etc/cron.d/realm-rules-export
  • 导出脚本:/usr/local/bin/realm-export-rules.sh
  • 备份文件:/etc/realm/realm-rules.YYYY-MM-DD_HHMMSS.toml

FTP / SFTP 异地备份

菜单:

15. 自动备份到FTP/SFTP

功能:

  • 调用 hiapb FTP 备份脚本进行上传
  • 支持 FTP / SFTP
  • 可多服务器异地备份

默认备份文件通常为:

/etc/realm/realm-rules.backup.toml

Web 面板(Rust)

脚本菜单:

16. Realm 面板管理

你可以选择安装:

  • 快速安装部署
  • 自编译部署(Rust 编译)

面板默认信息

  • 默认端口:4794
  • 默认用户名:admin
  • 默认密码:123456

安装完成会输出访问地址:

http://<你的服务器IP>:4794

面板能力

  • 登录鉴权(cookie session)
  • 可视化管理规则:添加 / 编辑 / 删除 / 启停
  • 一键删除,批量添加,一键导出/导入
  • 端口冲突检测(同端口禁止重复)
  • 可在面板设置里修改:
    • 管理账户(用户名 / 密码)
    • PC/手机端背景图 URL
  • 规则保存到:
/etc/realm/panel_data.json

并会自动生成/刷新 Realm 配置:

/etc/realm/config.toml

注意:面板会将启用的规则写入 realm 配置,禁用规则不会写入 endpoints。
若启用规则为空,为避免 Realm 无 endpoints,面板会写入一个 keepalive 的本地占位规则(127.0.0.1:65534)。


面板示例

PC登录 PC主页 移动端 移动端

常用路径

项目 路径
Realm 配置 /etc/realm/config.toml
Realm 二进制 /usr/local/bin/realm
Realm systemd 服务 /etc/systemd/system/realm.service
规则备份 /etc/realm/realm-rules*.toml
cron 任务 /etc/cron.d/realm-rules-export
面板二进制 /usr/local/bin/realm-panel
面板 systemd 服务 /etc/systemd/system/realm-panel.service
面板数据文件 /etc/realm/panel_data.json

常见问题

Q1:修改规则后需要重启吗?

不需要手动重启。无论是脚本修改还是面板操作,都会自动重启 Realm 使之生效。

Q2:支持 UDP 吗?

支持。脚本默认规则类型为:

  • type = "tcp+udp"

Q3:IPv6 VPS 能用吗?

可以。脚本支持 IPv6 监听与转发。

Q4:端口提示被占用怎么办?

  • 如果是 配置冲突(已有规则同端口),必须换端口
  • 如果是 系统占用(ss/netstat 检测到),脚本会提示是否仍要使用该端口(不建议)

Q5:面板无法访问?

排查:

  1. 确认服务运行:
    systemctl status realm-panel --no-pager
  2. 确认端口监听:
    ss -lntp | grep 4794
  3. 检查服务器安全组/防火墙放行 4794/tcp

安全建议

  • 强烈建议:安装面板后第一时间修改默认密码(面板设置 → 管理账户)
  • 建议通过防火墙/安全组限制面板端口仅允许可信 IP 访问
  • 如对外开放面板,建议配合反代 + HTTPS(Nginx/Caddy)并启用访问控制
  • 对关键配置建议定期导出备份,并保存在异地(FTP/SFTP)

项目地址

GitHub:https://github.com/hiapb/hia-realm


免责声明与使用须知(必读)

1) 禁止商用
本项目及相关脚本 仅供学习与交流禁止用于任何商业用途
如需商用,请先联系作者获得明确授权,否则视为侵权。

2) 转载 / 转发须标注来源
允许非商业性质的转载、分享与转发,但必须 保留原作者信息,并在显著位置标注项目来源:
GitHub:https://github.com/hiapb/hia-realm 博客: https://nuro.cc/index.php/archives/15/

3) 合法合规使用
本项目仅用于合法合规的网络学习与测试用途。
禁止用于任何违法用途(包括但不限于:入侵/攻击、钓鱼、诈骗、恶意转发、绕过管控、传播非法内容等)。
使用者因违法或不当使用产生的一切后果与责任 由使用者自行承担,作者不承担任何直接或间接责任。

4) 风险提示
转发/代理可能带来安全风险(如端口暴露、被扫描攻击、信息泄露等)。
请务必做好安全加固:修改默认密码、限制访问来源、开启防火墙/安全组、定期更新与备份。


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages