Skip to content

sing-box & Snell 管理工具 #16

Description

@sephiroth233

这是一个功能强大的 sing-box 管理脚本,提供完整的安装、配置、节点管理、中转功能和系统优化。

项目地址:https://github.com/sephiroth233/sys-toolkit


📥 下载和安装方式

方式一:直接执行(推荐)

bash <(curl -fsSL https://raw.githubusercontent.com/sephiroth233/sys-toolkit/master/server-proxy.sh)

方式二:保存后执行

curl -fsSL https://raw.githubusercontent.com/sephiroth233/sys-toolkit/master/server-proxy.sh -o server-proxy.sh && bash server-proxy.sh

🎯 主要功能模块

1️⃣ 服务安装与卸载

  • 安装 sing-box:自动下载并安装 sing-box 服务,安装时可选择版本:
    • 最新正式版(推荐)
    • 最新 Beta 版(包含 Snell 协议,需 1.14.0+)
    • 指定版本号
  • 自动生成随机端口(避免冲突)
  • 自动生成密钥对(Reality、UUID 等)
  • 自动生成自签名证书
  • 自动获取服务器 IP 和所在国家
  • 卸载服务:完全删除服务和配置文件

2️⃣ 服务管理

  • sing-box 服务:启动/停止/重启、查看状态、实时日志
  • 智能状态显示:实时显示服务安装和运行状态、当前版本、Snell 支持状态、BBR 状态

3️⃣ 节点配置生成 ⭐

支持生成多种协议的入站配置:

协议 特点
Snell 自 sing-box 1.14.0 起支持,可选择版本 5/6(默认 5)
Shadowsocks 2022 2022-blake3-aes-256-gcm,支持多路复用
VLESS + Vision + Reality 防审查,TLS 指纹识别
Hysteria2 高性能,基于 UDP
AnyTLS 通用 TLS 代理
SOCKS5 本地代理
HTTP 本地代理

功能特性:

  • 支持单独或批量生成协议(可多选)
  • 自动检测端口可用性
  • 支持用户自定义端口或使用随机端口
  • 自动生成完整的分享链接(URI 格式)和 Surge/Clash 配置格式
  • 配置验证和错误恢复机制

4️⃣ 客户端配置查看

  • 自动解析 config.json 中的协议配置
  • 生成标准的 URI 分享链接
  • 支持选择性查看特定协议(可多选)
  • 实时显示服务器 IP 和国家信息

5️⃣ 中转配置管理 🔀

  • 添加中转:配置本地端口 → 远程地址转发
  • 查看中转:列出所有活跃的中转配置
  • 删除中转:支持选择性删除或全部删除
  • 自动重启服务应用配置变更

6️⃣ BBR 加速

  • 启用 BBR:自动检测内核版本,启用 TCP BBR 拥塞控制
  • 关闭 BBR:恢复默认配置
  • 自动检测 BBR 启用状态

7️⃣ 配置来源信息查看 📊

  • 显示 sing-box 配置文件的详细信息
  • 实时统计配置文件大小和协议数量

🔧 工作流程示例

完整使用流程:

# 1. 下载并执行脚本
bash <(curl -fsSL https://raw.githubusercontent.com/sephiroth233/sys-toolkit/master/server-proxy.sh)

# 2. 选择菜单选项
# ├─ 选项 1:安装 sing-box 服务
# │  ├─ 选择版本(正式版/Beta/指定)
# │  ├─ 自动下载安装
# │  ├─ 生成随机端口和密钥
# │  └─ 启动服务
#
# ├─ 选项 7:生成节点配置
# │  ├─ 选择协议类型(可多选,含 Snell)
# │  ├─ 输入或随机分配端口
# │  └─ 更新配置文件
#
# ├─ 选项 8:查看节点配置
# │  ├─ 解析 config.json
# │  └─ 生成客户端分享链接
#
# ├─ 选项 10-12:中转配置管理
# │  ├─ 添加本地端口转发
# │  ├─ 查看活跃中转配置
# │  └─ 删除指定中转规则
#
# └─ 选项 13-14:系统优化
#    ├─ 启用/关闭 BBR
#    └─ 查看配置来源信息

📊 配置文件说明

sing-box 配置文件

文件位置 作用
/etc/sing-box/config.json 主配置文件(包含所有入站协议配置)
/etc/sing-box/cert.pem TLS 证书(用于 Hysteria2、AnyTLS 等协议)
/etc/sing-box/private.key TLS 私钥
/etc/sing-box/direct_configs.conf 中转配置备份文件

🎨 特色功能

✅ 智能端口管理

  • 自动检测端口占用状态(ss 命令)
  • 生成随机未使用端口(避免冲突)
  • 支持用户自定义端口

✅ 依赖自动安装

脚本会自动安装所需的工具:

  • ss(iproute2)- 端口检测
  • jq - JSON 处理
  • 支持多种包管理器(apt、yum、dnf、pacman、zypper)

✅ 错误恢复机制

  • 配置修改前自动备份
  • 失败后自动回滚
  • JSON 格式验证

✅ 声明式协议注册表

  • 协议列表集中定义(PROTOCOL_LIST),新增协议只需扩展注册表
  • 菜单、生成、验证、删除、URI 输出全部自动联动

✅ 彩色输出

用不同颜色显示不同信息:

  • 🟢 绿色:成功提示
  • 🔴 红色:错误警告
  • 🟡 黄色:重要提示
  • 🔵 蓝色/紫色:分类标题

📋 菜单选项速查表

sing-box 核心功能

1.  安装 sing-box 服务
2.  卸载 sing-box 服务
3.  启动/停止 sing-box 服务
4.  重启 sing-box 服务
5.  查看服务状态
6.  查看实时日志
7.  生成节点配置 ⭐
8.  查看节点配置 ⭐
9.  删除节点配置

中转配置管理

10. 添加中转配置
11. 查看中转配置
12. 删除中转配置

BBR 优化管理

13. 启用/关闭 BBR 加速

配置管理

14. 查看配置来源信息

通用操作

0.  退出程序

🚀 使用建议

sing-box 使用流程

  • 首次使用:执行脚本 → 选项 1 安装 → 选项 7 生成配置
  • 使用 Snell:安装时选择 Beta 版(≥1.14.0)→ 选项 7 选 Snell(默认版本 5)
  • 配置多个协议:选项 7 时选择"全部"或多个协议编号
  • 获取分享链接:选项 8 查看已生成的 URI/Surge/Clash 链接
  • 管理配置:选项 9 删除不需要的节点配置
  • 中转功能:选项 10-12 管理端口转发

系统优化

  • 性能优化:选项 13 启用 BBR 加速
  • 配置查看:选项 14 查看配置来源信息

⚠️ 前置要求

  • Linux 服务器(支持 systemd)
  • Root 权限
  • 网络连接(下载安装包)
  • 支持的包管理器

🚨 使用提醒

  • Snell 节点需要 sing-box ≥ 1.14.0(当前最新正式版 v1.13.19 不支持,安装时请选择 Beta 版或指定 1.14.0+ 版本)
  • 防火墙:安装后请确保代理端口已在 UFW 等防火墙中放行(默认策略 deny incoming 会拦截所有非白名单端口)
  • SSH 提示:与旧版不同,本脚本已移除独立的 Snell 服务(snell-server),Snell 节点现在完全由 sing-box 提供

这个脚本是一个完整的 sing-box 管理解决方案,特别适合需要快速部署多协议代理服务和系统优化的用户! 🎯

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions