feat: 添加realm代理安装脚本
这个提交包含在:
98
realm/README.md
普通文件
98
realm/README.md
普通文件
@@ -0,0 +1,98 @@
|
||||
# realm.sh
|
||||
|
||||
[realm](https://github.com/zhboner/realm) 的交互式安装与管理脚本。安装时会自动写入 systemd 单元 (`realm.service`) 作为守护进程。
|
||||
|
||||
## 系统要求
|
||||
|
||||
- Linux x86_64 / aarch64 / armv7
|
||||
- 使用 systemd 的发行版(Debian 10+ / Ubuntu 20.04+ / CentOS 8+ / Rocky / AlmaLinux 等)
|
||||
- root 权限
|
||||
|
||||
## 依赖
|
||||
|
||||
| 依赖 | 用途 |
|
||||
| --- | --- |
|
||||
| `curl` | 下载二进制、查询 GitHub API |
|
||||
| `tar` | 解压发行包 |
|
||||
| `systemd` | 服务管理 |
|
||||
|
||||
Debian / Ubuntu:
|
||||
|
||||
```bash
|
||||
apt update && apt install -y curl tar
|
||||
```
|
||||
|
||||
CentOS / RHEL / Rocky / Alma:
|
||||
|
||||
```bash
|
||||
dnf install -y curl tar
|
||||
```
|
||||
|
||||
## 一键执行
|
||||
|
||||
```bash
|
||||
bash <(curl -fsSL https://git.suhang.me/suhang/scripts/raw/branch/release/realm/realm.sh)
|
||||
```
|
||||
|
||||
## 菜单
|
||||
|
||||
| 选项 | 说明 |
|
||||
| --- | --- |
|
||||
| 1 | 安装 realm(询问安装目录与 GitHub 代理,下载最新版二进制 + 写入 systemd 单元) |
|
||||
| 2 | 添加一条转发规则(监听端口 → 远端地址:端口) |
|
||||
| 3 | 删除指定编号的转发规则 |
|
||||
| 4 | 列出当前所有转发规则 |
|
||||
| 5 / 6 / 7 | 启动 / 停止 / 重启服务 |
|
||||
| 8 | 查看 `systemctl status realm` |
|
||||
| 9 | `journalctl -u realm -f` 实时日志 |
|
||||
| 10 | 更新 realm 内核到 GitHub 最新版 |
|
||||
| 11 | 更新本脚本(从 release 分支拉取) |
|
||||
| 12 | 卸载(删除二进制、配置目录、systemd 单元、日志) |
|
||||
|
||||
## 路径与文件
|
||||
|
||||
安装时会询问安装目录,默认 `/opt/realm`。所有自身文件都集中在该目录下,systemd 单元固定在 `/etc/systemd/system/`。
|
||||
|
||||
| 路径 | 说明 |
|
||||
| --- | --- |
|
||||
| `<INSTALL_DIR>/realm` | 可执行二进制(默认 `/opt/realm/realm`) |
|
||||
| `<INSTALL_DIR>/config.toml` | 配置文件(TOML) |
|
||||
| `<INSTALL_DIR>/realm.log` | realm 自身日志 |
|
||||
| `/etc/systemd/system/realm.service` | systemd 单元(`ExecStart` 即所选目录) |
|
||||
|
||||
后续运行脚本时,会从 `realm.service` 的 `ExecStart` 反查出原安装目录,无需再次输入。
|
||||
|
||||
## GitHub 代理
|
||||
|
||||
安装时会提示输入 GitHub 代理域名(默认 `ghproxy.com`,输入 `none` 表示直连)。脚本会把代理拼接到 GitHub API 与 release 下载地址前,例如:
|
||||
|
||||
```
|
||||
https://ghproxy.com/https://github.com/zhboner/realm/releases/download/...
|
||||
https://ghproxy.com/https://api.github.com/repos/zhboner/realm/releases/latest
|
||||
```
|
||||
|
||||
选择会保存到 `<INSTALL_DIR>/.proxy`,更新内核(菜单 `10`)时会沿用。如需更换代理,可直接编辑该文件后再执行更新。
|
||||
|
||||
## 配置示例
|
||||
|
||||
脚本生成的 `config.toml` 大致如下,每条规则对应一个 `[[endpoints]]` 块:
|
||||
|
||||
```toml
|
||||
[log]
|
||||
level = "warn"
|
||||
output = "/opt/realm/realm.log"
|
||||
|
||||
[network]
|
||||
no_tcp = false
|
||||
use_udp = true
|
||||
|
||||
[[endpoints]]
|
||||
listen = "0.0.0.0:5000"
|
||||
remote = "example.com:443"
|
||||
```
|
||||
|
||||
如需手动编辑,可直接修改该文件后执行 `systemctl restart realm`。
|
||||
|
||||
## 卸载
|
||||
|
||||
进入菜单选择 `12` 即可移除二进制、配置目录、systemd 单元和日志文件。
|
||||
在新工单中引用
屏蔽一个用户