anon-pi 0.8.0 → 0.9.0
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.
- package/README.md +10 -7
- package/dist/anon-pi.d.ts +58 -3
- package/dist/anon-pi.d.ts.map +1 -1
- package/dist/anon-pi.js +89 -4
- package/dist/anon-pi.js.map +1 -1
- package/dist/cli.js +133 -31
- package/dist/cli.js.map +1 -1
- package/package.json +4 -3
- package/src/anon-pi.ts +111 -4
- package/src/cli.ts +151 -31
package/dist/cli.js
CHANGED
|
@@ -14,7 +14,7 @@ import { existsSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync
|
|
|
14
14
|
import { readSync } from 'node:fs';
|
|
15
15
|
import { spawnSync, execFileSync } from 'node:child_process';
|
|
16
16
|
import { join, dirname, resolve } from 'node:path';
|
|
17
|
-
import { AnonPiError, HELP, MODELS_FILE, SETTINGS_FILE, SETTINGS_SEED_FILE, SEED_MARKER, DEFAULT_MACHINE, envFromProcess, buildMenuChoiceList, buildMenuEntries, builtinProjectsRoot, deriveProjectUsage, globalModelsSeedPath, globalSettingsSeedPath, machineAgentDir, machineDir, machineHomeDir, machineJsonPath, machineModelsSeedPath, machineSessionsDir, mergeModelSelection, resolveModelsSeedPath, resolveSettingsSeedPath, validateName, resolveDeleteHome, resolveDeleteProject, parseConfigJson, parseLaunchArgs, isHeadlessPiArgs, anonPiVersion, parseMachineArgs, parseMachineJson, projectHostDir, resolveAnonPiHome, resolveLlm, resolveProjectsRoot, resolveProxy, resolveRunPlan, resolveRunVsStart, serializeMachineJson, serializeConfigJson, setImageWarning, keptContainerKey, DEFAULT_SOCKS_PROBE_PORTS, SOCKS5_METHOD_SELECTOR, formatProxyFindings, interpretSocks5Handshake, initImageMenu, generateModelsJson, generateModelSelection, pickLocalProviderModels, parseModelsListing, mergeModelSources, resolveHostModelsPath, LOCAL_PROVIDER_API_KEY, parseVerifyExitIp, processHint, socks5hUrl, hostPortKey, shippedDockerfilePath, shippedWebveilDockerfilePath, } from './anon-pi.js';
|
|
17
|
+
import { AnonPiError, HELP, MODELS_FILE, SETTINGS_FILE, SETTINGS_SEED_FILE, SEED_MARKER, DEFAULT_MACHINE, envFromProcess, buildMenuChoiceList, buildMenuEntries, builtinProjectsRoot, deriveProjectUsage, expandTilde, findingsFromNetcageDetect, processNoteFromNetcageDetect, resolveNetcageGraphroot, globalModelsSeedPath, globalSettingsSeedPath, machineAgentDir, machineDir, machineHomeDir, machineJsonPath, machineModelsSeedPath, machineSessionsDir, mergeModelSelection, resolveModelsSeedPath, resolveSettingsSeedPath, validateName, resolveDeleteHome, resolveDeleteProject, parseConfigJson, parseLaunchArgs, isHeadlessPiArgs, anonPiVersion, parseMachineArgs, parseMachineJson, projectHostDir, resolveAnonPiHome, resolveLlm, resolveProjectsRoot, resolveProxy, resolveRunPlan, resolveRunVsStart, serializeMachineJson, serializeConfigJson, setImageWarning, keptContainerKey, DEFAULT_SOCKS_PROBE_PORTS, SOCKS5_METHOD_SELECTOR, formatProxyFindings, interpretSocks5Handshake, initImageMenu, generateModelsJson, generateModelSelection, pickLocalProviderModels, parseModelsListing, mergeModelSources, resolveHostModelsPath, LOCAL_PROVIDER_API_KEY, parseVerifyExitIp, processHint, socks5hUrl, hostPortKey, shippedDockerfilePath, shippedWebveilDockerfilePath, } from './anon-pi.js';
|
|
18
18
|
// The netcage label anon-pi stamps its launch-identity key onto (keptContainerKey)
|
|
19
19
|
// so a `--keep` re-entry can find and `netcage start` the same kept container.
|
|
20
20
|
// netcage's `netcage.managed` label marks it a managed container; this adds the
|
|
@@ -143,7 +143,12 @@ function runLaunch(parsed) {
|
|
|
143
143
|
// The machine's image: machine.json wins, ANON_PI_IMAGE is the fallback.
|
|
144
144
|
const image = machineConf.image ?? env.image ?? '';
|
|
145
145
|
// --mount re-roots at a HOST parent; otherwise the resolved projects root.
|
|
146
|
-
|
|
146
|
+
// Expand a leading `~` + absolutize the mount path so it is a real host dir
|
|
147
|
+
// everywhere it is used (the mount, the mkdir, the intent). path.resolve
|
|
148
|
+
// alone would leave `~/x` as a literal `~` dir.
|
|
149
|
+
const mountParent = parsed.mountParent !== undefined
|
|
150
|
+
? resolve(expandTilde(parsed.mountParent, env.home))
|
|
151
|
+
: undefined;
|
|
147
152
|
const projectsRoot = resolveProjectsRoot({
|
|
148
153
|
env,
|
|
149
154
|
config,
|
|
@@ -949,23 +954,28 @@ function initProxyStep(currentProxy) {
|
|
|
949
954
|
process.stdout.write(` current: ${currentProxy}\n`);
|
|
950
955
|
}
|
|
951
956
|
process.stdout.write(' Probing common SOCKS ports (evidence only)...\n');
|
|
952
|
-
//
|
|
953
|
-
//
|
|
954
|
-
//
|
|
955
|
-
//
|
|
956
|
-
//
|
|
957
|
-
|
|
958
|
-
const
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
957
|
+
// REUSE netcage's SOCKS scanner when available: `netcage detect-proxy --json`
|
|
958
|
+
// probes the same ports + does the SOCKS5 handshake + the weak process hint,
|
|
959
|
+
// and is the same evidence engine that backs `netcage setup-default`. Falling
|
|
960
|
+
// back to anon-pi's own probe keeps init working on an older netcage (or if
|
|
961
|
+
// the verb errors). Either way the findings render through the same PURE
|
|
962
|
+
// formatter, so the honesty invariant (never label the provider) is identical.
|
|
963
|
+
const detected = detectProxyViaNetcage();
|
|
964
|
+
let findings = detected
|
|
965
|
+
? findingsFromNetcageDetect(detected)
|
|
966
|
+
: [];
|
|
967
|
+
let processNote = detected
|
|
968
|
+
? processNoteFromNetcageDetect(detected)
|
|
969
|
+
: undefined;
|
|
970
|
+
if (findings.length === 0) {
|
|
971
|
+
// Local probe fallback: TCP-open + a real SOCKS5 handshake per default
|
|
972
|
+
// port. The weak process hint is HOST-WIDE, gathered once as the note.
|
|
973
|
+
processNote = matchProcessHint(observeRunningProcesses());
|
|
974
|
+
findings = DEFAULT_SOCKS_PROBE_PORTS.map(({ port, hint }) => {
|
|
975
|
+
const { open, handshake } = probeSocks5('127.0.0.1', port);
|
|
976
|
+
return { host: '127.0.0.1', port, open, handshake, portHint: hint };
|
|
977
|
+
});
|
|
978
|
+
}
|
|
969
979
|
process.stdout.write('\n' + formatProxyFindings(findings, processNote) + '\n\n');
|
|
970
980
|
// Offer the SOCKS5-confirmed candidates as quick picks; always allow a manual
|
|
971
981
|
// host:port entry (and pre-fill the current one).
|
|
@@ -1244,7 +1254,13 @@ function initImageStep() {
|
|
|
1244
1254
|
'Pick an existing ref instead.\n');
|
|
1245
1255
|
continue;
|
|
1246
1256
|
}
|
|
1247
|
-
|
|
1257
|
+
// Fully-qualified `localhost/` tag: podman refuses an UNQUALIFIED short name
|
|
1258
|
+
// at run time ("did not resolve to an alias and no unqualified-search
|
|
1259
|
+
// registries defined"), so a locally-built image MUST carry the localhost/
|
|
1260
|
+
// prefix to be runnable by name.
|
|
1261
|
+
const tag = choice === 'basic'
|
|
1262
|
+
? 'localhost/anon-pi/pi:latest'
|
|
1263
|
+
: 'localhost/anon-pi/pi-webveil:latest';
|
|
1248
1264
|
const built = buildImage(dockerfile, tag);
|
|
1249
1265
|
if (!built) {
|
|
1250
1266
|
process.stdout.write(' Build failed; pick another option.\n');
|
|
@@ -1279,9 +1295,10 @@ function initProjectsStep(env, currentProjects) {
|
|
|
1279
1295
|
const trimmed = ans.trim();
|
|
1280
1296
|
if (trimmed === '')
|
|
1281
1297
|
return currentProjects;
|
|
1282
|
-
//
|
|
1283
|
-
//
|
|
1284
|
-
|
|
1298
|
+
// Expand a leading `~` (path.resolve does NOT — it would make a literal `~`
|
|
1299
|
+
// dir), then absolutize. Store the built-in as "unset" (undefined) so
|
|
1300
|
+
// config.json stays clean when the user just accepts the default path.
|
|
1301
|
+
const chosen = resolve(expandTilde(trimmed, env.home));
|
|
1285
1302
|
if (chosen === builtin)
|
|
1286
1303
|
return undefined;
|
|
1287
1304
|
return chosen;
|
|
@@ -1436,21 +1453,106 @@ function matchProcessHint(processes) {
|
|
|
1436
1453
|
}
|
|
1437
1454
|
return undefined;
|
|
1438
1455
|
}
|
|
1456
|
+
/** Whether `netcage <verb>` exists (probe its help; false on any spawn error). */
|
|
1457
|
+
function hasNetcageVerb(verb) {
|
|
1458
|
+
const res = spawnSync('netcage', [verb, '--help'], { stdio: 'ignore' });
|
|
1459
|
+
if (res.error)
|
|
1460
|
+
return false;
|
|
1461
|
+
// netcage prints an "unknown subcommand" error (non-zero) for a missing verb,
|
|
1462
|
+
// and help (exit 0) for a real one. Treat exit 0 as "exists".
|
|
1463
|
+
return res.status === 0;
|
|
1464
|
+
}
|
|
1465
|
+
/**
|
|
1466
|
+
* Run `netcage detect-proxy --json` and parse it, to REUSE netcage's SOCKS
|
|
1467
|
+
* scanner (probe + handshake + process hint + exit-IP verify) in `init`. Returns
|
|
1468
|
+
* the parsed result, or undefined when netcage lacks the verb / errors / emits
|
|
1469
|
+
* non-JSON — in which case init falls back to its own local probe. Best-effort;
|
|
1470
|
+
* never throws.
|
|
1471
|
+
*/
|
|
1472
|
+
function detectProxyViaNetcage() {
|
|
1473
|
+
const res = spawnSync('netcage', ['detect-proxy', '--json'], {
|
|
1474
|
+
encoding: 'utf8',
|
|
1475
|
+
timeout: 20000,
|
|
1476
|
+
});
|
|
1477
|
+
if (res.error || res.status !== 0 || !res.stdout)
|
|
1478
|
+
return undefined;
|
|
1479
|
+
try {
|
|
1480
|
+
const parsed = JSON.parse(res.stdout);
|
|
1481
|
+
return parsed && typeof parsed === 'object' ? parsed : undefined;
|
|
1482
|
+
}
|
|
1483
|
+
catch {
|
|
1484
|
+
return undefined;
|
|
1485
|
+
}
|
|
1486
|
+
}
|
|
1439
1487
|
/**
|
|
1440
|
-
* Build a shipped Dockerfile into `tag
|
|
1441
|
-
*
|
|
1442
|
-
*
|
|
1443
|
-
*
|
|
1488
|
+
* Build a shipped Dockerfile into `tag`, landing it in the SAME store
|
|
1489
|
+
* `netcage run` reads.
|
|
1490
|
+
*
|
|
1491
|
+
* Since netcage v0.7.0 that store is netcage's private podman graphroot
|
|
1492
|
+
* (`--root <graphroot>`), NOT the operator's default rootless store, so a plain
|
|
1493
|
+
* `podman build` would put the image where `netcage run` cannot see it (it would
|
|
1494
|
+
* try to pull the `localhost/…` ref and fail). We therefore:
|
|
1495
|
+
* 1. PREFER `netcage build` when netcage exposes it (future-proof: netcage owns
|
|
1496
|
+
* its store + graphroot, no path hardcoded here); else
|
|
1497
|
+
* 2. `podman build` into the default store, then `podman save | podman --root
|
|
1498
|
+
* <graphroot> load` to copy it into netcage's store (the interim workaround
|
|
1499
|
+
* until netcage ships a build/load verb).
|
|
1500
|
+
* Streams output (inherited stdio) so the user sees the build. Returns true on
|
|
1501
|
+
* success. The build CONTEXT is the Dockerfile's own directory.
|
|
1444
1502
|
*/
|
|
1445
1503
|
function buildImage(dockerfile, tag) {
|
|
1446
1504
|
const context = dirname(dockerfile);
|
|
1505
|
+
// 1) Prefer a native `netcage build` (it targets netcage's own store).
|
|
1506
|
+
if (hasNetcageVerb('build')) {
|
|
1507
|
+
process.stdout.write(` Building ${tag} via \`netcage build\`...\n`);
|
|
1508
|
+
const res = spawnSync('netcage', ['build', '-t', tag, '-f', dockerfile, context], { stdio: 'inherit' });
|
|
1509
|
+
if (res.error) {
|
|
1510
|
+
process.stderr.write(` anon-pi: failed to run netcage build: ${res.error.message}\n`);
|
|
1511
|
+
return false;
|
|
1512
|
+
}
|
|
1513
|
+
return res.status === 0;
|
|
1514
|
+
}
|
|
1515
|
+
// 2) Interim: podman build into the default store, then load into netcage's
|
|
1516
|
+
// graphroot so `netcage run` can find it.
|
|
1447
1517
|
process.stdout.write(` Building ${tag} from ${dockerfile} (podman build)...\n`);
|
|
1448
|
-
const
|
|
1449
|
-
if (
|
|
1450
|
-
process.stderr.write(` anon-pi: failed to run podman: ${
|
|
1518
|
+
const build = spawnSync('podman', ['build', '-t', tag, '-f', dockerfile, context], { stdio: 'inherit' });
|
|
1519
|
+
if (build.error) {
|
|
1520
|
+
process.stderr.write(` anon-pi: failed to run podman: ${build.error.message}. Is podman installed?\n`);
|
|
1451
1521
|
return false;
|
|
1452
1522
|
}
|
|
1453
|
-
|
|
1523
|
+
if (build.status !== 0)
|
|
1524
|
+
return false;
|
|
1525
|
+
return loadImageIntoNetcageStore(tag);
|
|
1526
|
+
}
|
|
1527
|
+
/**
|
|
1528
|
+
* Copy a locally-built image (in the default podman store) INTO netcage's
|
|
1529
|
+
* private graphroot store, so `netcage run <tag>` finds it without a pull. Uses
|
|
1530
|
+
* `podman save <tag> | podman --root <graphroot> load`. Best-effort: on failure
|
|
1531
|
+
* it warns (the image still exists in the default store; a future `netcage
|
|
1532
|
+
* build`/`load` verb removes this dance). Returns true on success.
|
|
1533
|
+
*/
|
|
1534
|
+
function loadImageIntoNetcageStore(tag) {
|
|
1535
|
+
const graphroot = resolveNetcageGraphroot(process.env);
|
|
1536
|
+
process.stdout.write(` Loading ${tag} into netcage's store (${graphroot}) so \`netcage run\` sees it...\n`);
|
|
1537
|
+
// `podman save <tag> | podman --root <graphroot> load`, via a shell so the
|
|
1538
|
+
// pipe is a single spawn (both ends inherit stderr for progress).
|
|
1539
|
+
const cmd = `podman save ${shQuote(tag)} | ` +
|
|
1540
|
+
`podman --root ${shQuote(graphroot)} load`;
|
|
1541
|
+
const res = spawnSync('sh', ['-c', cmd], {
|
|
1542
|
+
stdio: ['ignore', 'inherit', 'inherit'],
|
|
1543
|
+
});
|
|
1544
|
+
if (res.error || res.status !== 0) {
|
|
1545
|
+
process.stderr.write(` anon-pi: could not load ${tag} into netcage's store (${graphroot}).\n` +
|
|
1546
|
+
` The image is built in your default podman store, but \`netcage run\` reads\n` +
|
|
1547
|
+
` ${graphroot}. Load it by hand:\n` +
|
|
1548
|
+
` podman save ${tag} | podman --root ${graphroot} load\n`);
|
|
1549
|
+
return false;
|
|
1550
|
+
}
|
|
1551
|
+
return true;
|
|
1552
|
+
}
|
|
1553
|
+
/** Minimal POSIX single-quote shell-quoting for a token embedded in `sh -c`. */
|
|
1554
|
+
function shQuote(s) {
|
|
1555
|
+
return `'${s.replace(/'/g, `'\\''`)}'`;
|
|
1454
1556
|
}
|
|
1455
1557
|
/** List machine names (readdir of machines/), or [] if the dir is absent. */
|
|
1456
1558
|
function listMachineNames(env) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anon-pi",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Launch pi inside a netcage: anonymized web egress through a socks5h proxy, one direct hole for a local model, seeded pi config on the host.",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"keywords": [
|
|
@@ -55,9 +55,10 @@
|
|
|
55
55
|
"vitest": "^4.0.18"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
|
-
"
|
|
58
|
+
"copy-readme": "node -e \"require('fs').copyFileSync(require('path').join('..','..','README.md'),'README.md')\"",
|
|
59
|
+
"build": "pnpm copy-readme && tsc",
|
|
59
60
|
"dev": "as-soon -w src pnpm build",
|
|
60
|
-
"test": "vitest run",
|
|
61
|
+
"test": "pnpm copy-readme && vitest run",
|
|
61
62
|
"test:watch": "vitest"
|
|
62
63
|
}
|
|
63
64
|
}
|
package/src/anon-pi.ts
CHANGED
|
@@ -606,14 +606,54 @@ function nonEmpty(v: string | undefined): string | undefined {
|
|
|
606
606
|
return v && v.trim() !== '' ? v.trim() : undefined;
|
|
607
607
|
}
|
|
608
608
|
|
|
609
|
+
/**
|
|
610
|
+
* PURE: expand a leading `~` / `~/` in a user-supplied HOST path to the given
|
|
611
|
+
* home (`node:path.resolve` does NOT do this — it would produce a literal `~`
|
|
612
|
+
* directory). Only a LEADING `~` (bare or before a separator) is expanded; a `~`
|
|
613
|
+
* elsewhere is left alone. Used everywhere anon-pi takes a host path from a
|
|
614
|
+
* human (the projects root, `--mount`), so `~/dev/x` means `$HOME/dev/x`.
|
|
615
|
+
*/
|
|
616
|
+
export function expandTilde(p: string, home: string): string {
|
|
617
|
+
if (p === '~') return home;
|
|
618
|
+
if (p.startsWith('~/') || p.startsWith('~\\')) {
|
|
619
|
+
return join(home, p.slice(2));
|
|
620
|
+
}
|
|
621
|
+
return p;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
/**
|
|
625
|
+
* netcage's default podman graphroot (podman's global `--root`). Since netcage
|
|
626
|
+
* v0.7.0 (host-identity hardening, ADR-0013) EVERY netcage podman call runs
|
|
627
|
+
* against a private, username-free store at this path, NOT the operator's
|
|
628
|
+
* default rootless store. So an image anon-pi builds with a plain `podman build`
|
|
629
|
+
* lands in the WRONG store and `netcage run` cannot see it (it tries to pull the
|
|
630
|
+
* `localhost/…` ref and fails). anon-pi must place a built image into THIS store.
|
|
631
|
+
* Overridable via NETCAGE_GRAPHROOT (netcage's own test-seam env), so a caller
|
|
632
|
+
* that points netcage elsewhere stays in sync.
|
|
633
|
+
*/
|
|
634
|
+
export const NETCAGE_DEFAULT_GRAPHROOT = '/var/tmp/netcage-storage';
|
|
635
|
+
|
|
636
|
+
/**
|
|
637
|
+
* PURE: resolve netcage's podman graphroot the same way netcage does: the
|
|
638
|
+
* NETCAGE_GRAPHROOT env override when set, else the fixed default. anon-pi builds
|
|
639
|
+
* images into this store so `netcage run` finds them. This is a temporary
|
|
640
|
+
* coupling to a netcage-internal path; it goes away once netcage exposes a
|
|
641
|
+
* `build`/`load` verb (then anon-pi delegates to netcage instead).
|
|
642
|
+
*/
|
|
643
|
+
export function resolveNetcageGraphroot(
|
|
644
|
+
penv: Record<string, string | undefined>,
|
|
645
|
+
): string {
|
|
646
|
+
const p = penv.NETCAGE_GRAPHROOT;
|
|
647
|
+
return p && p.trim() !== '' ? p.trim() : NETCAGE_DEFAULT_GRAPHROOT;
|
|
648
|
+
}
|
|
649
|
+
|
|
609
650
|
/**
|
|
610
651
|
* PURE: resolve the projects root (the host dir mounted at /projects) with the
|
|
611
652
|
* decided precedence, highest first:
|
|
612
653
|
* --mount (CLI) > env ANON_PI_PROJECTS > machine.json.projects >
|
|
613
654
|
* config.json.projects > built-in <home>/projects
|
|
614
|
-
*
|
|
615
|
-
*
|
|
616
|
-
* host parent). A relative override is resolved to an absolute path.
|
|
655
|
+
* A leading `~` in any override is expanded to $HOME; a relative override is
|
|
656
|
+
* resolved to an absolute path.
|
|
617
657
|
*/
|
|
618
658
|
export function resolveProjectsRoot(args: {
|
|
619
659
|
env: AnonPiEnv;
|
|
@@ -628,7 +668,7 @@ export function resolveProjectsRoot(args: {
|
|
|
628
668
|
nonEmpty(env.projects) ??
|
|
629
669
|
nonEmpty(machine?.projects) ??
|
|
630
670
|
nonEmpty(config?.projects);
|
|
631
|
-
if (pick !== undefined) return resolve(pick);
|
|
671
|
+
if (pick !== undefined) return resolve(expandTilde(pick, env.home));
|
|
632
672
|
return builtinProjectsRoot(env);
|
|
633
673
|
}
|
|
634
674
|
|
|
@@ -2034,6 +2074,73 @@ export interface ProxyFinding {
|
|
|
2034
2074
|
processHint?: string;
|
|
2035
2075
|
}
|
|
2036
2076
|
|
|
2077
|
+
/** What `netcage detect-proxy --json` reports (the fields anon-pi consumes). */
|
|
2078
|
+
export interface NetcageDetectProxy {
|
|
2079
|
+
schemaVersion?: number;
|
|
2080
|
+
candidates?: Array<{
|
|
2081
|
+
port?: number;
|
|
2082
|
+
open?: boolean;
|
|
2083
|
+
socks5?: boolean;
|
|
2084
|
+
processHint?: string;
|
|
2085
|
+
}>;
|
|
2086
|
+
exitIP?: string;
|
|
2087
|
+
}
|
|
2088
|
+
|
|
2089
|
+
/**
|
|
2090
|
+
* PURE: map a parsed `netcage detect-proxy --json` result into anon-pi's
|
|
2091
|
+
* ProxyFinding[] (so init can REUSE netcage's SOCKS scanner instead of its own
|
|
2092
|
+
* probe, and both render through the same formatProxyFindings). The host is
|
|
2093
|
+
* 127.0.0.1 (detect-proxy probes loopback); the socks5 boolean becomes a
|
|
2094
|
+
* SocksHandshake verdict; the structural port hint is attached from
|
|
2095
|
+
* DEFAULT_SOCKS_PROBE_PORTS by port. Tolerates missing/garbage (returns []).
|
|
2096
|
+
* The per-candidate processHint is NOT copied onto each finding (it is host-wide;
|
|
2097
|
+
* the CLI passes it once as formatProxyFindings' note).
|
|
2098
|
+
*/
|
|
2099
|
+
export function findingsFromNetcageDetect(
|
|
2100
|
+
raw: NetcageDetectProxy | undefined,
|
|
2101
|
+
): ProxyFinding[] {
|
|
2102
|
+
const rows = raw?.candidates;
|
|
2103
|
+
if (!Array.isArray(rows)) return [];
|
|
2104
|
+
const hintByPort = new Map(
|
|
2105
|
+
DEFAULT_SOCKS_PROBE_PORTS.map((p) => [p.port, p.hint]),
|
|
2106
|
+
);
|
|
2107
|
+
const out: ProxyFinding[] = [];
|
|
2108
|
+
for (const c of rows) {
|
|
2109
|
+
if (!c || typeof c.port !== 'number') continue;
|
|
2110
|
+
const open = c.open === true;
|
|
2111
|
+
const handshake: SocksHandshake | undefined = !open
|
|
2112
|
+
? undefined
|
|
2113
|
+
: c.socks5 === true
|
|
2114
|
+
? {socks5: true, method: 0}
|
|
2115
|
+
: {socks5: false, reason: 'not SOCKS5'};
|
|
2116
|
+
out.push({
|
|
2117
|
+
host: '127.0.0.1',
|
|
2118
|
+
port: c.port,
|
|
2119
|
+
open,
|
|
2120
|
+
handshake,
|
|
2121
|
+
portHint: hintByPort.get(c.port),
|
|
2122
|
+
});
|
|
2123
|
+
}
|
|
2124
|
+
return out;
|
|
2125
|
+
}
|
|
2126
|
+
|
|
2127
|
+
/**
|
|
2128
|
+
* PURE: the host-wide process note from a `netcage detect-proxy --json` result:
|
|
2129
|
+
* the FIRST candidate that carries a `processHint` (they are all the same
|
|
2130
|
+
* host-wide hint). Returns undefined when none. Rendered ONCE by the CLI (not
|
|
2131
|
+
* per port), same as the local-probe path.
|
|
2132
|
+
*/
|
|
2133
|
+
export function processNoteFromNetcageDetect(
|
|
2134
|
+
raw: NetcageDetectProxy | undefined,
|
|
2135
|
+
): string | undefined {
|
|
2136
|
+
for (const c of raw?.candidates ?? []) {
|
|
2137
|
+
if (c && typeof c.processHint === 'string' && c.processHint.trim() !== '') {
|
|
2138
|
+
return c.processHint.trim();
|
|
2139
|
+
}
|
|
2140
|
+
}
|
|
2141
|
+
return undefined;
|
|
2142
|
+
}
|
|
2143
|
+
|
|
2037
2144
|
/**
|
|
2038
2145
|
* The set of substrings a findings line must NEVER contain: known exit-provider
|
|
2039
2146
|
* / VPN brand names. This is the machine-checkable half of the never-label rule
|