@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
@@ -1,23 +1,39 @@
1
1
  import path from "node:path";
2
- import { defaultRuntimeLaunchAgentLabel, removeDesktopRuntimeAgent, } from "../../modules/desktop-runtime/index.js";
2
+ import { assertDesktopRuntimePrivileges, defaultRuntimeLaunchAgentLabel, defaultRuntimeLaunchDaemonLabel, removeDesktopRuntimeAgent, resolveDesktopRuntimeServiceKind, } from "../../modules/desktop-runtime/index.js";
3
3
  import { defaultRuntimeWatchdogLaunchAgentLabel, removeRuntimeWatchdogAgent, } from "../../modules/runtime-watchdog/index.js";
4
4
  import { resolveBuilderConfig } from "../command-helpers.js";
5
5
  export function registerStopCommand(program) {
6
6
  program
7
7
  .command("stop")
8
- .description("Stop the dedicated desktop sing-box runtime LaunchAgent.")
8
+ .description("Stop the dedicated desktop sing-box runtime launchd service.")
9
9
  .option("-c, --config <path>", "path to builder config YAML")
10
- .option("--label <label>", "runtime LaunchAgent label")
11
- .option("--launch-agents-dir <path>", "override LaunchAgents directory")
12
- .option("--no-unload", "remove the LaunchAgent file without calling launchctl bootout")
10
+ .option("--label <label>", "runtime launchd label")
11
+ .option("--launch-agents-dir <path>", "override launchd plist directory")
12
+ .option("--no-unload", "remove the runtime plist without calling launchctl bootout")
13
13
  .action(async (options) => {
14
14
  const builderConfig = await resolveBuilderConfig(options);
15
+ const profile = builderConfig?.runtime.desktop.profile ?? "system-proxy";
16
+ const serviceKind = resolveDesktopRuntimeServiceKind(profile);
17
+ if (profile === "tun") {
18
+ assertDesktopRuntimePrivileges({
19
+ serviceKind,
20
+ action: "remove",
21
+ ...(options.config ? { configPath: resolvePath(options.config) } : {}),
22
+ ...(options.launchAgentsDir
23
+ ? { launchAgentsDir: resolvePath(options.launchAgentsDir) }
24
+ : {}),
25
+ unload: options.unload !== false,
26
+ });
27
+ }
15
28
  const watchdogLabel = builderConfig?.runtime.desktop.watchdog.launchAgentLabel ??
16
29
  defaultRuntimeWatchdogLaunchAgentLabel;
17
30
  const plistPath = await removeDesktopRuntimeAgent({
31
+ serviceKind,
18
32
  label: options.label ??
19
- builderConfig?.runtime.desktop.launchAgentLabel ??
20
- defaultRuntimeLaunchAgentLabel,
33
+ (profile === "tun"
34
+ ? (builderConfig?.runtime.desktop.tun.launchDaemonLabel ??
35
+ defaultRuntimeLaunchDaemonLabel)
36
+ : (builderConfig?.runtime.desktop.launchAgentLabel ?? defaultRuntimeLaunchAgentLabel)),
21
37
  ...(options.launchAgentsDir
22
38
  ? { launchAgentsDir: resolvePath(options.launchAgentsDir) }
23
39
  : {}),
@@ -34,7 +50,7 @@ export function registerStopCommand(program) {
34
50
  })
35
51
  : undefined;
36
52
  process.stdout.write(`${[
37
- `Stopped desktop runtime LaunchAgent: ${plistPath}`,
53
+ `Stopped desktop runtime ${serviceKind === "launch-daemon" ? "LaunchDaemon" : "LaunchAgent"}: ${plistPath}`,
38
54
  ...(watchdogPlistPath
39
55
  ? [`Stopped runtime watchdog LaunchAgent: ${watchdogPlistPath}`]
40
56
  : []),
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,sCAAsC,EACtC,0BAA0B,GAC3B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;SACtD,MAAM,CAAC,4BAA4B,EAAE,iCAAiC,CAAC;SACvE,MAAM,CAAC,aAAa,EAAE,+DAA+D,CAAC;SACtF,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,aAAa,GACjB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;YACxD,sCAAsC,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC;YAChD,KAAK,EACH,OAAO,CAAC,KAAK;gBACb,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;gBAC/C,8BAA8B;YAChC,GAAG,CAAC,OAAO,CAAC,eAAe;gBACzB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBAC3D,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;SACjC,CAAC,CAAC;QACH,MAAM,iBAAiB,GACrB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,KAAK,cAAc;YACzD,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;YAC5C,CAAC,CAAC,MAAM,0BAA0B,CAAC;gBAC/B,KAAK,EAAE,aAAa;gBACpB,GAAG,CAAC,OAAO,CAAC,eAAe;oBACzB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;oBAC3D,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;aACjC,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG;YACD,wCAAwC,SAAS,EAAE;YACnD,GAAG,CAAC,iBAAiB;gBACnB,CAAC,CAAC,CAAC,yCAAyC,iBAAiB,EAAE,CAAC;gBAChE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AASD,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"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { readFile } from "node:fs/promises";
3
3
  import { buildConfigArtifact, resolveEffectiveIntent } from "../../modules/build/index.js";
4
4
  import { buildDnsPlan } from "../../modules/dns-plan/index.js";
5
5
  import { buildVerificationPlan } from "../../modules/verification-plan/index.js";
6
- import { assertVerificationReportPassed, verifyAppPlan, verifyConfigRoutes, verifyDnsPlan, verifyEgressPlan, verifyProtocolPlan, } from "../../modules/verification/index.js";
6
+ import { assertNativeProcessE2EPassed, assertVerificationReportPassed, verifyAppPlan, verifyConfigRoutes, verifyDnsPlan, verifyEgressPlan, verifyNativeProcessE2E, verifyProtocolPlan, } from "../../modules/verification/index.js";
7
7
  import { resolveBuilderConfig } from "../command-helpers.js";
8
8
  export function registerVerifyCommand(program) {
9
9
  program
@@ -77,7 +77,22 @@ export function registerVerifyCommand(program) {
77
77
  if (mode === "all" || mode === "app") {
78
78
  lines.push("");
79
79
  lines.push("App checks:");
80
- lines.push(...verifyAppPlan(verificationPlan, rawConfig).map((check) => `- ${check.passed ? "PASS" : "FAIL"} ${check.app}: ${check.expectedInbound} -> ${check.expectedOutboundGroup}`));
80
+ lines.push(...verifyAppPlan(verificationPlan, rawConfig).map((check) => `- ${check.passed ? "PASS" : "FAIL"} ${check.app}: ${check.expectedCaptureBackend} -> ${check.expectedOutboundGroup}`));
81
+ const nativeProcessE2E = await verifyNativeProcessE2E({
82
+ configPath,
83
+ plan: verificationPlan,
84
+ ...(options.singBoxBin
85
+ ? { singBoxBinary: options.singBoxBin }
86
+ : builderConfig.runtime.dependencies.singBoxBinary
87
+ ? { singBoxBinary: builderConfig.runtime.dependencies.singBoxBinary }
88
+ : {}),
89
+ });
90
+ if (nativeProcessE2E.length > 0) {
91
+ lines.push("");
92
+ lines.push("Native process e2e:");
93
+ lines.push(...formatNativeProcessE2EChecks(nativeProcessE2E));
94
+ assertNativeProcessE2EPassed(nativeProcessE2E);
95
+ }
81
96
  }
82
97
  if (mode === "all" || mode === "protocol") {
83
98
  lines.push("");
@@ -110,4 +125,7 @@ function formatProtocolChecks(checks) {
110
125
  function formatEgressChecks(checks) {
111
126
  return checks.map((check) => `- ${check.passed ? "PASS" : "FAIL"} ${check.expectedOutboundGroup}: ${check.ip ?? "unknown-ip"} ${check.country ?? ""} ${check.asn ?? ""}`.trim());
112
127
  }
128
+ function formatNativeProcessE2EChecks(checks) {
129
+ return checks.map((check) => `- ${check.status} ${check.app}${check.processName ? ` [${check.processName}]` : ""}: ${check.expectedOutboundGroup}`);
130
+ }
113
131
  //# sourceMappingURL=verify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,15 @@ import { builderConfigSchema } from "./schema.js";
6
6
  export async function loadConfig(filePath) {
7
7
  const raw = await readFile(filePath, "utf8");
8
8
  const parsed = YAML.parse(raw);
9
- return builderConfigSchema.parse(expandBuilderPaths(parsed));
9
+ const expanded = expandBuilderPaths(parsed);
10
+ const result = builderConfigSchema.safeParse(expanded);
11
+ if (result.success) {
12
+ return result.data;
13
+ }
14
+ if (looksLikeSingBoxRuntimeConfig(expanded)) {
15
+ throw new Error(`Expected a singbox-iac builder config, but received a sing-box runtime config: ${filePath}\nUse the builder config instead, for example: ${defaultBuilderConfigPath()}`);
16
+ }
17
+ throw result.error;
10
18
  }
11
19
  function expandBuilderPaths(input) {
12
20
  if (typeof input === "string") {
@@ -26,4 +34,19 @@ function expandHome(value) {
26
34
  }
27
35
  return path.join(homedir(), value.slice(2));
28
36
  }
37
+ function looksLikeSingBoxRuntimeConfig(input) {
38
+ if (!input || typeof input !== "object" || Array.isArray(input)) {
39
+ return false;
40
+ }
41
+ const candidate = input;
42
+ return ("dns" in candidate &&
43
+ "inbounds" in candidate &&
44
+ "outbounds" in candidate &&
45
+ "route" in candidate &&
46
+ !("subscription" in candidate) &&
47
+ !("runtime" in candidate));
48
+ }
49
+ function defaultBuilderConfigPath() {
50
+ return path.join(homedir(), ".config", "singbox-iac", "builder.config.yaml");
51
+ }
29
52
  //# sourceMappingURL=load-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-config.js","sourceRoot":"","sources":["../../src/config/load-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAsB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,mBAAmB,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC9E,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"load-config.js","sourceRoot":"","sources":["../../src/config/load-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAsB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,kFAAkF,QAAQ,kDAAkD,wBAAwB,EAAE,EAAE,CACzK,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,CAAC,KAAK,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC9E,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAc;IACnD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,OAAO,CACL,KAAK,IAAI,SAAS;QAClB,UAAU,IAAI,SAAS;QACvB,WAAW,IAAI,SAAS;QACxB,OAAO,IAAI,SAAS;QACpB,CAAC,CAAC,cAAc,IAAI,SAAS,CAAC;QAC9B,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,qBAAqB,CAAC,CAAC;AAC/E,CAAC"}
@@ -71,17 +71,77 @@ export declare const builderConfigSchema: z.ZodObject<{
71
71
  autoRoute: z.ZodDefault<z.ZodBoolean>;
72
72
  strictRoute: z.ZodDefault<z.ZodBoolean>;
73
73
  interfaceName: z.ZodOptional<z.ZodString>;
74
+ dnsMode: z.ZodDefault<z.ZodEnum<["real-ip", "fake-ip"]>>;
75
+ launchDaemonLabel: z.ZodDefault<z.ZodString>;
74
76
  addresses: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
77
+ processRouting: z.ZodDefault<z.ZodObject<{
78
+ enabled: z.ZodDefault<z.ZodBoolean>;
79
+ }, "strip", z.ZodTypeAny, {
80
+ enabled: boolean;
81
+ }, {
82
+ enabled?: boolean | undefined;
83
+ }>>;
84
+ fakeIp: z.ZodDefault<z.ZodObject<{
85
+ inet4Range: z.ZodDefault<z.ZodString>;
86
+ inet6Range: z.ZodDefault<z.ZodString>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ inet4Range: string;
89
+ inet6Range: string;
90
+ }, {
91
+ inet4Range?: string | undefined;
92
+ inet6Range?: string | undefined;
93
+ }>>;
94
+ cache: z.ZodDefault<z.ZodObject<{
95
+ enabled: z.ZodDefault<z.ZodBoolean>;
96
+ path: z.ZodDefault<z.ZodString>;
97
+ storeFakeIp: z.ZodDefault<z.ZodBoolean>;
98
+ }, "strip", z.ZodTypeAny, {
99
+ enabled: boolean;
100
+ path: string;
101
+ storeFakeIp: boolean;
102
+ }, {
103
+ enabled?: boolean | undefined;
104
+ path?: string | undefined;
105
+ storeFakeIp?: boolean | undefined;
106
+ }>>;
75
107
  }, "strip", z.ZodTypeAny, {
76
108
  autoRoute: boolean;
77
109
  strictRoute: boolean;
110
+ dnsMode: "real-ip" | "fake-ip";
111
+ launchDaemonLabel: string;
78
112
  addresses: string[];
113
+ processRouting: {
114
+ enabled: boolean;
115
+ };
116
+ fakeIp: {
117
+ inet4Range: string;
118
+ inet6Range: string;
119
+ };
120
+ cache: {
121
+ enabled: boolean;
122
+ path: string;
123
+ storeFakeIp: boolean;
124
+ };
79
125
  interfaceName?: string | undefined;
80
126
  }, {
81
127
  autoRoute?: boolean | undefined;
82
128
  strictRoute?: boolean | undefined;
83
129
  interfaceName?: string | undefined;
130
+ dnsMode?: "real-ip" | "fake-ip" | undefined;
131
+ launchDaemonLabel?: string | undefined;
84
132
  addresses?: string[] | undefined;
133
+ processRouting?: {
134
+ enabled?: boolean | undefined;
135
+ } | undefined;
136
+ fakeIp?: {
137
+ inet4Range?: string | undefined;
138
+ inet6Range?: string | undefined;
139
+ } | undefined;
140
+ cache?: {
141
+ enabled?: boolean | undefined;
142
+ path?: string | undefined;
143
+ storeFakeIp?: boolean | undefined;
144
+ } | undefined;
85
145
  }>>;
86
146
  watchdog: z.ZodDefault<z.ZodObject<{
87
147
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -100,7 +160,21 @@ export declare const builderConfigSchema: z.ZodObject<{
100
160
  tun: {
101
161
  autoRoute: boolean;
102
162
  strictRoute: boolean;
163
+ dnsMode: "real-ip" | "fake-ip";
164
+ launchDaemonLabel: string;
103
165
  addresses: string[];
166
+ processRouting: {
167
+ enabled: boolean;
168
+ };
169
+ fakeIp: {
170
+ inet4Range: string;
171
+ inet6Range: string;
172
+ };
173
+ cache: {
174
+ enabled: boolean;
175
+ path: string;
176
+ storeFakeIp: boolean;
177
+ };
104
178
  interfaceName?: string | undefined;
105
179
  };
106
180
  launchAgentLabel: string;
@@ -115,7 +189,21 @@ export declare const builderConfigSchema: z.ZodObject<{
115
189
  autoRoute?: boolean | undefined;
116
190
  strictRoute?: boolean | undefined;
117
191
  interfaceName?: string | undefined;
192
+ dnsMode?: "real-ip" | "fake-ip" | undefined;
193
+ launchDaemonLabel?: string | undefined;
118
194
  addresses?: string[] | undefined;
195
+ processRouting?: {
196
+ enabled?: boolean | undefined;
197
+ } | undefined;
198
+ fakeIp?: {
199
+ inet4Range?: string | undefined;
200
+ inet6Range?: string | undefined;
201
+ } | undefined;
202
+ cache?: {
203
+ enabled?: boolean | undefined;
204
+ path?: string | undefined;
205
+ storeFakeIp?: boolean | undefined;
206
+ } | undefined;
119
207
  } | undefined;
120
208
  launchAgentLabel?: string | undefined;
121
209
  profile?: "none" | "system-proxy" | "tun" | undefined;
@@ -144,7 +232,21 @@ export declare const builderConfigSchema: z.ZodObject<{
144
232
  tun: {
145
233
  autoRoute: boolean;
146
234
  strictRoute: boolean;
235
+ dnsMode: "real-ip" | "fake-ip";
236
+ launchDaemonLabel: string;
147
237
  addresses: string[];
238
+ processRouting: {
239
+ enabled: boolean;
240
+ };
241
+ fakeIp: {
242
+ inet4Range: string;
243
+ inet6Range: string;
244
+ };
245
+ cache: {
246
+ enabled: boolean;
247
+ path: string;
248
+ storeFakeIp: boolean;
249
+ };
148
250
  interfaceName?: string | undefined;
149
251
  };
150
252
  launchAgentLabel: string;
@@ -175,7 +277,21 @@ export declare const builderConfigSchema: z.ZodObject<{
175
277
  autoRoute?: boolean | undefined;
176
278
  strictRoute?: boolean | undefined;
177
279
  interfaceName?: string | undefined;
280
+ dnsMode?: "real-ip" | "fake-ip" | undefined;
281
+ launchDaemonLabel?: string | undefined;
178
282
  addresses?: string[] | undefined;
283
+ processRouting?: {
284
+ enabled?: boolean | undefined;
285
+ } | undefined;
286
+ fakeIp?: {
287
+ inet4Range?: string | undefined;
288
+ inet6Range?: string | undefined;
289
+ } | undefined;
290
+ cache?: {
291
+ enabled?: boolean | undefined;
292
+ path?: string | undefined;
293
+ storeFakeIp?: boolean | undefined;
294
+ } | undefined;
179
295
  } | undefined;
180
296
  launchAgentLabel?: string | undefined;
181
297
  profile?: "none" | "system-proxy" | "tun" | undefined;
@@ -408,19 +524,19 @@ export declare const builderConfigSchema: z.ZodObject<{
408
524
  id: z.ZodString;
409
525
  name: z.ZodString;
410
526
  url: z.ZodString;
411
- inbound: z.ZodEnum<["in-mixed", "in-proxifier"]>;
527
+ inbound: z.ZodEnum<["in-mixed", "in-proxifier", "in-tun"]>;
412
528
  expectedOutbound: z.ZodString;
413
529
  }, "strip", z.ZodTypeAny, {
414
530
  id: string;
415
531
  name: string;
416
532
  url: string;
417
- inbound: "in-mixed" | "in-proxifier";
533
+ inbound: "in-mixed" | "in-proxifier" | "in-tun";
418
534
  expectedOutbound: string;
419
535
  }, {
420
536
  id: string;
421
537
  name: string;
422
538
  url: string;
423
- inbound: "in-mixed" | "in-proxifier";
539
+ inbound: "in-mixed" | "in-proxifier" | "in-tun";
424
540
  expectedOutbound: string;
425
541
  }>, "many">;
426
542
  }, "strip", z.ZodTypeAny, {
@@ -428,7 +544,7 @@ export declare const builderConfigSchema: z.ZodObject<{
428
544
  id: string;
429
545
  name: string;
430
546
  url: string;
431
- inbound: "in-mixed" | "in-proxifier";
547
+ inbound: "in-mixed" | "in-proxifier" | "in-tun";
432
548
  expectedOutbound: string;
433
549
  }[];
434
550
  }, {
@@ -436,7 +552,7 @@ export declare const builderConfigSchema: z.ZodObject<{
436
552
  id: string;
437
553
  name: string;
438
554
  url: string;
439
- inbound: "in-mixed" | "in-proxifier";
555
+ inbound: "in-mixed" | "in-proxifier" | "in-tun";
440
556
  expectedOutbound: string;
441
557
  }[];
442
558
  }>;
@@ -479,17 +595,6 @@ export declare const builderConfigSchema: z.ZodObject<{
479
595
  timeoutMs?: number | undefined;
480
596
  }>>;
481
597
  }, "strip", z.ZodTypeAny, {
482
- version: 1;
483
- subscription: {
484
- format: "base64-lines";
485
- url: string;
486
- protocols: "trojan"[];
487
- };
488
- output: {
489
- stagingPath: string;
490
- livePath: string;
491
- backupPath: string;
492
- };
493
598
  runtime: {
494
599
  checkCommand: string;
495
600
  reload: {
@@ -509,7 +614,21 @@ export declare const builderConfigSchema: z.ZodObject<{
509
614
  tun: {
510
615
  autoRoute: boolean;
511
616
  strictRoute: boolean;
617
+ dnsMode: "real-ip" | "fake-ip";
618
+ launchDaemonLabel: string;
512
619
  addresses: string[];
620
+ processRouting: {
621
+ enabled: boolean;
622
+ };
623
+ fakeIp: {
624
+ inet4Range: string;
625
+ inet6Range: string;
626
+ };
627
+ cache: {
628
+ enabled: boolean;
629
+ path: string;
630
+ storeFakeIp: boolean;
631
+ };
513
632
  interfaceName?: string | undefined;
514
633
  };
515
634
  launchAgentLabel: string;
@@ -521,6 +640,17 @@ export declare const builderConfigSchema: z.ZodObject<{
521
640
  };
522
641
  };
523
642
  };
643
+ version: 1;
644
+ subscription: {
645
+ format: "base64-lines";
646
+ url: string;
647
+ protocols: "trojan"[];
648
+ };
649
+ output: {
650
+ stagingPath: string;
651
+ livePath: string;
652
+ backupPath: string;
653
+ };
524
654
  listeners: {
525
655
  mixed: {
526
656
  enabled: boolean;
@@ -579,7 +709,7 @@ export declare const builderConfigSchema: z.ZodObject<{
579
709
  id: string;
580
710
  name: string;
581
711
  url: string;
582
- inbound: "in-mixed" | "in-proxifier";
712
+ inbound: "in-mixed" | "in-proxifier" | "in-tun";
583
713
  expectedOutbound: string;
584
714
  }[];
585
715
  };
@@ -596,17 +726,6 @@ export declare const builderConfigSchema: z.ZodObject<{
596
726
  } | undefined;
597
727
  };
598
728
  }, {
599
- version: 1;
600
- subscription: {
601
- format: "base64-lines";
602
- url: string;
603
- protocols: "trojan"[];
604
- };
605
- output: {
606
- stagingPath: string;
607
- livePath: string;
608
- backupPath: string;
609
- };
610
729
  runtime: {
611
730
  checkCommand: string;
612
731
  reload: {
@@ -627,7 +746,21 @@ export declare const builderConfigSchema: z.ZodObject<{
627
746
  autoRoute?: boolean | undefined;
628
747
  strictRoute?: boolean | undefined;
629
748
  interfaceName?: string | undefined;
749
+ dnsMode?: "real-ip" | "fake-ip" | undefined;
750
+ launchDaemonLabel?: string | undefined;
630
751
  addresses?: string[] | undefined;
752
+ processRouting?: {
753
+ enabled?: boolean | undefined;
754
+ } | undefined;
755
+ fakeIp?: {
756
+ inet4Range?: string | undefined;
757
+ inet6Range?: string | undefined;
758
+ } | undefined;
759
+ cache?: {
760
+ enabled?: boolean | undefined;
761
+ path?: string | undefined;
762
+ storeFakeIp?: boolean | undefined;
763
+ } | undefined;
631
764
  } | undefined;
632
765
  launchAgentLabel?: string | undefined;
633
766
  profile?: "none" | "system-proxy" | "tun" | undefined;
@@ -638,6 +771,17 @@ export declare const builderConfigSchema: z.ZodObject<{
638
771
  } | undefined;
639
772
  } | undefined;
640
773
  };
774
+ version: 1;
775
+ subscription: {
776
+ format: "base64-lines";
777
+ url: string;
778
+ protocols: "trojan"[];
779
+ };
780
+ output: {
781
+ stagingPath: string;
782
+ livePath: string;
783
+ backupPath: string;
784
+ };
641
785
  listeners: {
642
786
  mixed: {
643
787
  enabled: boolean;
@@ -696,7 +840,7 @@ export declare const builderConfigSchema: z.ZodObject<{
696
840
  id: string;
697
841
  name: string;
698
842
  url: string;
699
- inbound: "in-mixed" | "in-proxifier";
843
+ inbound: "in-mixed" | "in-proxifier" | "in-tun";
700
844
  expectedOutbound: string;
701
845
  }[];
702
846
  };
@@ -1,3 +1,5 @@
1
+ import { homedir } from "node:os";
2
+ import path from "node:path";
1
3
  import { z } from "zod";
2
4
  const listenerSchema = z.object({
3
5
  enabled: z.boolean(),
@@ -20,7 +22,7 @@ const verificationScenarioSchema = z.object({
20
22
  id: z.string().min(1),
21
23
  name: z.string().min(1),
22
24
  url: z.string().url(),
23
- inbound: z.enum(["in-mixed", "in-proxifier"]),
25
+ inbound: z.enum(["in-mixed", "in-proxifier", "in-tun"]),
24
26
  expectedOutbound: z.string().min(1),
25
27
  });
26
28
  const authoringSchema = z
@@ -61,15 +63,61 @@ const desktopTunRuntimeSchema = z
61
63
  autoRoute: z.boolean().default(true),
62
64
  strictRoute: z.boolean().default(false),
63
65
  interfaceName: z.string().min(1).optional(),
66
+ dnsMode: z.enum(["real-ip", "fake-ip"]).default("fake-ip"),
67
+ launchDaemonLabel: z.string().min(1).default("org.singbox-iac.runtime.tun"),
64
68
  addresses: z
65
69
  .array(z.string().min(1))
66
70
  .min(1)
67
71
  .default(["172.19.0.1/30", "fdfe:dcba:9876::1/126"]),
72
+ processRouting: z
73
+ .object({
74
+ enabled: z.boolean().default(true),
75
+ })
76
+ .default({
77
+ enabled: true,
78
+ }),
79
+ fakeIp: z
80
+ .object({
81
+ inet4Range: z.string().min(1).default("198.18.0.0/15"),
82
+ inet6Range: z.string().min(1).default("fc00::/18"),
83
+ })
84
+ .default({
85
+ inet4Range: "198.18.0.0/15",
86
+ inet6Range: "fc00::/18",
87
+ }),
88
+ cache: z
89
+ .object({
90
+ enabled: z.boolean().default(true),
91
+ path: z
92
+ .string()
93
+ .min(1)
94
+ .default(path.join(homedir(), ".config", "singbox-iac", "runtime", "tun-cache.db")),
95
+ storeFakeIp: z.boolean().default(true),
96
+ })
97
+ .default({
98
+ enabled: true,
99
+ path: path.join(homedir(), ".config", "singbox-iac", "runtime", "tun-cache.db"),
100
+ storeFakeIp: true,
101
+ }),
68
102
  })
69
103
  .default({
70
104
  autoRoute: true,
71
105
  strictRoute: false,
106
+ dnsMode: "fake-ip",
107
+ launchDaemonLabel: "org.singbox-iac.runtime.tun",
72
108
  addresses: ["172.19.0.1/30", "fdfe:dcba:9876::1/126"],
109
+ processRouting: {
110
+ enabled: true,
111
+ },
112
+ fakeIp: {
113
+ inet4Range: "198.18.0.0/15",
114
+ inet6Range: "fc00::/18",
115
+ },
116
+ cache: {
117
+ enabled: true,
118
+ path: path.join(homedir(), ".config", "singbox-iac", "runtime", "tun-cache.db"),
119
+ storeFakeIp: true,
120
+ },
73
121
  });
74
122
  const desktopRuntimeWatchdogSchema = z
75
123
  .object({
@@ -95,7 +143,21 @@ const desktopRuntimeSchema = z
95
143
  tun: {
96
144
  autoRoute: true,
97
145
  strictRoute: false,
146
+ dnsMode: "fake-ip",
147
+ launchDaemonLabel: "org.singbox-iac.runtime.tun",
98
148
  addresses: ["172.19.0.1/30", "fdfe:dcba:9876::1/126"],
149
+ processRouting: {
150
+ enabled: true,
151
+ },
152
+ fakeIp: {
153
+ inet4Range: "198.18.0.0/15",
154
+ inet6Range: "fc00::/18",
155
+ },
156
+ cache: {
157
+ enabled: true,
158
+ path: path.join(homedir(), ".config", "singbox-iac", "runtime", "tun-cache.db"),
159
+ storeFakeIp: true,
160
+ },
99
161
  },
100
162
  watchdog: {
101
163
  enabled: true,
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}