@singbox-iac/cli 0.1.6 → 0.1.7

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 (52) hide show
  1. package/dist/cli/commands/apply.js +21 -9
  2. package/dist/cli/commands/apply.js.map +1 -1
  3. package/dist/cli/commands/history.d.ts +2 -0
  4. package/dist/cli/commands/history.js +21 -0
  5. package/dist/cli/commands/history.js.map +1 -0
  6. package/dist/cli/commands/rollback.d.ts +2 -0
  7. package/dist/cli/commands/rollback.js +38 -0
  8. package/dist/cli/commands/rollback.js.map +1 -0
  9. package/dist/cli/commands/verify.js +72 -20
  10. package/dist/cli/commands/verify.js.map +1 -1
  11. package/dist/cli/index.js +6 -0
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/domain/dns-plan.d.ts +27 -0
  14. package/dist/domain/dns-plan.js +2 -0
  15. package/dist/domain/dns-plan.js.map +1 -0
  16. package/dist/domain/intent.d.ts +61 -0
  17. package/dist/domain/intent.js +2 -0
  18. package/dist/domain/intent.js.map +1 -0
  19. package/dist/domain/transaction.d.ts +12 -0
  20. package/dist/domain/transaction.js +2 -0
  21. package/dist/domain/transaction.js.map +1 -0
  22. package/dist/domain/verification-plan.d.ts +34 -0
  23. package/dist/domain/verification-plan.js +2 -0
  24. package/dist/domain/verification-plan.js.map +1 -0
  25. package/dist/modules/authoring/index.d.ts +2 -0
  26. package/dist/modules/authoring/index.js +32 -17
  27. package/dist/modules/authoring/index.js.map +1 -1
  28. package/dist/modules/build/index.d.ts +3 -0
  29. package/dist/modules/build/index.js +8 -1
  30. package/dist/modules/build/index.js.map +1 -1
  31. package/dist/modules/compiler/index.d.ts +2 -2
  32. package/dist/modules/compiler/index.js +38 -53
  33. package/dist/modules/compiler/index.js.map +1 -1
  34. package/dist/modules/dns-plan/index.d.ts +10 -0
  35. package/dist/modules/dns-plan/index.js +104 -0
  36. package/dist/modules/dns-plan/index.js.map +1 -0
  37. package/dist/modules/intent/index.d.ts +7 -0
  38. package/dist/modules/intent/index.js +101 -0
  39. package/dist/modules/intent/index.js.map +1 -0
  40. package/dist/modules/transactions/index.d.ts +20 -0
  41. package/dist/modules/transactions/index.js +150 -0
  42. package/dist/modules/transactions/index.js.map +1 -0
  43. package/dist/modules/update/index.d.ts +1 -0
  44. package/dist/modules/update/index.js +22 -6
  45. package/dist/modules/update/index.js.map +1 -1
  46. package/dist/modules/verification/index.d.ts +42 -0
  47. package/dist/modules/verification/index.js +274 -0
  48. package/dist/modules/verification/index.js.map +1 -1
  49. package/dist/modules/verification-plan/index.d.ts +9 -0
  50. package/dist/modules/verification-plan/index.js +117 -0
  51. package/dist/modules/verification-plan/index.js.map +1 -0
  52. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/authoring/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/authoring/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { BuilderConfig } from "../../config/schema.js";
2
2
  import type { BuildArtifact, BuildResult } from "../../domain/config.js";
3
+ import type { IntentIR } from "../../domain/intent.js";
3
4
  export interface BuildConfigInput {
4
5
  readonly config: BuilderConfig;
5
6
  readonly outputPath?: string;
@@ -9,5 +10,7 @@ export interface BuildConfigInput {
9
10
  export interface BuiltConfigArtifact extends BuildResult {
10
11
  readonly artifact: BuildArtifact["config"];
11
12
  readonly nodeCount: number;
13
+ readonly intent: IntentIR;
12
14
  }
13
15
  export declare function buildConfigArtifact(input: BuildConfigInput): Promise<BuiltConfigArtifact>;
16
+ export declare function resolveEffectiveIntent(config: BuilderConfig): Promise<IntentIR>;
@@ -2,6 +2,7 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { compileConfig } from "../compiler/index.js";
4
4
  import { fetchSubscription } from "../fetcher/index.js";
5
+ import { createEmptyIntent, intentFromUserRules, mergeIntents } from "../intent/index.js";
5
6
  import { parseSubscription } from "../parser/index.js";
6
7
  import { loadUserRules } from "../user-rules/index.js";
7
8
  export async function buildConfigArtifact(input) {
@@ -11,10 +12,11 @@ export async function buildConfigArtifact(input) {
11
12
  throw new Error("No valid proxy nodes were parsed from the subscription.");
12
13
  }
13
14
  const loadedUserRules = await loadUserRules(input.config.rules.userRulesFile);
15
+ const intent = mergeIntents([createEmptyIntent(), intentFromUserRules(loadedUserRules)]);
14
16
  const artifact = compileConfig({
15
17
  nodes: parsed.nodes,
16
18
  config: input.config,
17
- userRules: loadedUserRules,
19
+ intent,
18
20
  });
19
21
  const outputPath = input.outputPath ?? input.config.output.stagingPath;
20
22
  await mkdir(path.dirname(outputPath), { recursive: true });
@@ -24,8 +26,13 @@ export async function buildConfigArtifact(input) {
24
26
  warnings: [...parsed.errors, ...loadedUserRules.warnings, ...artifact.warnings],
25
27
  artifact: artifact.config,
26
28
  nodeCount: parsed.nodes.length,
29
+ intent,
27
30
  };
28
31
  }
32
+ export async function resolveEffectiveIntent(config) {
33
+ const loadedUserRules = await loadUserRules(config.rules.userRulesFile);
34
+ return mergeIntents([createEmptyIntent(), intentFromUserRules(loadedUserRules)]);
35
+ }
29
36
  async function resolveSubscriptionInput(input) {
30
37
  if (input.subscriptionFile) {
31
38
  return readFile(input.subscriptionFile, "utf8");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAcvD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAuB;IAC/D,MAAM,mBAAmB,GAAG,MAAM,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;IAEvE,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErF,OAAO;QACL,UAAU;QACV,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC/E,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;KAC/B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAAuB;IAC7D,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;IACnE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAK7B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAevD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAuB;IAC/D,MAAM,mBAAmB,GAAG,MAAM,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,iBAAiB,EAAE,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM;KACP,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;IAEvE,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErF,OAAO;QACL,UAAU;QACV,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC/E,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;QAC9B,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAAqB;IAChE,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxE,OAAO,YAAY,CAAC,CAAC,iBAAiB,EAAE,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAAuB;IAC7D,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;IACnE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACpC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { BuilderConfig } from "../../config/schema.js";
2
2
  import type { BuildArtifact } from "../../domain/config.js";
3
+ import type { IntentIR } from "../../domain/intent.js";
3
4
  import type { NormalizedNode } from "../../domain/node.js";
4
- import type { LoadedUserRules } from "../user-rules/index.js";
5
5
  export interface CompileConfigInput {
6
6
  readonly nodes: NormalizedNode[];
7
7
  readonly config: BuilderConfig;
8
- readonly userRules?: LoadedUserRules;
8
+ readonly intent: IntentIR;
9
9
  }
10
10
  export declare function compileConfig(input: CompileConfigInput): BuildArtifact;
@@ -1,4 +1,5 @@
1
1
  import { existsSync } from "node:fs";
2
+ import { buildDnsPlan, compileDnsPlan, getDefaultDnsServerTag } from "../dns-plan/index.js";
2
3
  const urlTestDefaults = {
3
4
  interval: "10m",
4
5
  url: "https://www.gstatic.com/generate_204",
@@ -15,7 +16,6 @@ const devCommonRuleSetTags = new Set([
15
16
  "geosite-cursor",
16
17
  "geosite-figma",
17
18
  ]);
18
- const defaultDnsServerTag = "dns-local-default";
19
19
  export function compileConfig(input) {
20
20
  if (input.nodes.length === 0) {
21
21
  throw new Error("Cannot compile config without at least one parsed node.");
@@ -68,7 +68,7 @@ export function compileConfig(input) {
68
68
  outbound: "AI-Out",
69
69
  },
70
70
  ];
71
- const beforeBuiltins = compileUserRouteRules(input.userRules?.beforeBuiltins ?? [], availableOutboundTags, activeRuleSetTags);
71
+ const beforeBuiltins = compileIntentSitePolicies(input.intent.sitePolicies, "beforeBuiltins", availableOutboundTags, activeRuleSetTags);
72
72
  const activeAiRuleSetTags = availableRuleSets
73
73
  .filter((ruleSet) => aiRuleSetTags.has(ruleSet.tag))
74
74
  .map((ruleSet) => ruleSet.tag);
@@ -89,7 +89,7 @@ export function compileConfig(input) {
89
89
  outbound: "Dev-Common-Out",
90
90
  });
91
91
  }
92
- const afterBuiltins = compileUserRouteRules(input.userRules?.afterBuiltins ?? [], availableOutboundTags, activeRuleSetTags);
92
+ const afterBuiltins = compileIntentSitePolicies(input.intent.sitePolicies, "afterBuiltins", availableOutboundTags, activeRuleSetTags);
93
93
  const tailRules = [];
94
94
  const chinaRuleSetTags = availableRuleSets
95
95
  .filter((ruleSet) => ruleSet.tag === "geosite-cn" || ruleSet.tag === "geoip-cn")
@@ -104,40 +104,23 @@ export function compileConfig(input) {
104
104
  ...afterBuiltins,
105
105
  ...tailRules,
106
106
  ];
107
+ const dnsPlan = buildDnsPlan({
108
+ config: input.config,
109
+ intent: input.intent,
110
+ activeRuleSetTags: [...activeRuleSetTags],
111
+ });
107
112
  const route = {
108
113
  rules,
109
114
  final: "Global",
110
115
  auto_detect_interface: true,
111
- default_domain_resolver: defaultDnsServerTag,
116
+ default_domain_resolver: getDefaultDnsServerTag(),
112
117
  };
113
118
  if (availableRuleSets.length > 0) {
114
119
  route.rule_set = availableRuleSets;
115
120
  }
116
121
  const config = {
117
122
  log: { level: "info" },
118
- dns: {
119
- servers: [
120
- {
121
- type: "local",
122
- tag: defaultDnsServerTag,
123
- prefer_go: true,
124
- },
125
- {
126
- type: "tcp",
127
- tag: "dns-remote-primary",
128
- server: "1.1.1.1",
129
- server_port: 53,
130
- },
131
- {
132
- type: "tcp",
133
- tag: "dns-remote-cn",
134
- server: "223.5.5.5",
135
- server_port: 53,
136
- },
137
- ],
138
- final: defaultDnsServerTag,
139
- strategy: "prefer_ipv4",
140
- },
123
+ dns: compileDnsPlan(dnsPlan),
141
124
  inbounds: [
142
125
  {
143
126
  type: "mixed",
@@ -157,50 +140,52 @@ export function compileConfig(input) {
157
140
  };
158
141
  return { config, warnings };
159
142
  }
160
- function compileUserRouteRules(rules, availableOutboundTags, activeRuleSetTags) {
161
- return rules.map((rule, index) => compileUserRouteRule(rule, index, availableOutboundTags, activeRuleSetTags));
143
+ function compileIntentSitePolicies(policies, placement, availableOutboundTags, activeRuleSetTags) {
144
+ return policies
145
+ .filter((policy) => policy.placement === placement)
146
+ .map((policy, index) => compileIntentSitePolicy(policy, index, availableOutboundTags, activeRuleSetTags));
162
147
  }
163
- function compileUserRouteRule(rule, index, availableOutboundTags, activeRuleSetTags) {
148
+ function compileIntentSitePolicy(policy, index, availableOutboundTags, activeRuleSetTags) {
164
149
  const compiled = {};
165
- const name = rule.name ?? `user rule #${index + 1}`;
166
- if (rule.inbound) {
167
- compiled.inbound = [...rule.inbound];
150
+ const name = policy.name ?? `intent policy #${index + 1}`;
151
+ if (policy.match.inbound) {
152
+ compiled.inbound = [...policy.match.inbound];
168
153
  }
169
- if (rule.protocol) {
170
- compiled.protocol = rule.protocol;
154
+ if (policy.match.protocol) {
155
+ compiled.protocol = policy.match.protocol;
171
156
  }
172
- if (rule.network) {
173
- compiled.network = rule.network;
157
+ if (policy.match.network) {
158
+ compiled.network = policy.match.network;
174
159
  }
175
- if (rule.port) {
176
- compiled.port = rule.port;
160
+ if (policy.match.port) {
161
+ compiled.port = policy.match.port;
177
162
  }
178
- if (rule.domain) {
179
- compiled.domain = [...rule.domain];
163
+ if (policy.match.domain) {
164
+ compiled.domain = [...policy.match.domain];
180
165
  }
181
- if (rule.domainSuffix) {
182
- compiled.domain_suffix = [...rule.domainSuffix];
166
+ if (policy.match.domainSuffix) {
167
+ compiled.domain_suffix = [...policy.match.domainSuffix];
183
168
  }
184
- if (rule.ruleSet) {
185
- const missingRuleSets = rule.ruleSet.filter((tag) => !activeRuleSetTags.has(tag));
169
+ if (policy.match.ruleSet) {
170
+ const missingRuleSets = policy.match.ruleSet.filter((tag) => !activeRuleSetTags.has(tag));
186
171
  if (missingRuleSets.length > 0) {
187
- throw new Error(`Custom rule "${name}" references missing rule set tags: ${missingRuleSets.join(", ")}.`);
172
+ throw new Error(`Intent rule "${name}" references missing rule set tags: ${missingRuleSets.join(", ")}.`);
188
173
  }
189
- compiled.rule_set = [...rule.ruleSet];
174
+ compiled.rule_set = [...policy.match.ruleSet];
190
175
  }
191
- if (rule.route) {
192
- if (!availableOutboundTags.has(rule.route)) {
193
- throw new Error(`Custom rule "${name}" references unknown outbound "${rule.route}".`);
176
+ if (policy.action.type === "route") {
177
+ if (!availableOutboundTags.has(policy.action.outboundGroup)) {
178
+ throw new Error(`Intent rule "${name}" references unknown outbound "${policy.action.outboundGroup}".`);
194
179
  }
195
180
  compiled.action = "route";
196
- compiled.outbound = rule.route;
181
+ compiled.outbound = policy.action.outboundGroup;
197
182
  return compiled;
198
183
  }
199
- if (rule.action === "reject") {
184
+ if (policy.action.type === "reject") {
200
185
  compiled.action = "reject";
201
186
  return compiled;
202
187
  }
203
- throw new Error(`Custom rule "${name}" did not resolve to a supported sing-box action.`);
188
+ throw new Error(`Intent rule "${name}" did not resolve to a supported sing-box action.`);
204
189
  }
205
190
  function toTrojanOutbound(node) {
206
191
  const tls = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/compiler/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/compiler/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { BuilderConfig } from "../../config/schema.js";
2
+ import type { DNSPlan } from "../../domain/dns-plan.js";
3
+ import type { IntentIR } from "../../domain/intent.js";
4
+ export declare function buildDnsPlan(input: {
5
+ readonly config: BuilderConfig;
6
+ readonly intent: IntentIR;
7
+ readonly activeRuleSetTags: readonly string[];
8
+ }): DNSPlan;
9
+ export declare function compileDnsPlan(plan: DNSPlan): Record<string, unknown>;
10
+ export declare function getDefaultDnsServerTag(): string;
@@ -0,0 +1,104 @@
1
+ const defaultLocalServerTag = "dns-local-default";
2
+ const defaultProxyServerTag = "dns-remote-primary";
3
+ const defaultDirectServerTag = "dns-remote-cn";
4
+ export function buildDnsPlan(input) {
5
+ const servers = [
6
+ {
7
+ type: "local",
8
+ tag: defaultLocalServerTag,
9
+ preferGo: true,
10
+ },
11
+ {
12
+ type: "tcp",
13
+ tag: defaultProxyServerTag,
14
+ server: "1.1.1.1",
15
+ serverPort: 53,
16
+ },
17
+ {
18
+ type: "tcp",
19
+ tag: defaultDirectServerTag,
20
+ server: "223.5.5.5",
21
+ serverPort: 53,
22
+ },
23
+ ];
24
+ const nameserverPolicy = [];
25
+ const activeRuleSetTags = new Set(input.activeRuleSetTags);
26
+ if (activeRuleSetTags.has("geosite-cn") || activeRuleSetTags.has("geoip-cn")) {
27
+ nameserverPolicy.push({
28
+ match: {
29
+ ruleSet: [...["geosite-cn", "geoip-cn"].filter((tag) => activeRuleSetTags.has(tag))],
30
+ },
31
+ resolvers: [defaultDirectServerTag],
32
+ });
33
+ }
34
+ for (const policy of input.intent.sitePolicies) {
35
+ const hasDnsRelevantMatch = policy.match.domain || policy.match.domainSuffix || policy.match.ruleSet;
36
+ if (!hasDnsRelevantMatch) {
37
+ continue;
38
+ }
39
+ nameserverPolicy.push({
40
+ match: {
41
+ ...(policy.match.domain ? { domain: policy.match.domain } : {}),
42
+ ...(policy.match.domainSuffix ? { domainSuffix: policy.match.domainSuffix } : {}),
43
+ ...(policy.match.ruleSet
44
+ ? {
45
+ ruleSet: policy.match.ruleSet.filter((tag) => activeRuleSetTags.has(tag)),
46
+ }
47
+ : {}),
48
+ },
49
+ resolvers: policy.action.type === "route" && policy.action.outboundGroup === "direct"
50
+ ? [defaultDirectServerTag]
51
+ : [defaultProxyServerTag],
52
+ });
53
+ }
54
+ for (const override of input.intent.localOverrides.dnsPolicy ?? []) {
55
+ nameserverPolicy.push({
56
+ match: {
57
+ domainSuffix: override.domainSuffix,
58
+ },
59
+ resolvers: override.server,
60
+ });
61
+ }
62
+ return {
63
+ mode: "real-ip",
64
+ defaultResolvers: [defaultLocalServerTag],
65
+ directResolvers: [defaultDirectServerTag],
66
+ proxyResolvers: [defaultProxyServerTag],
67
+ fallbackResolvers: [defaultProxyServerTag],
68
+ servers,
69
+ nameserverPolicy,
70
+ fakeIpFilter: [],
71
+ ...(input.intent.localOverrides.hosts
72
+ ? {
73
+ localHosts: input.intent.localOverrides.hosts,
74
+ }
75
+ : {}),
76
+ strategy: input.intent.globals.preferIPv6 ? "prefer_ipv6" : "prefer_ipv4",
77
+ };
78
+ }
79
+ export function compileDnsPlan(plan) {
80
+ return {
81
+ servers: plan.servers.map((server) => ({
82
+ type: server.type,
83
+ tag: server.tag,
84
+ ...(server.preferGo ? { prefer_go: true } : {}),
85
+ ...(server.server ? { server: server.server } : {}),
86
+ ...(server.serverPort ? { server_port: server.serverPort } : {}),
87
+ })),
88
+ rules: plan.nameserverPolicy.map((rule) => ({
89
+ ...(rule.match.domain ? { domain: [...rule.match.domain] } : {}),
90
+ ...(rule.match.domainSuffix ? { domain_suffix: [...rule.match.domainSuffix] } : {}),
91
+ ...(rule.match.ruleSet && rule.match.ruleSet.length > 0
92
+ ? { rule_set: [...rule.match.ruleSet] }
93
+ : {}),
94
+ server: rule.resolvers[0],
95
+ })),
96
+ final: plan.defaultResolvers[0],
97
+ strategy: plan.strategy,
98
+ ...(plan.localHosts ? { hosts: plan.localHosts } : {}),
99
+ };
100
+ }
101
+ export function getDefaultDnsServerTag() {
102
+ return defaultLocalServerTag;
103
+ }
104
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/dns-plan/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { IntentIR } from "../../domain/intent.js";
2
+ import type { NaturalLanguagePlan } from "../natural-language/index.js";
3
+ import type { LoadedUserRules } from "../user-rules/index.js";
4
+ export declare function createEmptyIntent(): IntentIR;
5
+ export declare function intentFromUserRules(userRules: LoadedUserRules): IntentIR;
6
+ export declare function intentFromNaturalLanguagePlan(plan: NaturalLanguagePlan): IntentIR;
7
+ export declare function mergeIntents(intents: readonly IntentIR[]): IntentIR;
@@ -0,0 +1,101 @@
1
+ export function createEmptyIntent() {
2
+ return {
3
+ version: "v1",
4
+ globals: {},
5
+ sitePolicies: [],
6
+ processPolicies: [],
7
+ localOverrides: {},
8
+ };
9
+ }
10
+ export function intentFromUserRules(userRules) {
11
+ return {
12
+ ...createEmptyIntent(),
13
+ sitePolicies: [
14
+ ...userRules.beforeBuiltins.map((rule) => sitePolicyFromRule(rule, "beforeBuiltins")),
15
+ ...userRules.afterBuiltins.map((rule) => sitePolicyFromRule(rule, "afterBuiltins")),
16
+ ],
17
+ };
18
+ }
19
+ export function intentFromNaturalLanguagePlan(plan) {
20
+ const processPolicies = [];
21
+ if (plan.groupDefaults?.processProxy?.defaultTarget) {
22
+ processPolicies.push({
23
+ name: "Prompt-directed proxifier routing",
24
+ match: {
25
+ processName: ["Antigravity", "Antigravity.app", "Cursor", "cursor", "claude", "gemini"],
26
+ },
27
+ inbound: "in-proxifier",
28
+ outboundGroup: plan.groupDefaults.processProxy.defaultTarget,
29
+ verify: {
30
+ expectProxyHit: true,
31
+ },
32
+ });
33
+ }
34
+ return {
35
+ version: "v1",
36
+ globals: {
37
+ ...(plan.scheduleIntervalMinutes
38
+ ? { updateIntervalMinutes: plan.scheduleIntervalMinutes }
39
+ : {}),
40
+ },
41
+ sitePolicies: [
42
+ ...plan.beforeBuiltins.map((rule) => sitePolicyFromRule(rule, "beforeBuiltins")),
43
+ ...plan.afterBuiltins.map((rule) => sitePolicyFromRule(rule, "afterBuiltins")),
44
+ ],
45
+ processPolicies,
46
+ localOverrides: {},
47
+ };
48
+ }
49
+ export function mergeIntents(intents) {
50
+ return intents.reduce((merged, current) => ({
51
+ version: "v1",
52
+ globals: {
53
+ ...merged.globals,
54
+ ...current.globals,
55
+ },
56
+ sitePolicies: [...merged.sitePolicies, ...current.sitePolicies],
57
+ processPolicies: [...merged.processPolicies, ...current.processPolicies],
58
+ localOverrides: {
59
+ ...(merged.localOverrides.hosts || current.localOverrides.hosts
60
+ ? {
61
+ hosts: {
62
+ ...(merged.localOverrides.hosts ?? {}),
63
+ ...(current.localOverrides.hosts ?? {}),
64
+ },
65
+ }
66
+ : {}),
67
+ ...(merged.localOverrides.dnsPolicy || current.localOverrides.dnsPolicy
68
+ ? {
69
+ dnsPolicy: [
70
+ ...(merged.localOverrides.dnsPolicy ?? []),
71
+ ...(current.localOverrides.dnsPolicy ?? []),
72
+ ],
73
+ }
74
+ : {}),
75
+ },
76
+ }), createEmptyIntent());
77
+ }
78
+ function sitePolicyFromRule(rule, placement) {
79
+ return {
80
+ placement,
81
+ ...(rule.name ? { name: rule.name } : {}),
82
+ match: {
83
+ ...(rule.inbound ? { inbound: rule.inbound } : {}),
84
+ ...(rule.protocol ? { protocol: rule.protocol } : {}),
85
+ ...(rule.network ? { network: rule.network } : {}),
86
+ ...(rule.port ? { port: rule.port } : {}),
87
+ ...(rule.domain ? { domain: rule.domain } : {}),
88
+ ...(rule.domainSuffix ? { domainSuffix: rule.domainSuffix } : {}),
89
+ ...(rule.ruleSet ? { ruleSet: rule.ruleSet } : {}),
90
+ },
91
+ action: rule.route
92
+ ? {
93
+ type: "route",
94
+ outboundGroup: rule.route,
95
+ }
96
+ : {
97
+ type: "reject",
98
+ },
99
+ };
100
+ }
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/intent/index.ts"],"names":[],"mappings":"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"}