BOSh
文章355
标签611
分类151

文章分类

315晚会 36氪 80后 ADB AI AI Agent AI PC AI 代理 AI 助手 AI 网关 AI 评测 AIStudio AI代理 AI助手 AI处理器 AI大模型 AI安全 AI应用 AI智能体 AI网关 AMD API API 集成 AWS Active Directory Agent Agentic AI AionUi Alwaysdata Android Apple Arch Linux Argo Tunnel Automation Backup Bash Bosh Bot Bot-hosting C++ CDN CEO CI/CD CLI CLI Proxy API CLIProxyAPI COMPUTEX CRM CT8 CentOS 7 Chrome 插件 Cisco Claude Claude Opus 4.6 Cloudflare Code ConnectBot Credential Manager Ct8.pl CurrentEvents DHCP DNS Debian DeepSeek DenchClaw Deployment DevOps Devil Docker Elon Musk Express FSRM FTP FreeBSD FreeLLMAPI GCP GEO GPL GPO GPS GPT GPU Gemini Gemini 3.1 Pro Ghostty Git GitHub GitHub Actions Gmail Go Gog Golang Google Google AI Pro Google API Google Cloud Google Gemini Google Photos Google Pixel HDC HKUDS Hardware HarmonyOS Hermes Hermes Agent Hexo HidenCloud Hugo Hyper-V Hyprland IIS IPV6 Intel JavaScript Jetpack Compose John Turnus KDE KOSPI Karpathy Kimi-K2.5 Kotlin LINUX LLM LTS LVM LaTeX Linux LiveUSB MBR MTProto MW4L Markdow Markdown Matrix MemU Bot Mesh-Network MiniMax Musk MyDevil NAT NAT64 NIX NODE NTFS NVIDIA NVIDIA Build NanoClaw Netcatty Netlify Newsletter Node.js Nvidia Open WebUI OpenAI OpenAI 兼容接口 OpenAI兼容 OpenCLI OpenClaw P2P PDF 编译 PV Packet Tracer Pacman Phusion Passenger PicoClaw Pixel Pixel 1 Pixel 12 Pixel11 Plasma PowerShell Prismer Productivity Pura90 Python QClaw QQ机器人 Qualcomm Quickshell R22 RAG RAID RAID5 RIP RIPv2 RTX Spark Railway Reddit Rust SFTP SMB SSH SeleniumBase Serv00 Serverless Shell Sing-box Skills SoC Sub-Store Subagent SuperCall Synapse Syncthing TPU TSMC Tailscale Telegram Telegram Bot Tensor Tensor G7 Tim Cook Tunnel Turnstile Ubuntu VG VLESS VMware VPN VPS Vercel Vite Wayland WeChat Web3 WebSSH WebSocket WebTransport Web开发 Windows Windows 11 Windows Admin Center Windows Server Windows Server 2022 WireGuard WorkBuddy X XChat XHTTP X热榜 YUM源 YouTube ZeroClaw arXiv arch c++ cc-switch cloudflared ct8.pl email find git hdc hidumper hugo hyprmod i3wm iMessage iOS iSCSI icacls mdadm n8n nanobot node js ntfs pacman pnpm podman sconfig zz.ac 东海 两性关系 个人助理 中东 中东冲突 中东局势 中关村论坛 中南大学 中国 中美 中美关系 乌克兰 习惯养成 云同步 云服务器 亚洲 人性 人教版 代理 代金券 以色列 任务管理 伊朗 伊朗危机 伊朗战争 伦理 体育 使用 俄乌战争 俄罗斯 保护主义 信息流 信息管理 停火 健康管理 光通信 免费VPS 免费主机 免费试用 全球动态 六年级 共和党 关系 养老金 内存分析 内存管理 内容工厂 内容生产 内容筛选 内网穿透 军事冲突 军事动态 军民融合 农村 分享 分配 刘欢 创业 制裁 办公自动化 加密 加密货币 加沙 北斗 北韩 医学生 半导体 华为 协议分析 博客 博客助手 博客发布 博客部署成功 卫星 即时通讯 厄尔尼诺 原生 JS 去中心化 反向代理 反思 反爬虫 反重力 台海局势 台湾 命令 命令行 喷嚏网 国产 国产化 国产替代 国宴 国际 国际关系 国际局势 国际新闻 图卦 图说 地缘政治 域名解析 域名邮箱 域控 基础设施 多代理 多模态AI 大学分析 大模型 存储 存储空间 存储管理 孙少平 学习 安全 安装 实时监控 家庭助理 家庭服务器 家装设计 小学 嵌套虚拟化 工业策略 工作总结 工作效率 工作流编排 工具 工具链 平凡的世界 平台责任 庞氏骗局 开发 开发实录 开发指南 开发调试 开源 开源软件 开源项目 张雪峰 微信 心理健康 快捷键 怀念 性能调优 情感 慈善 战争 房地产 手机 技术分享 投资工具 指标看板 提示词工程 播客 收件箱清理 故障转移群集 效率 效率工具 教程 教育制度 数学 数据分析 数据投毒 文件服务器 文件管理 文献管理 新能源汽车 新闻汇总 日历聚合 时事 时事总结 显卡 晨报 智能体 智能体生态 智能手机 服务器管理 服务器部署 朝鲜 权限 极端天气 架构 架构实践 核协议 核武器 桌面Cowork 桌面环境 模型接入 模型配置 欧洲安全 每日图说 比亚迪 气候 油价 法律 活动运营 浏览器自动化 消息通道 消费者权益 深度学习 渔船 游戏开发 湘雅医院 潘石屹 热点新闻 熔断 版本更新 特朗普 生态系统 生活 生活自动化 生物识别 用例 甲骨文云 电池技术 症状追踪 白嫖 白嫖攻略 白山云 皮皮虾 监管 目标管理 省钱 知识库 磁盘管理 社交媒体 社会保障 社会公平 社会百态 社会观察 科技 科普 科研助手 窗口管理 笔记 第一财经 算法 算法推荐 系统管理 纽森 组策略 组网 经济 经济观察 经验分享 编程 网关 网络 网络安全 网络实验 网络摘录 网络穿透 网络规划 网络配置 美伊冲突 美伊谈判 美国 美国制裁 美国大选 美国政治 股灾 能源安全 脚本 腾讯 腾讯,龙虾,OpenClaw 腾讯云 自动化 自动化创作 自动化协作 自动化提醒 自动化流水线 自动化脚本 自动化运维 自建服务 自律教练 自托管 自由软件 节点管理 芯片 草榴 虚拟化 虚拟化运维 虚拟机 行为改变 视频摘要 解锁 计算摄影 订阅系统 记录 许可证 论文写作 论文阅读 语义搜索 语音代理 读书 读书笔记 读后感 谷歌云 财报季 账单分析 路由协议 路由器 路由配置 路遥 身份验证 轻量级 迁移 运维 进化论 远程桌面 远程访问 远程运维 选车 邀请确认 部署 部署指南 部署教程 重复数据删除 量子计算 销售自动化 阅读感悟 随笔 隐私 霍尔木兹 霍尔木兹海峡 青蛙机 韩国股市 韩红 韬定律 音乐 项目管理 风险管理 飞书 高中生活 高可用 高考 高考志愿 鸽巢原理 麒麟 麒麟9050 黄仁勋 黎巴嫩 龙虾

一言

文章归档

Sing-box  订阅生成与管理平台:开箱即用的节点管理解决方案

Sing-box 订阅生成与管理平台:开箱即用的节点管理解决方案

Sing-box 订阅生成与管理平台:开箱即用的节点管理解决方案

在当今网络环境下,高效管理和分发代理节点变得尤为重要。Sing-box 作为新一代通用代理平台,因其灵活性和性能而受到广泛欢迎。然而,手动配置和分发 Sing-box 配置对于普通用户而言仍然较为复杂。为了解决这一痛点,我们开发了一个基于 Node.js 和 Express 的 Sing-box 订阅生成与管理平台,旨在提供一个简单、安全且易于维护的节点管理解决方案。

系统架构

该平台采用轻量级单体后端架构,使用 Node.js 和 Express 框架构建。数据持久化采用 SQLite 数据库,存储用户信息和节点数据。前端使用响应式设计,提供暗黑风格的管理界面,确保在各种设备上都有良好的使用体验。

核心功能包括:

  • 管理员身份验证(支持 JWT 或 Session 鉴权)
  • 节点链接解析(支持 vless://, vmess://, tuic://, hysteria2:///hy2://, anytls:// 等主流协议)
  • Sing-box 配置自动生成(严格遵循 V1.10+/V1.11+ 规范)
  • 公开订阅链接生成(带唯一 Token,如 https://your-domain.com/sub/TOKEN.json)
  • 节点增删改查(CRUD)操作

技术实现细节

节点链接解析器

我们实现了一个健壮的节点链接解析器,能够准确提取各协议的关键参数:

  • VLESS:UUID、Server、Port、TLS/Reality 配置(SNI、Public Key、Short ID、Flow)、Network 类型
  • VMess:UUID、Alter ID、Security、Network、传输设置(如 WS 路径和 Host)
  • Tuic:UUID、Password、Congestion Control、TLS 设置
  • Hysteria2:Password、TLS 设置
  • AnyTLS:作为通用 TLS 包装器进行处理

解析后的节点数据以 JSON 格式存储在数据库中,便于后续配置生成。

配置生成器

配置生成器是系统的核心组件,它根据存储的节点数据生成符合 Sing-box 标准的 JSON 配置文件。生成的配置严格遵循以下结构:

  1. DNS 结构:

    • dns_proxy:TCP,1.1.1.1,用于代理 DNS 请求
    • dns_direct:HTTPS,dns.alidns.com,用于直接 DNS 解析
    • dns_resolver:UDP,223.5.5.5,作为最终解析器
    • dns_fakeip:FakeIP,inet4_range: 198.18.0.0/15,用于地理位置路由
    • 包含针对 geolocation-!cn 的 FakeIP 和 Proxy 路由规则
    • final: dns_direct
  2. Inbounds:

    • mixed-in:监听 0.0.0.0:2080
    • tun-in:地址 172.19.0.1/30,auto_route: true, strict_route: true, stack: mixed
  3. Outbounds 与策略组:

    • 🚀 节点选择 (selector):包含所有解析出的节点及自动选择器
    • ⚡ 自动选择 (urltest):通过 URL 测试选择最佳节点
    • 🏠 私有网络 (selector):私有 IP 流量走向
    • 🔒 国内服务 (selector):国内服务流量走向
    • 🌐 非中国 (selector):国际流量走向
    • 🐟 漏网之鱼 (selector):默认兜底策略
  4. Route 与 Rule-Set:

    • 规则集来源:geolocation-cn, cn, geolocation-!cn, private-ip, cn-ip(均采用 remote/binary/.srs 格式)
    • 分流规则:
      • geolocation-cn / cn → 🔒 国内服务
      • geolocation-!cn → 🌐 非中国
      • private-ip → 🏠 私有网络
      • cn-ip → 🔒 国内服务
      • final: 🐟 漏网之鱼
    • 开启 auto_detect_interface: true
    • 开启 experimental.cache_file(缓存 FakeIP 等)

安全与订阅机制

为了保护后台管理界面,系统实现了基于 JWT 的身份验证机制。管理员登录后即可访问节点管理面板。节点数据提交后,系统会生成一个唯一的订阅 Token,公开订阅链接形如 /sub/TOKEN.json。客户端访问此链接时,服务端动态生成并返回基于当前所有节点的 Sing-box 配置 JSON。

部署与维护

我们提供了多种部署方式以适应不同的 VPS 环境:

Docker 一键部署(推荐)

  1. 克隆仓库或上传项目文件
  2. 创建 .env 文件,设置以下环境变量:
    1
    2
    3
    4
    JWT_SECRET=your_jwt_secret_here
    SUBSCRIPTION_TOKEN=your_subscription_token_here
    ADMIN_USERNAME=admin
    ADMIN_PASSWORD=your_secure_password_here
  3. 运行 docker-compose up -d
  4. 访问 http://your_server_ip:3000 进行管理

手动部署 (PM2 + Nginx)

  1. 安装 Node.js (>=18) 和 npm
  2. 安装项目依赖:npm ci --only=production
  3. 设置环境变量(同上)
  4. 使用 PM2 启动:pm2 start server.js --name singbox-sub
  5. 配置 Nginx 作为反向代理(可选但推荐用于 HTTPS)

数据持久化通过 SQLite 实现,数据库文件 database.sqlite 位于项目根目录。使用 Docker 时,请确保通过卷挂载或绑定挂载持久化此文件以避免数据丢失。

使用指南

  1. 使用管理员账户登录后台
  2. 在节点管理页面粘贴节点分享链接(支持单行或多行)
  3. 系统自动解析链接并保存节点信息
  4. 访问订阅链接页面获取公开订阅地址
  5. 在 Sing-box 客户端中配置订阅链接即可自动更新节点

结论与未来展望

该平台极大地简化了 Sing-box 节点的管理和分发流程。通过将复杂的配置生成封装成简单的订阅链接,即使是非技术用户也能轻松享受到 Sing-box 带来的高性能代理服务。后续计划包括:

  • 增加更多协议支持(如 Shadowsocks, Socks5)
  • 添加流量统计和日志功能
  • 实现多用户体系和订阅过期机制
  • 提供更丰富的前端主题选择

我们相信,这个平台将为个人和小型团队提供一个可靠、易用的节点管理解决方案,让专注于服务本身而非繁琐的配置工作成为可能。

本文作者:BOSh
本文链接:http://bosh.zz.ac/posts/54321.html
版权声明:本文由BoSh发布,部分内容来源于网络。