最近发现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版本,这里贴一个我的配置文件吧:

  1{
  2  "log": { "level": "debug", "timestamp": true },
  3  "dns": {
  4    "servers": [
  5      {
  6        "tag": "dns_local",
  7        "type": "local"
  8      },
  9      {
 10        "tag": "dns_proxy",
 11        "type": "tls",
 12        "server": "8.8.4.4",
 13        "detour": "♻️ 自动选择"
 14      },
 15      {
 16        "tag": "dns_ali",
 17        "type": "h3",
 18        "server": "dns.alidns.com",
 19        "domain_resolver": "dns_resolver"
 20      },
 21      {
 22        "tag": "dns_nextdns",
 23        "type": "tls",
 24        "server": "",
 25        "domain_resolver": "dns_resolver"
 26      },
 27      {
 28        "tag": "dns_resolver",
 29        "type": "tls",
 30        "server": "223.6.6.6"
 31      },
 32      {
 33        "tag": "dns_fakeip",
 34        "type": "fakeip",
 35        "inet4_range": "198.18.0.0/15",
 36        "inet6_range": "fc00::/18"
 37      }
 38    ],
 39    "rules": [
 40      {
 41        "query_type": ["HTTPS"],
 42        "action": "reject",
 43        "disable_cache": true
 44      },
 45      {
 46        "domain_suffix": ["lan"],
 47        "server": "dns_local",
 48        "disable_cache": true
 49      },
 50      {
 51        "rule_set": [
 52          "geosite-geolocation-cn",
 53          "geosite-apple",
 54          "geosite-microsoft"
 55        ],
 56        "strategy": "prefer_ipv6",
 57        "server": "dns_ali"
 58      },
 59      {
 60        "rule_set": ["geosite-apple"],
 61        "server": "dns_ali"
 62      },
 63      {
 64        "rule_set": [
 65          "geosite-google",
 66          "geosite-category-porn",
 67          "geosite-twitter",
 68          "geosite-reddit",
 69          "geosite-telegram",
 70          "geosite-pixiv",
 71          "geosite-category-social-media-!cn",
 72          "geosite-category-ai-!cn",
 73          "geosite-gfw"
 74        ],
 75        "query_type": ["A", "AAAA"],
 76        "server": "dns_fakeip",
 77        "disable_cache": true
 78      },
 79      {
 80        "rule_set": ["geosite-geolocation-!cn"],
 81        "server": "dns_nextdns"
 82      }
 83    ],
 84    "final": "dns_ali",
 85    "strategy": "prefer_ipv6",
 86    "reverse_mapping": true,
 87    "independent_cache": true
 88  },
 89  "ntp": {
 90    "enabled": true,
 91    "server": "time.windows.com",
 92    "server_port": 123,
 93    "interval": "30m",
 94    "detour": "DIRECT"
 95  },
 96  "inbounds": [
 97    {
 98      "type": "direct",
 99      "tag": "dns-in",
100      "listen": "::",
101      "listen_port": 1053
102    },
103    {
104      "type": "tun",
105      "tag": "tun-in",
106      "interface_name": "singtun",
107      "stack": "gvisor",
108      "address": ["172.18.0.1/30", "fdfe:dcba:9876::1/126"],
109      "mtu": 9000,
110      "auto_route": true,
111      "strict_route": true,
112      "route_address": ["198.18.0.0/15", "0.0.0.0/0", "fc00::/18", "::/0"]
113    }
114  ],
115  "outbounds": [],
116  "route": {
117    "default_domain_resolver": {
118      "server": "dns_ali",
119      "strategy": "prefer_ipv6"
120    },
121    "rule_set": [
122      {
123        "tag": "geoip-cn",
124        "type": "local",
125        "format": "binary",
126        "path": "geoip-cn.srs"
127      },
128      {
129        "tag": "geosite-gfw",
130        "type": "local",
131        "format": "binary",
132        "path": "geosite-gfw.srs"
133      },
134      {
135        "tag": "geosite-category-porn",
136        "type": "local",
137        "format": "binary",
138        "path": "geosite-category-porn.srs"
139      },
140      {
141        "tag": "geosite-google",
142        "type": "local",
143        "format": "binary",
144        "path": "geosite-google.srs"
145      },
146      {
147        "tag": "geosite-twitter",
148        "type": "local",
149        "format": "binary",
150        "path": "geosite-twitter.srs"
151      },
152      {
153        "tag": "geosite-reddit",
154        "type": "local",
155        "format": "binary",
156        "path": "geosite-reddit.srs"
157      },
158      {
159        "tag": "geosite-telegram",
160        "type": "local",
161        "format": "binary",
162        "path": "geosite-telegram.srs"
163      },
164      {
165        "tag": "geosite-geolocation-cn",
166        "type": "local",
167        "format": "binary",
168        "path": "geosite-geolocation-cn.srs"
169      },
170      {
171        "tag": "geosite-geolocation-!cn",
172        "type": "local",
173        "format": "binary",
174        "path": "geosite-geolocation-!cn.srs"
175      },
176      {
177        "tag": "geosite-apple",
178        "type": "local",
179        "format": "binary",
180        "path": "geosite-apple.srs"
181      },
182      {
183        "tag": "geosite-microsoft",
184        "type": "local",
185        "format": "binary",
186        "path": "geosite-microsoft.srs"
187      },
188      {
189        "tag": "geosite-pixiv",
190        "type": "local",
191        "format": "binary",
192        "path": "geosite-pixiv.srs"
193      },
194      {
195        "tag": "geosite-category-social-media-!cn",
196        "type": "local",
197        "format": "binary",
198        "path": "geosite-category-social-media-!cn.srs"
199      },
200      {
201        "tag": "geosite-category-ai-!cn",
202        "type": "local",
203        "format": "binary",
204        "path": "geosite-category-ai-!cn.srs"
205      },
206      {
207        "tag": "geosite-category-ads",
208        "type": "local",
209        "format": "binary",
210        "path": "geosite-category-ads.srs"
211      }
212    ],
213    "rules": [
214      { "inbound": "dns-in", "action": "hijack-dns" },
215      {
216        "action": "sniff",
217        "sniffer": ["dns", "bittorrent"],
218        "timeout": "500ms"
219      },
220      { "protocol": "dns", "action": "hijack-dns" },
221      { "protocol": "bittorrent", "outbound": "DIRECT" },
222      {
223        "domain_keyword": ["sing-box"],
224        "outbound": "🚀 节点选择"
225      },
226      {
227        "rule_set": [
228          "geosite-google",
229          "geosite-category-porn",
230          "geosite-twitter",
231          "geosite-reddit",
232          "geosite-pixiv",
233          "geosite-category-social-media-!cn",
234          "geosite-category-ai-!cn",
235          "geosite-gfw"
236        ],
237        "outbound": "🌍 国外媒体"
238      },
239      {
240        "rule_set": ["geosite-telegram"],
241        "outbound": "📲 电报信息"
242      },
243      {
244        "rule_set": ["geosite-category-ads"],
245        "outbound": "🍃 应用净化"
246      },
247      {
248        "rule_set": ["geoip-cn"],
249        "outbound": "🎯 全球直连"
250      }
251    ],
252    "auto_detect_interface": true,
253    "final": "🐟 漏网之鱼"
254  },
255  "experimental": {
256    "cache_file": {
257      "enabled": true,
258      "store_fakeip": true
259    },
260    "clash_api": {
261      "external_controller": "0.0.0.0:9999",
262      "external_ui": "ui",
263      "secret": "",
264      "default_mode": "Rule"
265    }
266  }
267}