Skip to content

senzyo-desu/sing-box-templates

Repository files navigation

sing-box-templates

自己用的一些 sing-box 配置文件模板, 支持 Toperlock/sing-box-subscribe 远程调用。
模板仅适用于客户端, 不适用于服务器和路由器。

⚠️ 要求 sing-box 版本 ≥ 1.10.0 ⚠️

1. 使用示例

#!/bin/bash

url_gene="https://a.com"  # 生成配置的后端地址
url_sub="https://b.com"   # 来自机场的订阅链接
url_tpl="https://raw.githubusercontent.com/senzyo-desu/sing-box-templates/public/tun/doh/ali/google/ghp.ci/config.json"  # 配置所用模板的地址
url_dl="$url_gene/config/$url_sub&ua=clashmeta&emoji=1&file=$url_tpl"
echo $url_dl
curl -L -o config.json "$url_dl"

在 Android 或 Apple 设备的 sing-box 图形客户端中添加这个最终的 URL 作为订阅链接。

对于 Linux 和 Windows, 阅读 sing-box on Linuxsing-box on Windows

至于 Toperlock/sing-box-subscribe 的更多参数信息, 阅读其 README.md

2 模板推荐

模板仅适用于客户端, 不适用于服务器和路由器。

2.1 Linux 和 Windows

推荐使用入站方式为 tun 的模板:

https://raw.githubusercontent.com/senzyo-desu/sing-box-templates/public/tun/doh/ali/google/ghp.ci/config.json

如果要使用 FakeIP, 选择:

https://raw.githubusercontent.com/senzyo-desu/sing-box-templates/public/tun/doh/ali/google/ghp.ci/config_fakeip.json

或者使用入站方式为 mixed 的模板:

https://raw.githubusercontent.com/senzyo-desu/sing-box-templates/public/mixed/doh/ali/google/ghp.ci/config.json

2.2 Android 和 Apple

只推荐使用入站方式为 tun 的模板:

https://raw.githubusercontent.com/senzyo-desu/sing-box-templates/public/tun/doh/ali/google/ghp.ci/config.json

如果要使用 FakeIP, 选择:

https://raw.githubusercontent.com/senzyo-desu/sing-box-templates/public/tun/doh/ali/google/ghp.ci/config_fakeip.json

3. 模板分类

文件的存储路径按照 "入站方式 → DNS 协议 → 中国 DNS 服务商 → 国际 DNS 服务商 → 规则集 CDN → 配置文件名称" 进行层级划分。

比如对于 https://raw.githubusercontent.com/senzyo-desu/sing-box-templates/public/tun/doh/ali/google/ghp.ci/config.json, 即 https://raw.githubusercontent.com/senzyo-desu/sing-box-templates/<Git 分支名称>/<入站方式>/<DNS 协议>/<中国 DNS 服务商>/<国际 DNS 服务商>/<规则集 CDN>/<配置文件名称>

  • 入站方式 的可选值: mixed, tun
  • DNS 协议 的可选值: doh, doq, dot, h3
  • 中国 DNS 服务商 的可选值: ali, dnspod
  • 国际 DNS 服务商 的可选值: adguard, cloudflare, google, opendns
  • 规则集 CDN 的可选值: ghp.ci, ghproxy.net, fastly.jsdelivr.net, gcore.jsdelivr.net, testingcf.jsdelivr.net
  • 配置文件名称 的可选值:
    • 对于 入站方式mixed 的, 可选值: config.json
    • 对于 入站方式tun 的, 可选值: config.json, config_fakeip.json

3.1 入站方式

3.1.1 tun 入站

"inbounds": [
  {
    "type": "tun",
    "address": "172.19.0.1/30",
    "gso": false,
    "auto_route": true,
    "strict_route": true,
    "endpoint_independent_nat": false,
    "stack": "mixed",
    "exclude_package": ["com.android.captiveportallogin"],
    "platform": {
      "http_proxy": {
        "enabled": true,
        "server": "127.0.0.1",
        "server_port": 7890
      }
    },
    "sniff": true,
    "sniff_override_destination": false
  },
  {
    "type": "mixed",
    "listen": "127.0.0.1",
    "listen_port": 7890,
    "sniff": true,
    "sniff_override_destination": false
  }
],

3.1.2 mixed 入站

"inbounds": [
  {
    "type": "mixed",
    "listen": "::",
    "listen_port": 7890,
    "sniff": true,
    "sniff_override_destination": false
  }
],

3.2 DNS 协议

DNS 协议使用 DNS over HTTPSDNS over QUICDNS over TLSDNS over HTTP/3, 更多 DNS 协议与格式参考 sing-box 文档。

3.3 DNS 服务商

中国 DNS 包括 Ali DNSDNSPod

国际 DNS 包括 AdGuard DNS, Cisco OpenDNS, Cloudflare DNSGoogle DNS

更多 DNS 服务商 参考

3.3.1 Ali DNS

根据 公共 DNS 免费版接入限速, 单 IP 访问量 超过 20 QPS, UDP/TCP 流量超过 2000 bps 将被限速。 升级到公共 DNS 付费版, 每月有 1000 万次 的免费解析额度。

3.3.2 DNSPod

根据 DoH 与 DoT 说明, 单个域名解析调用频率 限制为 20 QPS。 开通腾讯云 Public DNS 专业版, 每月有 300 万次 的免费解析额度。

"dns": {
  "servers": [
    {
      "tag": "国际 DNS",
      "address": "https://dns.google/dns-query",
      "address_resolver": "系统 DNS",
      "detour": "🚀 默认出站"
    },
    {
      "tag": "中国 DNS",
      "address": "https://dns.alidns.com/dns-query",
      // 可修改 address 为自己的专属地址
      "address_resolver": "系统 DNS",
      "detour": "🐢 直连"
    },
    {
      "tag": "系统 DNS",
      "address": "local",
      "detour": "🐢 直连"
    }
...
  ],
...
},

3.4 规则集 CDN

仅影响客户端下载规则集的速度。

"route": {
...
  "rule_set": [
...
    {
      "tag": "downloader",
      "type": "remote",
      "format": "binary",
      "url": "https://ghp.ci/https://raw.githubusercontent.com/senzyo-desu/as-gist/refs/heads/master/Rule/sing-box/downloader.srs",
      "download_detour": "🐢 直连",
      "update_interval": "3d"
    },
...
  ]
}

源地址举例:

https://raw.githubusercontent.com/senzyo-desu/as-gist/refs/heads/master/Rule/sing-box/downloader.srs

CDN 地址列举:

https://ghp.ci/https://raw.githubusercontent.com/senzyo-desu/as-gist/refs/heads/master/Rule/sing-box/downloader.srs
https://ghproxy.net/https://raw.githubusercontent.com/senzyo-desu/as-gist/refs/heads/master/Rule/sing-box/downloader.srs
https://fastly.jsdelivr.net/gh/senzyo-desu/as-gist@master/Rule/sing-box/downloader.srs
https://gcore.jsdelivr.net/gh/senzyo-desu/as-gist@master/Rule/sing-box/downloader.srs
https://testingcf.jsdelivr.net/gh/senzyo-desu/as-gist@master/Rule/sing-box/downloader.srs

可自行替换模板中使用的 CDN, 替换前推荐对这些 CDN 的域名进行 网站测速。不推荐 cdn.jsdelivr.net

GitLab 地址举例:

https://gitlab.com/senzyo_sama/as-gist/-/raw/master/Rule/sing-box/downloader.srs

4. 注意事项

4.1 下载进程分流

sing-box v1.10.0 已经支持嗅探 bittorrent 协议, 但对于作为客户端的 sing-box 来说, 无法分流 P2P 阶段的流量 (也可能是我菜), 干脆沿袭以前的做法, 匹配 下载软件的进程 来一刀切。使用 Bittorrent 方式下载时, 手动切换 📥 Downloader 分组的策略, 改用 🐢 直连

4.2 TUN 模式的问题

根据 issue#883, 如果在 TUN 模式下无法使用进行 SSH 访问, 需要关闭严格路由:

"inbounds": [
  {
    "type": "tun",
...
    "strict_route": false,
...
  },
...
],

如果关闭了严格路由, Linux 平台在 TUN 模式下还是无法使用 IPv6 进行 SSH 访问, 根据 issue#458 得知:

由于技术限制, 在 Linux 平台中 tun 的自动路由会阻止 IPv6 入站连接, 您可以选择手动配置路由。

About

Templates for sing-box-subscribe.

Resources

Stars

Watchers

Forks

Languages