@singbox-iac/cli 0.1.8 → 0.1.9

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 (73) hide show
  1. package/README-en.md +43 -0
  2. package/README.md +42 -0
  3. package/dist/cli/commands/apply.js +5 -1
  4. package/dist/cli/commands/apply.js.map +1 -1
  5. package/dist/cli/commands/author.js +10 -0
  6. package/dist/cli/commands/author.js.map +1 -1
  7. package/dist/cli/commands/build.js +11 -0
  8. package/dist/cli/commands/build.js.map +1 -1
  9. package/dist/cli/commands/check.js +5 -1
  10. package/dist/cli/commands/check.js.map +1 -1
  11. package/dist/cli/commands/doctor.js +12 -0
  12. package/dist/cli/commands/doctor.js.map +1 -1
  13. package/dist/cli/commands/reload.js +5 -1
  14. package/dist/cli/commands/reload.js.map +1 -1
  15. package/dist/cli/commands/restart.d.ts +2 -0
  16. package/dist/cli/commands/restart.js +57 -0
  17. package/dist/cli/commands/restart.js.map +1 -0
  18. package/dist/cli/commands/rollback.js +6 -2
  19. package/dist/cli/commands/rollback.js.map +1 -1
  20. package/dist/cli/commands/run.js +5 -1
  21. package/dist/cli/commands/run.js.map +1 -1
  22. package/dist/cli/commands/schedule.js +10 -2
  23. package/dist/cli/commands/schedule.js.map +1 -1
  24. package/dist/cli/commands/setup.js +67 -9
  25. package/dist/cli/commands/setup.js.map +1 -1
  26. package/dist/cli/commands/start.d.ts +2 -0
  27. package/dist/cli/commands/start.js +51 -0
  28. package/dist/cli/commands/start.js.map +1 -0
  29. package/dist/cli/commands/status.d.ts +2 -0
  30. package/dist/cli/commands/status.js +65 -0
  31. package/dist/cli/commands/status.js.map +1 -0
  32. package/dist/cli/commands/stop.d.ts +2 -0
  33. package/dist/cli/commands/stop.js +29 -0
  34. package/dist/cli/commands/stop.js.map +1 -0
  35. package/dist/cli/commands/verify.js +15 -3
  36. package/dist/cli/commands/verify.js.map +1 -1
  37. package/dist/cli/index.js +17 -1
  38. package/dist/cli/index.js.map +1 -1
  39. package/dist/config/schema.d.ts +125 -0
  40. package/dist/config/schema.js +49 -0
  41. package/dist/config/schema.js.map +1 -1
  42. package/dist/domain/runtime-mode.d.ts +2 -0
  43. package/dist/modules/compiler/index.js +32 -14
  44. package/dist/modules/compiler/index.js.map +1 -1
  45. package/dist/modules/desktop-runtime/index.d.ts +48 -0
  46. package/dist/modules/desktop-runtime/index.js +183 -0
  47. package/dist/modules/desktop-runtime/index.js.map +1 -0
  48. package/dist/modules/doctor/index.d.ts +5 -0
  49. package/dist/modules/doctor/index.js +37 -8
  50. package/dist/modules/doctor/index.js.map +1 -1
  51. package/dist/modules/manager/index.d.ts +1 -1
  52. package/dist/modules/manager/index.js +6 -28
  53. package/dist/modules/manager/index.js.map +1 -1
  54. package/dist/modules/runtime-dependencies/index.d.ts +22 -0
  55. package/dist/modules/runtime-dependencies/index.js +114 -0
  56. package/dist/modules/runtime-dependencies/index.js.map +1 -0
  57. package/dist/modules/runtime-mode/index.d.ts +6 -1
  58. package/dist/modules/runtime-mode/index.js +14 -0
  59. package/dist/modules/runtime-mode/index.js.map +1 -1
  60. package/dist/modules/schedule/index.d.ts +1 -0
  61. package/dist/modules/schedule/index.js +1 -1
  62. package/dist/modules/schedule/index.js.map +1 -1
  63. package/dist/modules/status/index.d.ts +57 -0
  64. package/dist/modules/status/index.js +295 -0
  65. package/dist/modules/status/index.js.map +1 -0
  66. package/dist/modules/update/index.js +5 -3
  67. package/dist/modules/update/index.js.map +1 -1
  68. package/dist/modules/verification/index.d.ts +1 -1
  69. package/dist/modules/verification/index.js +6 -12
  70. package/dist/modules/verification/index.js.map +1 -1
  71. package/docs/runtime-on-macos.md +36 -0
  72. package/examples/builder.config.yaml +9 -0
  73. package/package.json +1 -1
@@ -0,0 +1,295 @@
1
+ import { spawn } from "node:child_process";
2
+ import { constants } from "node:fs";
3
+ import { access } from "node:fs/promises";
4
+ import net from "node:net";
5
+ import { homedir } from "node:os";
6
+ import path from "node:path";
7
+ import { resolveEffectiveIntent } from "../build/index.js";
8
+ import { defaultRuntimeLaunchAgentLabel } from "../desktop-runtime/index.js";
9
+ import { resolveSingBoxDependency } from "../runtime-dependencies/index.js";
10
+ import { inferRuntimeMode } from "../runtime-mode/index.js";
11
+ import { defaultLaunchAgentLabel } from "../schedule/index.js";
12
+ import { listTransactionHistory } from "../transactions/index.js";
13
+ export async function collectStatusReport(input) {
14
+ const diagnostics = [];
15
+ const schedulerLabel = input.label ?? defaultLaunchAgentLabel;
16
+ const runtimeLabel = input.runtimeLabel ??
17
+ input.config?.runtime.desktop.launchAgentLabel ??
18
+ defaultRuntimeLaunchAgentLabel;
19
+ const launchAgentsDir = input.launchAgentsDir ?? path.join(homedir(), "Library", "LaunchAgents");
20
+ const plistPath = path.join(launchAgentsDir, `${schedulerLabel}.plist`);
21
+ const runtimePlistPath = path.join(launchAgentsDir, `${runtimeLabel}.plist`);
22
+ let runtimeBinaryPath;
23
+ let runtimeBinarySource;
24
+ try {
25
+ const resolved = await resolveSingBoxDependency({
26
+ ...(input.singBoxBinary ? { explicitPath: input.singBoxBinary } : {}),
27
+ ...(input.config?.runtime.dependencies.singBoxBinary
28
+ ? { persistedPath: input.config.runtime.dependencies.singBoxBinary }
29
+ : {}),
30
+ });
31
+ runtimeBinaryPath = resolved.path;
32
+ runtimeBinarySource = resolved.source;
33
+ }
34
+ catch (error) {
35
+ diagnostics.push({
36
+ level: "error",
37
+ message: error instanceof Error ? error.message : String(error),
38
+ });
39
+ }
40
+ const processName = input.config?.runtime.reload.processName ?? "sing-box";
41
+ const processIds = await listProcessIds(processName);
42
+ const processRunning = processIds.length > 0;
43
+ if (!processRunning) {
44
+ diagnostics.push({
45
+ level: "warn",
46
+ message: `No running ${processName} process was found.`,
47
+ });
48
+ }
49
+ const listeners = input.config
50
+ ? await Promise.all([
51
+ {
52
+ tag: "in-mixed",
53
+ listen: input.config.listeners.mixed.listen,
54
+ port: input.config.listeners.mixed.port,
55
+ },
56
+ {
57
+ tag: "in-proxifier",
58
+ listen: input.config.listeners.proxifier.listen,
59
+ port: input.config.listeners.proxifier.port,
60
+ },
61
+ ].map(async (listener) => ({
62
+ ...listener,
63
+ active: await isTcpListenerActive(listener.listen, listener.port),
64
+ })))
65
+ : [];
66
+ if (processRunning) {
67
+ for (const listener of listeners.filter((entry) => !entry.active)) {
68
+ diagnostics.push({
69
+ level: "warn",
70
+ message: `${listener.tag} is configured on ${listener.listen}:${listener.port} but is not accepting connections.`,
71
+ });
72
+ }
73
+ }
74
+ const livePath = input.config?.output.livePath;
75
+ const liveExists = livePath ? await pathExists(livePath) : false;
76
+ if (livePath && !liveExists) {
77
+ diagnostics.push({
78
+ level: "warn",
79
+ message: `Live config is missing: ${livePath}`,
80
+ });
81
+ }
82
+ const installed = await pathExists(plistPath);
83
+ const loaded = installed ? await isLaunchAgentLoaded(schedulerLabel) : undefined;
84
+ const runtimeInstalled = await pathExists(runtimePlistPath);
85
+ const runtimeLoaded = runtimeInstalled ? await isLaunchAgentLoaded(runtimeLabel) : undefined;
86
+ if (input.config?.schedule.enabled && !installed) {
87
+ diagnostics.push({
88
+ level: "warn",
89
+ message: `Schedule is enabled in builder config but no LaunchAgent exists at ${plistPath}.`,
90
+ });
91
+ }
92
+ else if (installed && loaded === false) {
93
+ diagnostics.push({
94
+ level: "warn",
95
+ message: `LaunchAgent exists but is not loaded: ${schedulerLabel}`,
96
+ });
97
+ }
98
+ const history = input.config ? await listTransactionHistory(input.config) : [];
99
+ const latestTransaction = history[0];
100
+ let mode;
101
+ const desktopProfile = input.config?.runtime.desktop.profile;
102
+ const systemProxyActive = desktopProfile === "system-proxy" && input.config
103
+ ? await isSystemProxyActive(input.config.listeners.mixed.listen, input.config.listeners.mixed.port)
104
+ : undefined;
105
+ const tunInterfacePresent = desktopProfile === "tun" && input.config
106
+ ? await isTunInterfacePresent(input.config.runtime.desktop.tun.interfaceName)
107
+ : undefined;
108
+ if (input.config) {
109
+ mode = inferRuntimeMode({
110
+ phase: processRunning ? "onboarding" : "update",
111
+ config: input.config,
112
+ intent: await resolveEffectiveIntent(input.config),
113
+ });
114
+ }
115
+ if (desktopProfile === "system-proxy" && processRunning && systemProxyActive === false) {
116
+ diagnostics.push({
117
+ level: "warn",
118
+ message: "Desktop runtime is running, but the macOS system proxy does not point at in-mixed.",
119
+ });
120
+ }
121
+ if (desktopProfile === "tun" && processRunning && tunInterfacePresent === false) {
122
+ diagnostics.push({
123
+ level: "warn",
124
+ message: "Desktop runtime is running in TUN mode, but no matching TUN interface was detected.",
125
+ });
126
+ }
127
+ if (runtimeInstalled && runtimeLoaded === false) {
128
+ diagnostics.push({
129
+ level: "warn",
130
+ message: `Runtime LaunchAgent exists but is not loaded: ${runtimeLabel}`,
131
+ });
132
+ }
133
+ if (!input.configPath) {
134
+ diagnostics.push({
135
+ level: "warn",
136
+ message: "No builder config path was resolved.",
137
+ });
138
+ }
139
+ return {
140
+ generatedAt: new Date().toISOString(),
141
+ ...(input.configPath ? { builderConfigPath: input.configPath } : {}),
142
+ runtime: {
143
+ ...(runtimeBinaryPath ? { singBoxBinary: runtimeBinaryPath } : {}),
144
+ ...(runtimeBinarySource ? { binarySource: runtimeBinarySource } : {}),
145
+ processRunning,
146
+ processIds,
147
+ ...(mode ? { mode } : {}),
148
+ ...(desktopProfile ? { desktopProfile } : {}),
149
+ runtimeLabel,
150
+ launchAgentInstalled: runtimeInstalled,
151
+ ...(runtimeLoaded !== undefined ? { launchAgentLoaded: runtimeLoaded } : {}),
152
+ ...(systemProxyActive !== undefined ? { systemProxyActive } : {}),
153
+ ...(tunInterfacePresent !== undefined ? { tunInterfacePresent } : {}),
154
+ listeners,
155
+ },
156
+ config: {
157
+ ...(input.config?.output.stagingPath ? { stagingPath: input.config.output.stagingPath } : {}),
158
+ ...(input.config?.output.livePath ? { livePath: input.config.output.livePath } : {}),
159
+ ...(input.config?.output.backupPath ? { backupPath: input.config.output.backupPath } : {}),
160
+ liveExists,
161
+ },
162
+ scheduler: {
163
+ enabled: input.config?.schedule.enabled ?? false,
164
+ label: schedulerLabel,
165
+ installed,
166
+ ...(loaded !== undefined ? { loaded } : {}),
167
+ plistPath,
168
+ },
169
+ history: {
170
+ ...(latestTransaction?.txId ? { lastTransactionId: latestTransaction.txId } : {}),
171
+ ...(latestTransaction?.status ? { lastTransactionStatus: latestTransaction.status } : {}),
172
+ ...(latestTransaction?.startedAt ? { lastTransactionAt: latestTransaction.startedAt } : {}),
173
+ },
174
+ diagnostics,
175
+ };
176
+ }
177
+ async function listProcessIds(processName) {
178
+ return new Promise((resolve, reject) => {
179
+ const child = spawn("/usr/bin/pgrep", ["-x", processName], {
180
+ stdio: ["ignore", "pipe", "ignore"],
181
+ });
182
+ let stdout = "";
183
+ child.stdout.on("data", (chunk) => {
184
+ stdout += chunk.toString();
185
+ });
186
+ child.on("error", reject);
187
+ child.on("close", (code) => {
188
+ if (code !== 0) {
189
+ resolve([]);
190
+ return;
191
+ }
192
+ resolve(stdout
193
+ .split("\n")
194
+ .map((line) => Number.parseInt(line.trim(), 10))
195
+ .filter((value) => Number.isInteger(value) && value > 0));
196
+ });
197
+ });
198
+ }
199
+ async function isTcpListenerActive(host, port) {
200
+ return new Promise((resolve) => {
201
+ const socket = net.connect({ host, port });
202
+ const timer = setTimeout(() => {
203
+ socket.destroy();
204
+ resolve(false);
205
+ }, 400);
206
+ socket.once("connect", () => {
207
+ clearTimeout(timer);
208
+ socket.destroy();
209
+ resolve(true);
210
+ });
211
+ socket.once("error", () => {
212
+ clearTimeout(timer);
213
+ resolve(false);
214
+ });
215
+ });
216
+ }
217
+ async function isLaunchAgentLoaded(label) {
218
+ if (typeof process.getuid !== "function") {
219
+ return false;
220
+ }
221
+ const uid = process.getuid();
222
+ return new Promise((resolve, reject) => {
223
+ const child = spawn("/bin/launchctl", ["print", `gui/${uid}/${label}`], {
224
+ stdio: ["ignore", "ignore", "ignore"],
225
+ });
226
+ child.on("error", reject);
227
+ child.on("close", (code) => resolve(code === 0));
228
+ });
229
+ }
230
+ async function isSystemProxyActive(host, port) {
231
+ return new Promise((resolve) => {
232
+ const child = spawn("/usr/sbin/scutil", ["--proxy"], {
233
+ stdio: ["ignore", "pipe", "ignore"],
234
+ });
235
+ let stdout = "";
236
+ child.stdout.on("data", (chunk) => {
237
+ stdout += chunk.toString();
238
+ });
239
+ child.on("error", () => resolve(undefined));
240
+ child.on("close", (code) => {
241
+ if (code !== 0) {
242
+ resolve(undefined);
243
+ return;
244
+ }
245
+ const values = new Map();
246
+ for (const line of stdout.split("\n")) {
247
+ const match = line.match(/^\s*([A-Za-z0-9_]+)\s*:\s*(.+?)\s*$/);
248
+ if (match?.[1] && match[2]) {
249
+ values.set(match[1], match[2]);
250
+ }
251
+ }
252
+ const httpEnabled = values.get("HTTPEnable") === "1";
253
+ const socksEnabled = values.get("SOCKSEnable") === "1";
254
+ const httpMatches = values.get("HTTPProxy") === host &&
255
+ Number.parseInt(values.get("HTTPPort") ?? "", 10) === port;
256
+ const socksMatches = values.get("SOCKSProxy") === host &&
257
+ Number.parseInt(values.get("SOCKSPort") ?? "", 10) === port;
258
+ resolve((httpEnabled && httpMatches) || (socksEnabled && socksMatches));
259
+ });
260
+ });
261
+ }
262
+ async function isTunInterfacePresent(interfaceName) {
263
+ const args = interfaceName ? [interfaceName] : [];
264
+ return new Promise((resolve) => {
265
+ const child = spawn("/sbin/ifconfig", args, {
266
+ stdio: ["ignore", "pipe", "ignore"],
267
+ });
268
+ let stdout = "";
269
+ child.stdout.on("data", (chunk) => {
270
+ stdout += chunk.toString();
271
+ });
272
+ child.on("error", () => resolve(undefined));
273
+ child.on("close", (code) => {
274
+ if (code !== 0) {
275
+ resolve(false);
276
+ return;
277
+ }
278
+ if (interfaceName) {
279
+ resolve(stdout.includes(`${interfaceName}:`) || stdout.startsWith(`${interfaceName}:`));
280
+ return;
281
+ }
282
+ resolve(/\butun\d+:/.test(stdout));
283
+ });
284
+ });
285
+ }
286
+ async function pathExists(filePath) {
287
+ try {
288
+ await access(filePath, constants.F_OK);
289
+ return true;
290
+ }
291
+ catch {
292
+ return false;
293
+ }
294
+ }
295
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/status/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ import { shouldAutoReloadRuntime } from "../manager/index.js";
4
4
  import { applyWithTransaction } from "../transactions/index.js";
5
5
  import { assertVerificationReportPassed, verifyConfigRoutes, } from "../verification/index.js";
6
6
  export async function runUpdate(input) {
7
+ const singBoxBinary = input.singBoxBinary ?? input.config.runtime.dependencies.singBoxBinary;
8
+ const chromeBinary = input.chromeBinary ?? input.config.runtime.dependencies.chromeBinary;
7
9
  const build = await buildConfigArtifact({
8
10
  config: input.config,
9
11
  ...(input.outputPath ? { outputPath: input.outputPath } : {}),
@@ -14,8 +16,8 @@ export async function runUpdate(input) {
14
16
  if (input.verify !== false) {
15
17
  verification = await verifyConfigRoutes({
16
18
  configPath: build.outputPath,
17
- ...(input.singBoxBinary ? { singBoxBinary: input.singBoxBinary } : {}),
18
- ...(input.chromeBinary ? { chromeBinary: input.chromeBinary } : {}),
19
+ ...(singBoxBinary ? { singBoxBinary } : {}),
20
+ ...(chromeBinary ? { chromeBinary } : {}),
19
21
  configuredScenarios: input.config.verification.scenarios,
20
22
  });
21
23
  assertVerificationReportPassed(verification);
@@ -39,7 +41,7 @@ export async function runUpdate(input) {
39
41
  stagingPath: build.outputPath,
40
42
  livePath,
41
43
  ...(backupPath ? { backupPath } : {}),
42
- ...(input.singBoxBinary ? { singBoxBinary: input.singBoxBinary } : {}),
44
+ ...(singBoxBinary ? { singBoxBinary } : {}),
43
45
  reload: reloaded,
44
46
  runtime: input.config.runtime.reload,
45
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/update/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/update/index.ts"],"names":[],"mappings":"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"}
@@ -111,7 +111,7 @@ export declare function verifyEgressPlan(input: {
111
111
  readonly requestBinary?: string;
112
112
  }): Promise<readonly EgressVerificationResult[]>;
113
113
  export declare function isRouteLevelProxySuccess(scenario: Pick<RuntimeScenario, "inboundTag">, requestResult: RequestRunResult): boolean;
114
- export declare function resolveChromeBinary(explicitPath?: string): Promise<string>;
114
+ export declare function resolveChromeBinary(explicitPath?: string, persistedPath?: string): Promise<string>;
115
115
  export declare function openVisibleChromeWindows(input: {
116
116
  readonly scenarios: readonly VisibleVerificationScenario[];
117
117
  readonly mixedPort: number;
@@ -6,6 +6,7 @@ import net from "node:net";
6
6
  import { tmpdir } from "node:os";
7
7
  import path from "node:path";
8
8
  import { checkConfig, resolveSingBoxBinary } from "../manager/index.js";
9
+ import { resolveChromeDependency } from "../runtime-dependencies/index.js";
9
10
  export function assertVerificationReportPassed(report) {
10
11
  const failures = report.scenarios.filter((scenario) => !scenario.passed);
11
12
  if (failures.length === 0) {
@@ -283,19 +284,12 @@ export function isRouteLevelProxySuccess(scenario, requestResult) {
283
284
  return (requestResult.exitCode === 28 &&
284
285
  `${requestResult.stdout}\n${requestResult.stderr}`.includes("HTTP/1.1 200 Connection established"));
285
286
  }
286
- export async function resolveChromeBinary(explicitPath) {
287
- const candidates = [
287
+ export async function resolveChromeBinary(explicitPath, persistedPath) {
288
+ const resolved = await resolveChromeDependency({
288
289
  explicitPath,
289
- process.env.CHROME_BIN,
290
- "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
291
- "/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary",
292
- ].filter((candidate) => typeof candidate === "string" && candidate.length > 0);
293
- for (const candidate of candidates) {
294
- if (await isExecutable(candidate)) {
295
- return candidate;
296
- }
297
- }
298
- throw new Error("Unable to find a usable Chrome binary. Set CHROME_BIN or install Google Chrome.");
290
+ persistedPath,
291
+ });
292
+ return resolved.path;
299
293
  }
300
294
  export async function openVisibleChromeWindows(input) {
301
295
  const chromeBinary = await resolveChromeBinary(input.chromeBinary);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/verification/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/verification/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ The target runtime is a headless macOS deployment:
7
7
  - `sing-box` installed separately
8
8
  - this CLI generates and validates config
9
9
  - `launchd` handles periodic updates
10
+ - a dedicated runtime LaunchAgent can keep `sing-box` running in desktop mode
10
11
 
11
12
  ## Planned Flow
12
13
 
@@ -22,6 +23,9 @@ The target runtime is a headless macOS deployment:
22
23
  singbox-iac go '<url>' '<一句话策略>'
23
24
  singbox-iac use '<新的需求描述>'
24
25
  singbox-iac update
26
+ singbox-iac start
27
+ singbox-iac stop
28
+ singbox-iac status
25
29
  ```
26
30
 
27
31
  Advanced commands remain available for debugging or fine-grained control:
@@ -33,13 +37,45 @@ singbox-iac author
33
37
  singbox-iac build
34
38
  singbox-iac verify
35
39
  singbox-iac schedule install
40
+ singbox-iac restart
36
41
  ```
37
42
 
43
+ ## Desktop Runtime Profiles
44
+
45
+ The builder config now persists an internal desktop runtime profile:
46
+
47
+ - `system-proxy`
48
+ - `in-mixed` is still used
49
+ - `set_system_proxy: true` is emitted so `sing-box` can set and clean the macOS system proxy
50
+ - `tun`
51
+ - a `tun` inbound is emitted
52
+ - `auto_route` is enabled
53
+ - this is closer to the "global capture" experience of GUI clients
54
+
55
+ During onboarding, prompts that mention `TUN`, `全局代理`, or `全局模式` are inferred as `tun`; otherwise the default is `system-proxy`.
56
+
57
+ ## Runtime Control
58
+
59
+ Use the dedicated runtime commands for GUI-like everyday control:
60
+
61
+ ```bash
62
+ singbox-iac start
63
+ singbox-iac stop
64
+ singbox-iac restart
65
+ singbox-iac status
66
+ ```
67
+
68
+ - `start` writes or refreshes a dedicated runtime LaunchAgent and boots it
69
+ - `stop` unloads and removes that runtime LaunchAgent
70
+ - `restart` replaces the runtime LaunchAgent
71
+ - `status` reports `sing-box` binary resolution, live config presence, desktop runtime state, system proxy/TUN hints, scheduler state, and recent transactions
72
+
38
73
  ## Launchd Notes
39
74
 
40
75
  - In source-tree development, `schedule install` emits a LaunchAgent that runs `node_modules/.bin/tsx src/cli/index.ts update --config <path>`.
41
76
  - In built distributions, the same logic emits a LaunchAgent that runs the compiled CLI entrypoint with `node`.
42
77
  - Use `--no-load` during testing to validate the generated plist without calling `launchctl bootstrap`.
78
+ - Desktop runtime uses a separate LaunchAgent label from the update scheduler.
43
79
 
44
80
  ## Why `launchd`
45
81
 
@@ -17,6 +17,15 @@ runtime:
17
17
  kind: "signal"
18
18
  processName: "sing-box"
19
19
  signal: "HUP"
20
+ desktop:
21
+ profile: "system-proxy"
22
+ launchAgentLabel: "org.singbox-iac.runtime"
23
+ tun:
24
+ autoRoute: true
25
+ strictRoute: false
26
+ addresses:
27
+ - "172.19.0.1/30"
28
+ - "fdfe:dcba:9876::1/126"
20
29
 
21
30
  listeners:
22
31
  mixed:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@singbox-iac/cli",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Policy-first subscription compiler for sing-box on macOS.",
5
5
  "repository": {
6
6
  "type": "git",