Open-Box README

The project's README from github.com/liandu2024/Open-Box. As one markdown file: README.md.

Open-Box

OpenWrt 上的一体化透明代理:一条命令装完 sing-box 内核和管理面板,首次打开面板设个密码、跟引导走,不用手写任何配置文件。

订阅、节点、分流规则、DNS 接管、防火墙改动全部由面板托管,配错了也能一键恢复直连。

界面

代理 · 策略:每个站点集一张卡片,直接看到它此刻走哪条线路、下面这些节点的健康状况。

代理页策略页签

域名穿透:展开任意一条策略,一层层看到「站点集 → 节点组 → 具体节点」的完整链路,每一层都能当场改。

域名穿透

规则 · 真实路由:输入一个域名,先按规则推一遍,再真发一次请求看它实际走了哪条线、DNS 用了哪台服务器、命中第几条规则。

规则调试

订阅管理:Clash 配置和分享链接都能吃,节点按地区自动改名分组。

订阅管理

节点管理:自动择优组和手动组混排,动态组按关键词自动收编新节点,不用每次刷新订阅回来重勾一遍。

节点管理

目标分流:一个站点集 = 一组匹配条件 + 一个同名出口,规则集来自 MetaCubeX 的 meta-rules-dat(含被墙域名表)。

目标分流

后端设置:IPv6、测速地址、自身升级和规则集更新的计划任务都在这里。

后端设置

它能做什么

硬件要求

以上任一条不满足,install.sh 的预检会报错退出,不会碰你的系统。发布包同时提供两种架构,日常验证主要在 x86_64 上进行。

安装

SSH 以 root 登录路由器,二选一:

curl -fsSL https://raw.githubusercontent.com/liandu2024/Open-Box/main/scripts/install.sh | sh

GitHub 访问不畅时用加速版(脚本内置了几个加速站,会依次探测自动挑一个能用的):

curl -fsSL https://ghfast.top/https://raw.githubusercontent.com/liandu2024/Open-Box/main/scripts/install.sh | sh -s -- --mirror

已经有信得过的加速站,也可以指定具体前缀跳过探测:sh -s -- --mirror <镜像前缀>。

安装脚本先做预检(架构、存储、内存、系统),通过才下载对应架构的发布包、校验 SHA256、铺装到 /opt/open-box/ 并启动面板。校验不过或下载失败,系统不会有任何改动。

装完之后:

  1. 浏览器打开脚本输出的地址,一般是 http://<路由器局域网 IP>:2026。
  2. 首次访问强制设置管理密码——安装过程不生成随机密码。
  3. 跟引导走:加订阅、挑分流、启动内核。

面板默认只允许局域网访问,由防火墙规则保证,不会自动开到公网。

升级

面板「设置 → 后端设置」里点「检查更新」就能升,也可以在 SSH 里跑:

curl -fsSL https://raw.githubusercontent.com/liandu2024/Open-Box/main/scripts/update.sh | sh

强制直连 GitHub 加 -s -- --direct,强制走加速加 -s -- --mirror [前缀]。不带参数时沿用安装时选的下载通道。

升级保留 data/(订阅、规则、面板密码)和已生效的运行配置,只替换程序本体。升级前内核在跑的话,升级完会按新版本重新生成配置并自动把内核带起来。

卸载

# 停服务、清理系统改动、删程序文件;默认保留 data/
curl -fsSL https://raw.githubusercontent.com/liandu2024/Open-Box/main/scripts/uninstall.sh | sh

# 连 data/ 一起删,彻底清干净
curl -fsSL https://raw.githubusercontent.com/liandu2024/Open-Box/main/scripts/uninstall.sh | sh -s -- --purge

不加 --purge 且在真实终端里交互执行时,脚本会追问一次是否保留 data/;通过管道非交互执行问不到,按"保留"处理。

LuCI 兜底页

装完之后路由器自带界面里会多一个入口:服务 → Open-Box。面板本身打不开时用它救场:

被自己配的分流规则卡在外面时,先去这一页。

安全提示

面板后端拥有路由器 root 级权限(它要改防火墙、接管 DNS、启停系统服务)。所以:

仓库结构

本地开发

bash scripts/dev-panel.sh                    # 构建并启动面板于 http://127.0.0.1:2026
cd panel && corepack pnpm run test:server    # 服务端测试
cd panel && corepack pnpm run type-check     # 类型检查

Open-Box (liandu2024/Open-Box)

Searching Database…

这是什么?Open-Box 是面向 OpenWrt 路由器的一体化透明代理方案:一条命令即可装好 sing-box 内核和 Web 管理面板,让你在浏览器里就能完成代理路由配置,而不用手动编辑任何配置文件。
这是路由器固件,还是叠加在 OpenWrt 之上的东西?它不是固件镜像——而是添加到现有 OpenWrt 系统上的安装脚本和面板。它把 sing-box 二进制文件和面板复制到 /opt/open-box/,管理的是现有的 OpenWrt 防火墙/DNS 设置,而不是替换操作系统。
我怎么把它装到路由器上?以 root 身份 SSH 登录路由器并运行安装脚本(如果 GitHub 访问慢,有镜像加速版可用)。脚本会预检架构、存储、内存和操作系统,然后下载发布包并做 SHA256 校验,再启动面板;在浏览器中打开打印出来的地址(通常是 2026 端口),首次访问时设置管理员密码。
它需要什么硬件和操作系统?路由器必须实际运行 OpenWrt(通过 /etc/openwrt_release 检测),配备 x86_64 或 arm64/aarch64 CPU(不支持 mips/mipsel),并且至少有 512MB 可用存储和 512MB 内存。
它会校验我代理节点的 TLS 证书吗?不会,代理节点的证书校验默认是跳过的,因为代理服务商普遍存在自签名或不匹配的证书,严格校验只会让本来可用的节点失效。节点自身的密码/UUID 认证不受影响。
如果我配错规则、连面板都进不去了怎么办?路由器原生的 LuCI 界面会多出一个 Open-Box 入口,即使面板无法访问也能使用:它可以分别停止/启动内核和面板,还有一个「紧急停止并恢复直连」按钮,可以撤销路由/防火墙/DNS 的更改。
支持哪些代理协议和订阅格式?订阅可以是 Clash YAML 或 base64 分享链接,协议涵盖 shadowsocks、vmess、vless(包括 REALITY)、trojan、hysteria2、tuic、anytls 和 wireguard。
DNS 处理是怎么工作的?Open-Box 提供三种 DNS 模式:接管 dnsmasq 转发(默认)、通过防火墙规则劫持,或完全禁用 DNS 处理,这样国内域名就在本地解析以就近命中 CDN,而走代理的域名则通过代理侧解析。
升级或卸载时我的设置会怎样?升级会保留 data/ 文件夹(订阅、规则、面板密码),只替换程序二进制文件,然后重新生成配置,并在内核原本运行的情况下重启内核。不带 --purge 卸载时会询问是否保留 data/,非交互模式下默认保留。
我网络里的其他设备也能把它当作代理来用吗?可以,「共享网络」功能会把 sing-box 入站开放给局域网内的其他设备,让它们直接用这台路由器作为代理。
Creator
liandu2024
Size
2.7 MB
Stars
2.2K
Age
2mo
Commits · 90 Days