Last Regrets

软路由更新日志

· sdttttt

最近发现clash(mihomo)核心的内存使用率有明显问题,用几天这玩意就能吃200M以上的内存了,再后面就不得不重启。

并且这个核心的DNS性能也存在部分问题,我不得不使用chinadns-ng来代替clash内部的dns.


以上两点,我在这几天尝试迁移到了全新的代理平台核心,可能有听过这个的名字,没错它就是sing-box

很早的时候我就考虑过迁移到sing-box,只不过哪个时候sing-box的生态还存在一些问题。

我去评价一个代理软件,有几个很重要的点。

  • 机场兼容:一是我不会自建节点,二我也懒得手动把其他软件的配置转成sing-box的,所以提供机场的原生订阅或者订阅转换这个很重要。
  • 分流功能:这个不用多说了,你也不想局域网内的设备偷跑流量吧。
  • 实用面板:这个基本上得靠社区用爱发电.

之前1和3在sing-box上做的并不好,大部分情况下使用起来还是没有流行的核心像clash那么顺手。

不过现在sing-box有了订阅转换,面板的话官方支持了clashAPI,所以直接用clash的面板也没问题。


你以为现在就能愉快的使用sing-box了吗?FALSE**!**

sing-box其实上还有一些问题,在配置面上。

目前sing-box的开发处于高速迭代的状态,核心的配置经常会发生变更。并且sing-box的官方文档,不能说是烂,只能说是屎。

非常的混乱,里面有大量的版本特性标签以及弃用标签,你自己都不知道这些配置里,那些配置能在你的核心上用。

抛开混乱的官方文档不谈,只淡sing-box的配置文件,实际上也相比clash的配置更加的复杂。

相比clash的简单设置代理端口以及机场,sing-box需要你设置inbound和outbound口,并且DNS也算是bound的一部分。

不过熟悉了sing-box的配置后还是能感受到它的设计非常的符合直觉。

这个功能之间的模块化相比clash更加先进。

打个比方,你可以把sing-box配置成一个DNS分流工具,就像mosdns一样。

具体还是建议自己上手玩一下。


讲了这么多,我花了2天已经是完全把配置迁移过来了,clash的性能问题在sing-box上完全没有。

并且内存占用对比clash也有所降低,对我这种小内存设备来说简直福音。

不过sing-box的核心是不敢更新的…


目前我用的是1.12版本,这里贴一个我的配置文件吧:

{
  "log": { "level": "debug", "timestamp": true },
  "dns": {
    "servers": [
      {
        "tag": "dns_local",
        "type": "local"
      },
      {
        "tag": "dns_proxy",
        "type": "tls",
        "server": "8.8.4.4",
        "detour": "♻️ 自动选择"
      },
      {
        "tag": "dns_ali",
        "type": "h3",
        "server": "dns.alidns.com",
        "domain_resolver": "dns_resolver"
      },
      {
        "tag": "dns_nextdns",
        "type": "tls",
        "server": "",
        "domain_resolver": "dns_resolver"
      },
      {
        "tag": "dns_resolver",
        "type": "tls",
        "server": "223.6.6.6"
      },
      {
        "tag": "dns_fakeip",
        "type": "fakeip",
        "inet4_range": "198.18.0.0/15",
        "inet6_range": "fc00::/18"
      }
    ],
    "rules": [
      {
        "query_type": ["HTTPS"],
        "action": "reject",
        "disable_cache": true
      },
      {
        "domain_suffix": ["lan"],
        "server": "dns_local",
        "disable_cache": true
      },
      {
        "rule_set": [
          "geosite-geolocation-cn",
          "geosite-apple",
          "geosite-microsoft"
        ],
        "strategy": "prefer_ipv6",
        "server": "dns_ali"
      },
      {
        "rule_set": ["geosite-apple"],
        "server": "dns_ali"
      },
      {
        "rule_set": [
          "geosite-google",
          "geosite-category-porn",
          "geosite-twitter",
          "geosite-reddit",
          "geosite-telegram",
          "geosite-pixiv",
          "geosite-category-social-media-!cn",
          "geosite-category-ai-!cn",
          "geosite-gfw"
        ],
        "query_type": ["A", "AAAA"],
        "server": "dns_fakeip",
        "disable_cache": true
      },
      {
        "rule_set": ["geosite-geolocation-!cn"],
        "server": "dns_nextdns"
      }
    ],
    "final": "dns_ali",
    "strategy": "prefer_ipv6",
    "reverse_mapping": true,
    "independent_cache": true
  },
  "ntp": {
    "enabled": true,
    "server": "time.windows.com",
    "server_port": 123,
    "interval": "30m",
    "detour": "DIRECT"
  },
  "inbounds": [
    {
      "type": "direct",
      "tag": "dns-in",
      "listen": "::",
      "listen_port": 1053
    },
    {
      "type": "tun",
      "tag": "tun-in",
      "interface_name": "singtun",
      "stack": "gvisor",
      "address": ["172.18.0.1/30", "fdfe:dcba:9876::1/126"],
      "mtu": 9000,
      "auto_route": true,
      "strict_route": true,
      "route_address": ["198.18.0.0/15", "0.0.0.0/0", "fc00::/18", "::/0"]
    }
  ],
  "outbounds": [
  ],
  "route": {
    "default_domain_resolver": {
      "server": "dns_ali",
      "strategy": "prefer_ipv6"
    },
    "rule_set": [
      {
        "tag": "geoip-cn",
        "type": "local",
        "format": "binary",
        "path": "geoip-cn.srs"
      },
      {
        "tag": "geosite-gfw",
        "type": "local",
        "format": "binary",
        "path": "geosite-gfw.srs"
      },
      {
        "tag": "geosite-category-porn",
        "type": "local",
        "format": "binary",
        "path": "geosite-category-porn.srs"
      },
      {
        "tag": "geosite-google",
        "type": "local",
        "format": "binary",
        "path": "geosite-google.srs"
      },
      {
        "tag": "geosite-twitter",
        "type": "local",
        "format": "binary",
        "path": "geosite-twitter.srs"
      },
      {
        "tag": "geosite-reddit",
        "type": "local",
        "format": "binary",
        "path": "geosite-reddit.srs"
      },
      {
        "tag": "geosite-telegram",
        "type": "local",
        "format": "binary",
        "path": "geosite-telegram.srs"
      },
      {
        "tag": "geosite-geolocation-cn",
        "type": "local",
        "format": "binary",
        "path": "geosite-geolocation-cn.srs"
      },
      {
        "tag": "geosite-geolocation-!cn",
        "type": "local",
        "format": "binary",
        "path": "geosite-geolocation-!cn.srs"
      },
      {
        "tag": "geosite-apple",
        "type": "local",
        "format": "binary",
        "path": "geosite-apple.srs"
      },
      {
        "tag": "geosite-microsoft",
        "type": "local",
        "format": "binary",
        "path": "geosite-microsoft.srs"
      },
      {
        "tag": "geosite-pixiv",
        "type": "local",
        "format": "binary",
        "path": "geosite-pixiv.srs"
      },
      {
        "tag": "geosite-category-social-media-!cn",
        "type": "local",
        "format": "binary",
        "path": "geosite-category-social-media-!cn.srs"
      },
      {
        "tag": "geosite-category-ai-!cn",
        "type": "local",
        "format": "binary",
        "path": "geosite-category-ai-!cn.srs"
      },
      {
        "tag": "geosite-category-ads",
        "type": "local",
        "format": "binary",
        "path": "geosite-category-ads.srs"
      }
    ],
    "rules": [
      { "inbound": "dns-in", "action": "hijack-dns" },
      {
        "action": "sniff",
        "sniffer": ["dns", "bittorrent"],
        "timeout": "500ms"
      },
      { "protocol": "dns", "action": "hijack-dns" },
      { "protocol": "bittorrent", "outbound": "DIRECT" },
      {
        "domain_keyword": ["sing-box"],
        "outbound": "🚀 节点选择"
      },
      {
        "rule_set": [
          "geosite-google",
          "geosite-category-porn",
          "geosite-twitter",
          "geosite-reddit",
          "geosite-pixiv",
          "geosite-category-social-media-!cn",
          "geosite-category-ai-!cn",
          "geosite-gfw"
        ],
        "outbound": "🌍 国外媒体"
      },
      {
        "rule_set": ["geosite-telegram"],
        "outbound": "📲 电报信息"
      },
      {
        "rule_set": ["geosite-category-ads"],
        "outbound": "🍃 应用净化"
      },
      {
        "rule_set": ["geoip-cn"],
        "outbound": "🎯 全球直连"
      }
    ],
    "auto_detect_interface": true,
    "final": "🐟 漏网之鱼"
  },
  "experimental": {
    "cache_file": {
      "enabled": true,
      "store_fakeip": true
    },
    "clash_api": {
      "external_controller": "0.0.0.0:9999",
      "external_ui": "ui",
      "secret": "",
      "default_mode": "Rule"
    }
  }
}