📈 GH Trending Explorer 🎲 Surprise me

← all repos

riverscn / singbox-confgen

git clone https://github.com/riverscn/singbox-confgen.git

sing-box 配置生成器:填入节点,DNS、IPv6 与分流按最佳实践配好。A sing-box 1.14+ config generator with battle-tested DNS, IPv6 and routing; runs entirely in your browser.

+0
stars, 24h · #40,802
+~2
stars, 7 days · #26,022
+26
stars, 30 days · #21,688
26
★ total · +2% this week
3
forks · 0 open issues

Star history (as recorded here)

2026-10-20 · 25 ★ 2026-10-23 · 26 ★
LanguageTypeScript
License—
Created2026-10-15 (8d ago)
Last push1d ago
Watchers0
OwnerUser

GitHub topics

Links

README excerpt
# sing-box 配置生成器
**填入节点,DNS、IPv6 与分流按最佳实践配好。**
**在线使用: **
一份 sing-box 配置用着别扭,问题多半不在节点,而在看不见的地方。这个生成器把这些坑逐一实测、给出对策,你只需要填节点,就能得到一份完整的 `config.json`,导入 SFM、SFI、SFA 或命令行版即可使用。
## 它解决了什么
| 症状 | 原因 | 这里的做法 |
|---|---|---|
| 国内网站被解析到海外,或者被墙的域名打不开 | DNS 没有跟着分流走:国内域名问了海外 DNS,被墙域名拿到污染的地址 | 直连的用本地 DNS,走代理的经代理问远程 DNS;拿不准的域名两边一起问,答出国内 IP 才直连(DNS 策略) |
| 开了代理,部分连接却绕过去或连不上 | 应用优先用 IPv6,而代理服务器没有 IPv6,或者 IPv6 根本不经过 sing-box | 走代理只给 A 记录,连 HTTPS/SVCB 里的 IPv6 提示一起清掉;本机没有 IPv6 时直连也干净地回退到 IPv4(IPv6 策略) |
| 网站频繁要求验证、风控 | 出口 IP 在 IPv4 和 IPv6、不同服务器之间漂移 | 走代理的流量始终从同一台服务器、同一个 IPv4 出去 |
| 换了节点,有些东西还走旧线路 | DNS、规则集下载各有各的出口 | 代理流量、远程 DNS、规则集下载共用一个 `proxy` 出口,换节点时一起换(代理组) |
| 一开全局,家里的 NAS、公司内网就连不上 | 局域网和内网流量也被送进了代理 | 局域网在任何模式下直连;在外面用内置的 Tailscale 连回 tailnet,内网域名交给 tailnet 的 DNS 拿到内网地址(Tailscale) |
每条策略都在日常使用中实测过,生成的配置在 Linux、macOS、Windows 上用官方 `sing-box check` 检查过。完整的设计理由见 DESIGN.md。
## 三步上手
1. **填节点**:从协议模板添加,或者导入客户端里正在用的配置:sing-box 的 `config.json`(节点和 Tailscale),或 Clash(mihomo)的 YAML(节点和代理组);也可以导入机场订阅的内容(Clash YAML、明文或 base64 的分享链接、SIP008)。DNS 和分流按这里的策略重写。
2. **选默认模式**:GFWList、Non-CN、Global、Direct 四种都会写进配置,在客户端里随时切换。被墙但不在 gfwlist 里的网站,加进自定义代理域名。
3. **下载 `config.json`**:导入 SFM、SFI、SFA,或运行 `sing-box run -c config.json`。需要 sing-box **1.14** 及以上。
最后一件事:浏览器的“安全 DNS”(DoH)请保持“自动”或关闭。手动指定 DoH 服务商会绕过 sing-box 的 DNS 分流。
## 隐私
- 没有后端。页面的 CSP 禁止发出任何网络请求,设置只保存在当前浏览器的 localStorage 里,可以保存多套配置。
- 下载的 `config.json` 本身也能再导入回来。
- 导入订阅时页面同样不联网:填上订阅地址,页面给出 `curl` 命令和打开链接,由你自己取回内容再粘贴或选择文件。订阅地址不会保存,导入是一次性的,节点更新后需要重新导入。
- 分流策略是固定的一套;需要深度定制时,直接修改生成的 JSON,或者交给 AI 助手(见下一节)。
## 用 AI 助手修改配置
网页只提供一套策略和少量开关。网页里没有的改动(例如加一个 SOCKS 入站、让某个 App 不经过 sing-box),可以交给 Claude Code、Codex、Cursor 等 AI 编程助手。本仓库附带一个 skill:`sing-box-best-practice`,它告诉助手:
- 这份配置的 DNS 规则、路由规则和规则集分别是什么结构、为什么这样排;
- 哪些约束不能破坏(单一 `proxy` 出口、走代理只给 IPv4、直连优先等),常见修改要同时改哪几处;
- 每个字段都要对照 sing-box 官方文档 查证,先确认你的 sing-box 版本,版本过旧或功能需要新版本时提醒你更新;
- 需要细节时去读本项目的 DESIGN.md 和 `src/generate.ts`。
用 skills CLI 安装(需要 Node.js):
 [code] 
按提示选择你用的助手。常用选项:
| 选项 | 作用 |
|---|---|
| `-g` | 装到用户目录,所有项目都能用(默认只装到当前项目) |
| `-a claude-code` | 只装给指定的助手,例如 `claude-code`、`codex`、`cursor` |
| `--skill sing-box-best-practice` | 只装这一个 skill |
| `-y` | 跳过确认 |
例如不经询问、全局装给 Claude Code:
 [code] 
之后用 `npx skills update` 更新。装好后,把下载的 `config.json` 交给助手,直接说要什么,例如“加一个 SOCKS 入站,让局域网里的其他设备也能用”,或者“这个网站在 Non-CN 模式下为什么走了代理?”。能在网页里做的改动,助手会建议你回网页改,因为下次从网页下载会覆盖手改的内容。
## 可以设置什么
| 卡片 | 内容 |
|---|---|
| 节点 | 用 JSON 编写(可写注释),从协议模板开始:Hysteria2、VLESS(Vision / Reality)、VMess、Trojan、Shadowsocks、ShadowTLS、TUIC、AnyTLS、Hysteria、NaiveProxy、Snell、SOCKS、HTTP、SSH、Tor,以及 WireGuard、OpenConnect、OpenVPN 端点 |
| 代理组 | 按地区、用途给节点分组:手动选择或自动测速,可嵌套;成员可按名称筛选后一次选中;`proxy` 的默认选择;节点多时可不在 `proxy` 里逐个列出 |
| 分流 | 默认模式;直连域名;代理域名和 IP(适合被墙但不在 gfwlist 里的网站);DNS 分流(指定域名用本地 DNS、代理 DNS、某个 tailnet 的 DNS 或自定义的 DNS 服务器解析,例如公司域名问 tailnet 的全局 DNS,或经 WireGuard、OpenConnect 问内网 DNS) |
| Tailscale | 任意多个 tailnet:端点用 JSON 编写(可写注释);MagicDNS(含后台配置的 split DNS)、tailnet 默认 DNS、额外路由、作为代理出口 |
| 高级 | 目标平台;代理 DNS 服务器(Google / Cloudflare / Quad9,DoT 或 DoH,或用