@singbox-iac/cli 0.1.17 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README-en.md +117 -20
  2. package/README.md +54 -2
  3. package/dist/cli/commands/apply.js +3 -0
  4. package/dist/cli/commands/apply.js.map +1 -1
  5. package/dist/cli/commands/build.js +15 -1
  6. package/dist/cli/commands/build.js.map +1 -1
  7. package/dist/cli/commands/diagnose.js +21 -5
  8. package/dist/cli/commands/diagnose.js.map +1 -1
  9. package/dist/cli/commands/proxifier.js +13 -4
  10. package/dist/cli/commands/proxifier.js.map +1 -1
  11. package/dist/cli/commands/reload.js +14 -1
  12. package/dist/cli/commands/reload.js.map +1 -1
  13. package/dist/cli/commands/restart.js +52 -8
  14. package/dist/cli/commands/restart.js.map +1 -1
  15. package/dist/cli/commands/rollback.js +1 -0
  16. package/dist/cli/commands/rollback.js.map +1 -1
  17. package/dist/cli/commands/setup.js +2 -1
  18. package/dist/cli/commands/setup.js.map +1 -1
  19. package/dist/cli/commands/start.js +92 -11
  20. package/dist/cli/commands/start.js.map +1 -1
  21. package/dist/cli/commands/status.js +12 -6
  22. package/dist/cli/commands/status.js.map +1 -1
  23. package/dist/cli/commands/stop.js +24 -8
  24. package/dist/cli/commands/stop.js.map +1 -1
  25. package/dist/cli/commands/verify.js +20 -2
  26. package/dist/cli/commands/verify.js.map +1 -1
  27. package/dist/config/load-config.js +24 -1
  28. package/dist/config/load-config.js.map +1 -1
  29. package/dist/config/schema.d.ts +173 -29
  30. package/dist/config/schema.js +63 -1
  31. package/dist/config/schema.js.map +1 -1
  32. package/dist/domain/dns-plan.d.ts +11 -1
  33. package/dist/domain/intent.d.ts +2 -2
  34. package/dist/domain/verification-plan.d.ts +3 -3
  35. package/dist/modules/authoring/index.js +22 -2
  36. package/dist/modules/authoring/index.js.map +1 -1
  37. package/dist/modules/bundle-registry/index.d.ts +8 -2
  38. package/dist/modules/bundle-registry/index.js +54 -13
  39. package/dist/modules/bundle-registry/index.js.map +1 -1
  40. package/dist/modules/compiler/index.js +79 -12
  41. package/dist/modules/compiler/index.js.map +1 -1
  42. package/dist/modules/desktop-runtime/index.d.ts +50 -0
  43. package/dist/modules/desktop-runtime/index.js +236 -16
  44. package/dist/modules/desktop-runtime/index.js.map +1 -1
  45. package/dist/modules/diagnostics/index.js +93 -0
  46. package/dist/modules/diagnostics/index.js.map +1 -1
  47. package/dist/modules/dns-plan/index.js +73 -12
  48. package/dist/modules/dns-plan/index.js.map +1 -1
  49. package/dist/modules/doctor/index.js +41 -0
  50. package/dist/modules/doctor/index.js.map +1 -1
  51. package/dist/modules/intent/index.js +2 -2
  52. package/dist/modules/intent/index.js.map +1 -1
  53. package/dist/modules/layered-authoring/index.js +1 -1
  54. package/dist/modules/layered-authoring/index.js.map +1 -1
  55. package/dist/modules/manager/index.d.ts +3 -1
  56. package/dist/modules/manager/index.js +37 -2
  57. package/dist/modules/manager/index.js.map +1 -1
  58. package/dist/modules/natural-language/index.d.ts +3 -2
  59. package/dist/modules/natural-language/index.js +83 -35
  60. package/dist/modules/natural-language/index.js.map +1 -1
  61. package/dist/modules/proxifier/index.js +3 -4
  62. package/dist/modules/proxifier/index.js.map +1 -1
  63. package/dist/modules/runtime-mode/index.d.ts +1 -1
  64. package/dist/modules/runtime-mode/index.js +0 -5
  65. package/dist/modules/runtime-mode/index.js.map +1 -1
  66. package/dist/modules/runtime-watchdog/index.d.ts +10 -0
  67. package/dist/modules/runtime-watchdog/index.js +33 -0
  68. package/dist/modules/runtime-watchdog/index.js.map +1 -1
  69. package/dist/modules/status/index.d.ts +13 -0
  70. package/dist/modules/status/index.js +106 -9
  71. package/dist/modules/status/index.js.map +1 -1
  72. package/dist/modules/update/index.js +3 -1
  73. package/dist/modules/update/index.js.map +1 -1
  74. package/dist/modules/verification/index.d.ts +27 -5
  75. package/dist/modules/verification/index.js +542 -20
  76. package/dist/modules/verification/index.js.map +1 -1
  77. package/dist/modules/verification-plan/index.js +16 -6
  78. package/dist/modules/verification-plan/index.js.map +1 -1
  79. package/docs/natural-language-authoring.md +6 -0
  80. package/docs/runtime-modes.md +23 -7
  81. package/docs/runtime-on-macos.md +54 -9
  82. package/docs/sing-box-config-primer.md +10 -1
  83. package/package.json +1 -1
package/README-en.md CHANGED
@@ -34,7 +34,7 @@ Many macOS users rely on GUI clients like Clash Verge, upstream subscriptions, g
34
34
 
35
35
  `Singbox IaC` compresses that problem into:
36
36
 
37
- `subscription -> parse -> compile -> verify -> apply -> schedule`
37
+ `subscription -> intent -> DNS / verification planning -> compile -> verify -> apply -> runtime / schedule`
38
38
 
39
39
  ## Architecture
40
40
 
@@ -62,7 +62,7 @@ The system has three layers:
62
62
 
63
63
  ```mermaid
64
64
  flowchart TD
65
- A["User provides subscription URL + one sentence"] --> B["quickstart / setup --ready"]
65
+ A["User provides subscription URL + one sentence"] --> B["go"]
66
66
  B --> C["Detect local environment<br/>macOS / sing-box / Chrome / AI CLI"]
67
67
  C --> D["Generate rules from intent"]
68
68
  D --> E["Sync local rule sets"]
@@ -94,6 +94,22 @@ You can describe routing goals in plain language instead of editing raw `sing-bo
94
94
 
95
95
  The tool compiles those intents into internal rules and then into a `sing-box` config.
96
96
 
97
+ There is now a maintained bundle-discovery layer:
98
+
99
+ - site bundles
100
+ - for example `NotebookLM`, `Gemini`, `OpenRouter`, and `Google Stitch`
101
+ - process bundles
102
+ - for example `Antigravity`, `Cursor`, `VS Code`, and `Codex`
103
+
104
+ Site bundles use a dual-track model:
105
+
106
+ - prefer official `sing-geosite` rule-set tags that are already enabled in the current config
107
+ - fall back to curated domains when upstream has no suitable tag or the current config has not enabled it yet
108
+
109
+ Process bundles keep stable metadata for `Proxifier` and `in-proxifier` process matching.
110
+
111
+ In most cases that means you do not need to remember related domains, official geosite tags, or helper process names yourself.
112
+
97
113
  ### 2. Minimal DSL
98
114
 
99
115
  For advanced users, a small YAML DSL still exists for fine-grained exceptions instead of forcing them to edit a full `sing-box` JSON file.
@@ -173,6 +189,8 @@ singbox-iac update
173
189
  - `use`: change policy later with one sentence and re-apply it
174
190
  - `update`: refresh the subscription and apply the latest config
175
191
 
192
+ `use` defaults to patch semantics. It preserves unrelated previously authored intent unless you explicitly pass `--replace`.
193
+
176
194
  For desktop runtime and troubleshooting, the most useful commands are:
177
195
 
178
196
  ```bash
@@ -180,35 +198,89 @@ singbox-iac start
180
198
  singbox-iac stop
181
199
  singbox-iac restart
182
200
  singbox-iac status
201
+ singbox-iac diagnose
183
202
  ```
184
203
 
185
204
  - `start`: start the desktop runtime as a dedicated macOS LaunchAgent
186
205
  - `stop`: stop the desktop runtime and let `sing-box` release system proxy or TUN resources
187
206
  - `restart`: restart the desktop runtime
188
207
  - `status`: summarize live config, desktop runtime, system proxy/TUN state, schedule, and the latest transaction
208
+ - `diagnose`: extend `status` with default route, system DNS, and representative DNS evidence when you need to understand why the network is still wrong
189
209
 
190
210
  For troubleshooting, start with:
191
211
 
192
212
  ```bash
193
213
  singbox-iac status
214
+ singbox-iac diagnose
215
+ ```
216
+
217
+ `status` is the compact runtime snapshot. `diagnose` is the heavier triage command when you need to separate runtime drift from local DNS or default-route problems.
218
+
219
+ ### Tun beta day-to-day usage
220
+
221
+ If your `builder.config.yaml` already contains:
222
+
223
+ ```yaml
224
+ runtime:
225
+ desktop:
226
+ profile: tun
194
227
  ```
195
228
 
196
- It summarizes the current `sing-box` binary, live config, process state, listener activity,
197
- schedule state, and the latest publish transaction.
229
+ then the recommended daily workflow is:
230
+
231
+ ```bash
232
+ singbox-iac use '<new routing sentence>'
233
+ singbox-iac update
234
+ sudo singbox-iac start
235
+ sudo singbox-iac status
236
+ sudo singbox-iac verify app -i ~/.config/sing-box/config.json
237
+ ```
238
+
239
+ Important behavior:
240
+
241
+ - `tun` is managed as a root `LaunchDaemon`, not a user `LaunchAgent`
242
+ - normal config rollouts should use `update` or `sudo singbox-iac reload`
243
+ - `sudo singbox-iac restart` is a destructive recovery action because it replaces the live `sing-box` process
244
+ - `verify app` on `tun` includes a root-owned native-process e2e probe
245
+ - if an older builder config still carries `in-mixed` or `in-proxifier` verification scenarios, the `tun` path treats them as compatibility data instead of treating them as `tun` runtime failures
246
+
247
+ Natural-language authoring on `tun` can express both kinds of routing directly:
248
+
249
+ - site or site-bundle routing
250
+ Example: `GitHub goes through Hong Kong, Google Stitch goes through the US, Gemini goes through Singapore`
251
+ - process-aware routing
252
+ Example: `Antigravity process traffic goes through the US, Cursor and claude go through the US`
253
+
254
+ In the `tun` profile both still compile onto the same `in-tun` path:
255
+
256
+ - ordinary site and ruleset traffic is captured by `in-tun`
257
+ - matching process rules are also applied on `in-tun`, but at a higher priority than site/ruleset routing
198
258
 
199
259
  Everything else can be treated as advanced commands for debugging or fine-grained control.
200
260
 
261
+ For example:
262
+
263
+ ```bash
264
+ singbox-iac rulesets list --filter openai
265
+ ```
266
+
267
+ That hidden command shows:
268
+
269
+ - which `ruleSet` tags are enabled in the current builder config
270
+ - which upstream `sing-geosite` and `sing-geoip` tags are available
271
+ - which built-in site bundles prefer official tags and which still fall back to curated domains
272
+
201
273
  `RuntimeMode` is an internal concept; users do not need to choose one manually. Onboarding and `update` infer `browser-proxy`, `process-proxy`, or `headless-daemon` and use that to guide visible verification and runtime defaults. See [docs/runtime-modes.md](./docs/runtime-modes.md).
202
274
 
203
- ### One-step onboarding
275
+ ### Default first-run path
204
276
 
205
277
  ```bash
206
- singbox-iac quickstart \
207
- --subscription-url 'your subscription URL' \
208
- --prompt 'GitHub and developer sites go through Hong Kong, Antigravity process traffic goes through the US, Gemini goes through Singapore, update every 30 minutes'
278
+ singbox-iac go \
279
+ 'your subscription URL' \
280
+ 'GitHub and developer sites go through Hong Kong, Antigravity process traffic goes through the US, Gemini goes through Singapore, update every 30 minutes'
209
281
  ```
210
282
 
211
- `quickstart` will:
283
+ `go` will:
212
284
 
213
285
  - create `~/.config/singbox-iac/builder.config.yaml`
214
286
  - create `~/.config/singbox-iac/rules/custom.rules.yaml`
@@ -232,7 +304,7 @@ singbox-iac setup \
232
304
 
233
305
  The difference is simple:
234
306
 
235
- - `quickstart` is the shortest opinionated first-run path
307
+ - `go` is the shortest recommended first-run path
236
308
  - `setup --ready` is better if you still want to control run/browser/Proxifier flags yourself
237
309
 
238
310
  ### Manual foreground run
@@ -252,7 +324,13 @@ The default desktop runtime profiles are:
252
324
  - `system-proxy`: keep the `mixed` inbound and let `sing-box` set / clean macOS system proxy automatically
253
325
  - `tun`: emit a `tun` inbound with `auto_route`, closer to the global-capture behavior of GUI clients
254
326
 
255
- If onboarding intent explicitly mentions `TUN`, `global proxy`, or similar wording, the desktop profile is inferred as `tun`. Otherwise the default profile is `system-proxy`.
327
+ Natural-language prompts do not silently switch the desktop profile to `tun`. Unless the current builder config already persists `runtime.desktop.profile: tun`, the everyday default remains `system-proxy`.
328
+
329
+ In practical terms:
330
+
331
+ - if you do not explicitly change the profile, `use 'GitHub goes through Hong Kong, Gemini goes through Singapore'` still stays on the default `system-proxy` path
332
+ - if the current builder config already uses `tun`, the same sentence keeps using `tun`
333
+ - the sentence describes where traffic should go; the profile decides whether those rules are enforced through system proxy or through `tun`
256
334
 
257
335
  Default local listeners:
258
336
 
@@ -294,17 +372,28 @@ singbox-iac use 'GitHub and developer sites go through Hong Kong, Gemini goes th
294
372
 
295
373
  For common cases, you do not need to learn raw `sing-box` JSON or even the DSL.
296
374
 
375
+ `use` defaults to patch instead of replace:
376
+
377
+ - `singbox-iac use 'NotebookLM goes through the US'`
378
+ - augments or overrides the relevant part of the current authored intent
379
+ - `singbox-iac use 'All developer traffic goes through Singapore' --replace`
380
+ - explicitly rebuilds the authored policy set from scratch
381
+
382
+ The tool keeps two related files:
383
+
384
+ - `rules.userRulesFile`
385
+ - the merged YAML DSL that the compiler actually consumes
386
+ - sibling `*.authoring.yaml`
387
+ - the layered authoring state used to preserve a base intent plus later patches
388
+
297
389
  Examples:
298
390
 
299
391
  ```bash
300
- singbox-iac author \
301
- --prompt 'GitHub and dev sites should use Hong Kong, Antigravity process traffic should use a dedicated US path, Gemini should use Singapore'
392
+ singbox-iac use 'Google services and GitHub use Hong Kong, Amazon Prime and Apple TV use Singapore, China traffic stays direct, update every 45 minutes'
302
393
  ```
303
394
 
304
395
  ```bash
305
- singbox-iac author \
306
- --prompt 'Google services and GitHub use Hong Kong, Amazon Prime and Apple TV use Singapore, China traffic stays direct, update every 45 minutes' \
307
- --update
396
+ singbox-iac use 'NotebookLM goes through the US, Cursor uses a dedicated ingress and exits through the US'
308
397
  ```
309
398
 
310
399
  The authoring layer supports:
@@ -322,6 +411,14 @@ Recommended before applying a production routing change:
322
411
  singbox-iac use 'GitHub and developer sites go through Hong Kong, Gemini goes through Singapore' --strict --diff
323
412
  ```
324
413
 
414
+ If you explicitly want to discard the earlier natural-language policy set, use:
415
+
416
+ ```bash
417
+ singbox-iac use 'Google services and GitHub use Singapore' --replace
418
+ ```
419
+
420
+ If you need preview-only operation, direct `Intent IR`, or staged author/build/update control, use the power-user `author` command. See [docs/natural-language-authoring.md](./docs/natural-language-authoring.md).
421
+
325
422
  ## Proxifier Onboarding
326
423
 
327
424
  If your AI IDE, language server, or desktop app does not respect the normal system proxy path, use the generated Proxifier helper directory:
@@ -388,24 +485,24 @@ This project is designed to keep sensitive inputs local by default:
388
485
 
389
486
  The project does not automatically upload subscription URLs to any remote service. Unless you explicitly configure an external AI CLI or external command, the default authoring path does not depend on an external API.
390
487
 
391
- ## Common Commands
488
+ ## Power-User / Engineering Commands
489
+
490
+ Unless you are splitting the pipeline, doing deeper diagnostics, or handling a special integration, you usually do not need these directly:
392
491
 
393
492
  ```bash
394
493
  singbox-iac init
395
494
  singbox-iac setup
396
- singbox-iac quickstart
397
495
  singbox-iac author
398
496
  singbox-iac build
399
497
  singbox-iac check
400
498
  singbox-iac apply
401
499
  singbox-iac run
402
500
  singbox-iac verify
403
- singbox-iac update
404
- singbox-iac doctor
405
501
  singbox-iac proxifier bundles
406
502
  singbox-iac proxifier bundles show antigravity
407
503
  singbox-iac proxifier bundles render antigravity
408
504
  singbox-iac proxifier scaffold
505
+ singbox-iac rulesets list --filter openai
409
506
  singbox-iac schedule install
410
507
  singbox-iac schedule remove
411
508
  singbox-iac templates list
package/README.md CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  `Singbox IaC` 的目标就是把这些需求收敛成:
36
36
 
37
- `subscription -> parse -> compile -> verify -> apply -> schedule`
37
+ `subscription -> intent -> DNS / verification planning -> compile -> verify -> apply -> runtime / schedule`
38
38
 
39
39
  ## 架构图
40
40
 
@@ -216,6 +216,46 @@ singbox-iac diagnose
216
216
 
217
217
  `status` 适合看当前运行快照;`diagnose` 适合继续判断问题更像是运行时漂移、系统 DNS/默认路由异常,还是最近一次发布没有生效。
218
218
 
219
+ ### Tun Beta 建议用法
220
+
221
+ 如果你的 `builder.config.yaml` 已经显式设置了:
222
+
223
+ ```yaml
224
+ runtime:
225
+ desktop:
226
+ profile: tun
227
+ ```
228
+
229
+ 建议把日常操作固定成这一组:
230
+
231
+ ```bash
232
+ singbox-iac use '<新的需求描述>'
233
+ singbox-iac update
234
+ sudo singbox-iac start
235
+ sudo singbox-iac status
236
+ sudo singbox-iac verify app -i ~/.config/sing-box/config.json
237
+ ```
238
+
239
+ 注意:
240
+
241
+ - `tun` 运行时使用 root `LaunchDaemon`,不是用户 `LaunchAgent`
242
+ - 日常配置变更优先用 `update` 或 `sudo singbox-iac reload`
243
+ - `sudo singbox-iac restart` 只适合恢复性操作,因为它会替换当前 `sing-box` 进程
244
+ - `verify app` 在 `tun` 下会执行 root-owned native-process e2e
245
+ - 如果旧 builder config 里还保留了 `in-mixed` 或 `in-proxifier` verification scenarios,`tun` 路径会做兼容归一化;这些遗留场景不会再被当成 `tun` app verification 的失败条件
246
+
247
+ 自然语言在 `tun` 下可以直接表达两类意图:
248
+
249
+ - site / site bundle 路由
250
+ 例如:`GitHub 走香港,Google Stitch 走美国,Gemini 走新加坡`
251
+ - process-aware 路由
252
+ 例如:`Antigravity 进程级走美国,Cursor 和 claude 走美国`
253
+
254
+ 这些意图在 `tun` 下都会编译到同一条 `in-tun` 主路径里:
255
+
256
+ - 普通站点 / ruleset 流量走 `in-tun`
257
+ - 命中的进程规则也走 `in-tun`,但优先级高于 site/ruleset 规则
258
+
219
259
  其余命令都属于 power-user / 工程命令,主要用于拆流程、排障或更细粒度控制。
220
260
 
221
261
  例如:
@@ -262,6 +302,11 @@ singbox-iac setup \
262
302
  --ready
263
303
  ```
264
304
 
305
+ 两者区别很简单:
306
+
307
+ - `go`:最短、默认推荐的首次上手路径
308
+ - `setup --ready`:保留更多开关和显式阶段控制的 power-user 路径
309
+
265
310
  ### 前台运行测试
266
311
 
267
312
  ```bash
@@ -279,7 +324,13 @@ singbox-iac start
279
324
  - `system-proxy`:保留 `mixed` 入站,并让 `sing-box` 自动设置 / 清理 macOS 系统代理
280
325
  - `tun`:生成 `tun` 入站并启用 `auto_route`,更接近 GUI 客户端的全局接管方式
281
326
 
282
- 如果自然语言里明确提到 `TUN`、`全局代理`、`全局模式` 等需求,onboarding 会把桌面 profile 推断成 `tun`。否则默认使用 `system-proxy`。
327
+ 自然语言不会悄悄把当前桌面 profile 切成 `tun`。除非你的 builder config 已经持久化了 `runtime.desktop.profile: tun`,否则默认仍然是 `system-proxy`。
328
+
329
+ 换句话说:
330
+
331
+ - 不显式改 profile 时,`use 'GitHub 走香港,Gemini 走新加坡'` 仍然走默认 `system-proxy`
332
+ - 如果 builder config 已经是 `tun`,同样一句 `use` 会继续走 `tun`
333
+ - 也就是说,句子负责表达“什么流量去哪里”;profile 负责表达“系统代理还是 tun 来承接这些规则”
283
334
 
284
335
  默认监听端口:
285
336
 
@@ -451,6 +502,7 @@ singbox-iac proxifier bundles
451
502
  singbox-iac proxifier bundles show antigravity
452
503
  singbox-iac proxifier bundles render antigravity
453
504
  singbox-iac proxifier scaffold
505
+ singbox-iac rulesets list --filter openai
454
506
  singbox-iac schedule install
455
507
  singbox-iac schedule remove
456
508
  singbox-iac templates list
@@ -38,6 +38,9 @@ export function registerApplyCommand(program) {
38
38
  : {}),
39
39
  ...(options.reload !== undefined ? { reload: options.reload } : {}),
40
40
  ...(builderConfig?.runtime.reload ? { runtime: builderConfig.runtime.reload } : {}),
41
+ ...(builderConfig?.runtime.desktop
42
+ ? { desktopRuntime: builderConfig.runtime.desktop }
43
+ : {}),
41
44
  });
42
45
  },
43
46
  })
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/cli/commands/apply.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;SAC3D,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SACzD,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;SAC7D,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;SAC1D,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;QAC7C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC;QACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC;QACpE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC;QAE1E,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,aAAa;YAC/B,CAAC,CAAC,MAAM,oBAAoB,CAAC;gBACzB,MAAM,EAAE,aAAa;gBACrB,aAAa,EAAE,WAAW;gBAC1B,QAAQ;gBACR,UAAU,EAAE,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC,UAAU;gBACzD,mBAAmB,EAAE,EAAE;gBACvB,KAAK,EAAE,KAAK,IAAI,EAAE;oBAChB,MAAM,WAAW,CAAC;wBAChB,WAAW;wBACX,QAAQ;wBACR,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrC,GAAG,CAAC,OAAO,CAAC,UAAU;4BACpB,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE;4BACvC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa;gCAChD,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE;gCACrE,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnE,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpF,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4BAA4B,WAAW,WAAW,QAAQ,KACxD,UAAU,CAAC,CAAC,CAAC,WAAW,UAAU,IAAI,CAAC,CAAC,CAAC,EAC3C,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7D,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/cli/commands/apply.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;SAC3D,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SACzD,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;SAC7D,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;SAC1D,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;QAC7C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC;QACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC;QACpE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC;QAE1E,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,aAAa;YAC/B,CAAC,CAAC,MAAM,oBAAoB,CAAC;gBACzB,MAAM,EAAE,aAAa;gBACrB,aAAa,EAAE,WAAW;gBAC1B,QAAQ;gBACR,UAAU,EAAE,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC,UAAU;gBACzD,mBAAmB,EAAE,EAAE;gBACvB,KAAK,EAAE,KAAK,IAAI,EAAE;oBAChB,MAAM,WAAW,CAAC;wBAChB,WAAW;wBACX,QAAQ;wBACR,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrC,GAAG,CAAC,OAAO,CAAC,UAAU;4BACpB,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE;4BACvC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa;gCAChD,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE;gCACrE,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnE,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnF,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO;4BAChC,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE;4BACnD,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4BAA4B,WAAW,WAAW,QAAQ,KACxD,UAAU,CAAC,CAAC,CAAC,WAAW,UAAU,IAAI,CAAC,CAAC,CAAC,EAC3C,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7D,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -2,7 +2,7 @@ import { homedir } from "node:os";
2
2
  import path from "node:path";
3
3
  import { buildConfigArtifact } from "../../modules/build/index.js";
4
4
  import { listBuiltInPreferredSiteRuleSetTags } from "../../modules/bundle-registry/index.js";
5
- import { defaultRuntimeLaunchAgentLabel, defaultRuntimeWatchdogLaunchAgentLabel, } from "../../modules/desktop-runtime/index.js";
5
+ import { defaultRuntimeLaunchAgentLabel, defaultRuntimeLaunchDaemonLabel, defaultRuntimeWatchdogLaunchAgentLabel, } from "../../modules/desktop-runtime/index.js";
6
6
  import { resolveBuilderConfig } from "../command-helpers.js";
7
7
  export function registerBuildCommand(program) {
8
8
  program
@@ -62,7 +62,21 @@ async function resolveBuildConfig(options) {
62
62
  tun: {
63
63
  autoRoute: true,
64
64
  strictRoute: false,
65
+ dnsMode: "fake-ip",
66
+ launchDaemonLabel: defaultRuntimeLaunchDaemonLabel,
65
67
  addresses: ["172.19.0.1/30", "fdfe:dcba:9876::1/126"],
68
+ processRouting: {
69
+ enabled: true,
70
+ },
71
+ fakeIp: {
72
+ inet4Range: "198.18.0.0/15",
73
+ inet6Range: "fc00::/18",
74
+ },
75
+ cache: {
76
+ enabled: true,
77
+ path: path.join(homedir(), ".config", "singbox-iac", "runtime", "tun-cache.db"),
78
+ storeFakeIp: true,
79
+ },
66
80
  },
67
81
  watchdog: {
68
82
  enabled: true,
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
@@ -75,10 +75,16 @@ function assessDiagnostics(report) {
75
75
  }
76
76
  if (runtimeHasWarnings && !networkHasWarnings) {
77
77
  return {
78
- label: "Likely runtime drift or publish issue.",
78
+ label: report.status.runtime.desktopProfile === "tun"
79
+ ? "Likely tun runtime drift or insufficient LaunchDaemon visibility."
80
+ : "Likely runtime drift or publish issue.",
79
81
  nextSteps: [
80
- report.status.runtime.systemProxy?.nextAction ??
81
- "Reconcile runtime state first: run `singbox-iac status` or `singbox-iac restart`, then re-run diagnose.",
82
+ report.status.runtime.desktopProfile === "tun"
83
+ ? report.status.runtime.serviceVisibilityLimited
84
+ ? "Re-run `sudo singbox-iac status` or `sudo singbox-iac diagnose` to inspect the managed LaunchDaemon and tun state."
85
+ : "If this was only a config change, run `sudo singbox-iac reload`. Use `sudo singbox-iac restart` only when the LaunchDaemon or utun is unhealthy."
86
+ : report.status.runtime.systemProxy?.nextAction ??
87
+ "Reconcile runtime state first: run `singbox-iac status` or `singbox-iac restart`, then re-run diagnose.",
82
88
  ],
83
89
  };
84
90
  }
@@ -91,8 +97,12 @@ function assessDiagnostics(report) {
91
97
  return {
92
98
  label: "Mixed evidence across runtime and local network.",
93
99
  nextSteps: [
94
- report.status.runtime.systemProxy?.nextAction ??
95
- "Fix runtime drift first, then re-run diagnose to see whether local DNS or route warnings remain.",
100
+ report.status.runtime.desktopProfile === "tun"
101
+ ? report.status.runtime.serviceVisibilityLimited
102
+ ? "Re-run `sudo singbox-iac diagnose` first so tun LaunchDaemon evidence is complete, then inspect the remaining network warnings."
103
+ : "Fix the tun runtime first. Prefer `sudo singbox-iac reload` for config changes, and reserve `sudo singbox-iac restart` for runtime recovery."
104
+ : report.status.runtime.systemProxy?.nextAction ??
105
+ "Fix runtime drift first, then re-run diagnose to see whether local DNS or route warnings remain.",
96
106
  "If network warnings remain after the runtime is healthy, inspect local DNS, route, VPN, or captive-portal state.",
97
107
  ],
98
108
  };
@@ -104,6 +114,12 @@ function isRuntimeCheck(name) {
104
114
  return (name === "runtime-process" ||
105
115
  name.startsWith("listener:") ||
106
116
  name === "system-proxy" ||
117
+ name === "tun-root-access" ||
118
+ name === "tun-interface" ||
119
+ name === "tun-service-pid" ||
120
+ name === "tun-hot-reload" ||
121
+ name === "tun-native-process-rules" ||
122
+ name === "fakeip-cache" ||
107
123
  name === "live-config" ||
108
124
  name === "schedule" ||
109
125
  name === "latest-transaction");
@@ -1 +1 @@
1
- {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../../src/cli/commands/diagnose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../../src/cli/commands/diagnose.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export function registerProxifierCommand(program) {
15
15
  .option("--out <path>", "write the rendered bundle spec to a file")
16
16
  .action(async (operation, id, options) => {
17
17
  if (!operation) {
18
- const lines = listProxifierBundles().map((bundle) => `${bundle.id}: ${bundle.name}\n- ${bundle.description}\n- inbound: ${bundle.targetInbound}, outbound: ${bundle.targetOutboundGroup}`);
18
+ const lines = listProxifierBundles().map((bundle) => `${bundle.id}: ${bundle.name}\n- ${bundle.description}\n- outbound: ${bundle.targetOutboundGroup}`);
19
19
  process.stdout.write(`${lines.join("\n")}\n`);
20
20
  return;
21
21
  }
@@ -34,10 +34,9 @@ export function registerProxifierCommand(program) {
34
34
  `ID: ${bundle.id}`,
35
35
  `Name: ${bundle.name}`,
36
36
  `Description: ${bundle.description}`,
37
- `Inbound: ${bundle.targetInbound}`,
38
37
  `Outbound: ${bundle.targetOutboundGroup}`,
39
- "Matchers:",
40
- ...bundle.processMatchers.map((matcher) => {
38
+ "Proxifier Matchers:",
39
+ ...bundle.proxifierMatchers.map((matcher) => {
41
40
  if (matcher.processName) {
42
41
  return `- processName: ${matcher.processName}`;
43
42
  }
@@ -46,6 +45,16 @@ export function registerProxifierCommand(program) {
46
45
  }
47
46
  return `- pathRegex: ${matcher.pathRegex ?? ""}`;
48
47
  }),
48
+ "Native Matchers:",
49
+ ...bundle.nativeMatchers.map((matcher) => {
50
+ if (matcher.processName) {
51
+ return `- processName: ${matcher.processName}`;
52
+ }
53
+ if (matcher.processPath) {
54
+ return `- processPath: ${matcher.processPath}`;
55
+ }
56
+ return `- processPathRegex: ${matcher.processPathRegex ?? ""}`;
57
+ }),
49
58
  ];
50
59
  if (bundle.notes && bundle.notes.length > 0) {
51
60
  lines.push("Notes:");
@@ -1 +1 @@
1
- {"version":3,"file":"proxifier.js","sourceRoot":"","sources":["../../../src/cli/commands/proxifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxifier.js","sourceRoot":"","sources":["../../../src/cli/commands/proxifier.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
+ import path from "node:path";
2
+ import { assertDesktopRuntimePrivileges, resolveDesktopRuntimeServiceKind, } from "../../modules/desktop-runtime/index.js";
1
3
  import { reloadRuntime } from "../../modules/manager/index.js";
2
4
  import { resolveBuilderConfig } from "../command-helpers.js";
3
5
  export function registerReloadCommand(program) {
4
6
  program
5
7
  .command("reload")
6
- .description("Reload the running sing-box process.")
8
+ .description("Hot-reload the running sing-box process. This is the preferred config-change path for tun.")
7
9
  .option("-c, --config <path>", "path to builder config YAML")
8
10
  .option("--sing-box-bin <path>", "path to sing-box binary")
9
11
  .action(async (options) => {
@@ -11,6 +13,13 @@ export function registerReloadCommand(program) {
11
13
  if (!builderConfig) {
12
14
  throw new Error("A builder config is required for reload.");
13
15
  }
16
+ if (builderConfig.runtime.desktop.profile === "tun") {
17
+ assertDesktopRuntimePrivileges({
18
+ serviceKind: resolveDesktopRuntimeServiceKind(builderConfig.runtime.desktop.profile),
19
+ action: "reload",
20
+ ...(options.config ? { configPath: resolvePath(options.config) } : {}),
21
+ });
22
+ }
14
23
  await reloadRuntime({
15
24
  ...(options.singBoxBin
16
25
  ? { singBoxBinary: options.singBoxBin }
@@ -18,8 +27,12 @@ export function registerReloadCommand(program) {
18
27
  ? { singBoxBinary: builderConfig.runtime.dependencies.singBoxBinary }
19
28
  : {}),
20
29
  runtime: builderConfig.runtime.reload,
30
+ desktopRuntime: builderConfig.runtime.desktop,
21
31
  });
22
32
  process.stdout.write("Reloaded sing-box runtime.\n");
23
33
  });
24
34
  }
35
+ function resolvePath(filePath) {
36
+ return filePath.startsWith("/") ? filePath : path.resolve(process.cwd(), filePath);
37
+ }
25
38
  //# sourceMappingURL=reload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reload.js","sourceRoot":"","sources":["../../../src/cli/commands/reload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,OAA6B,EAAE,EAAE;QAC9C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,aAAa,CAAC;YAClB,GAAG,CAAC,OAAO,CAAC,UAAU;gBACpB,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE;gBACvC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa;oBAChD,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE;oBACrE,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM;SACtC,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"reload.js","sourceRoot":"","sources":["../../../src/cli/commands/reload.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4FAA4F,CAAC;SACzG,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,OAA6B,EAAE,EAAE;QAC9C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACpD,8BAA8B,CAAC;gBAC7B,WAAW,EAAE,gCAAgC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBACpF,MAAM,EAAE,QAAQ;gBAChB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,aAAa,CAAC;YAClB,GAAG,CAAC,OAAO,CAAC,UAAU;gBACpB,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE;gBACvC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa;oBAChD,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE;oBACrE,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM;YACrC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO;SAC9C,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACP,CAAC;AAOD,SAAS,WAAW,CAAC,QAAgB;IACnC,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;AACrF,CAAC"}