miaw-core 1.9.0 → 1.10.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/.env.example +59 -0
- package/CHANGELOG.md +150 -0
- package/README.md +13 -1
- package/bin/miaw-cli.ts +50 -4
- package/dist/cli/commands/commands-index.d.ts +1 -0
- package/dist/cli/commands/commands-index.d.ts.map +1 -1
- package/dist/cli/commands/commands-index.js +1 -0
- package/dist/cli/commands/commands-index.js.map +1 -1
- package/dist/cli/commands/index.d.ts +6 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +45 -2
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/proxy.d.ts +59 -0
- package/dist/cli/commands/proxy.d.ts.map +1 -0
- package/dist/cli/commands/proxy.js +418 -0
- package/dist/cli/commands/proxy.js.map +1 -0
- package/dist/cli/repl.d.ts +4 -0
- package/dist/cli/repl.d.ts.map +1 -1
- package/dist/cli/repl.js +43 -3
- package/dist/cli/repl.js.map +1 -1
- package/dist/cli/utils/proxy-config.d.ts +46 -0
- package/dist/cli/utils/proxy-config.d.ts.map +1 -0
- package/dist/cli/utils/proxy-config.js +93 -0
- package/dist/cli/utils/proxy-config.js.map +1 -0
- package/dist/client/MiawClient.d.ts +8 -0
- package/dist/client/MiawClient.d.ts.map +1 -1
- package/dist/client/MiawClient.js +71 -10
- package/dist/client/MiawClient.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +22 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/proxy-agent.d.ts +47 -11
- package/dist/utils/proxy-agent.d.ts.map +1 -1
- package/dist/utils/proxy-agent.js +65 -12
- package/dist/utils/proxy-agent.js.map +1 -1
- package/dist/utils/proxy-loader.d.ts +114 -0
- package/dist/utils/proxy-loader.d.ts.map +1 -0
- package/dist/utils/proxy-loader.js +379 -0
- package/dist/utils/proxy-loader.js.map +1 -0
- package/dist/utils/proxy-rotator.d.ts +126 -0
- package/dist/utils/proxy-rotator.d.ts.map +1 -0
- package/dist/utils/proxy-rotator.js +0 -0
- package/dist/utils/proxy-rotator.js.map +1 -0
- package/docs/BAILEYS_VS_MIAW_COMPARISON.md +8 -6
- package/docs/CLI.md +158 -1
- package/docs/DEFERRED_FEATURES.md +67 -0
- package/docs/DEPLOYMENT_PROXY.md +145 -0
- package/docs/PROXY.md +617 -0
- package/docs/USAGE.md +34 -63
- package/package.json +3 -2
- package/docs/PROXY_SUPPORT_PLAN.md +0 -1442
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proxy Commands
|
|
3
|
+
*
|
|
4
|
+
* Inspect and test proxies. None of these commands require a WhatsApp
|
|
5
|
+
* connection - they probe the proxy directly, which is the point: you can
|
|
6
|
+
* validate a proxy before spending a pairing attempt on it.
|
|
7
|
+
*/
|
|
8
|
+
export interface ProxyProbeResult {
|
|
9
|
+
/** Credential-masked. */
|
|
10
|
+
url: string;
|
|
11
|
+
protocol: string;
|
|
12
|
+
ok: boolean;
|
|
13
|
+
latencyMs: number | null;
|
|
14
|
+
status: number | null;
|
|
15
|
+
/**
|
|
16
|
+
* Whether media *downloads* would also go through this proxy.
|
|
17
|
+
*
|
|
18
|
+
* Computed, not probed. Uploads are proxied for every supported protocol
|
|
19
|
+
* (they use a Node http.Agent). Downloads go through native fetch, which
|
|
20
|
+
* needs an undici Dispatcher, and undici has no SOCKS transport - so SOCKS
|
|
21
|
+
* downloads fall back to a direct connection.
|
|
22
|
+
*/
|
|
23
|
+
downloadProxied: boolean;
|
|
24
|
+
exitIp: string | null;
|
|
25
|
+
error: {
|
|
26
|
+
code: string | null;
|
|
27
|
+
message: string;
|
|
28
|
+
} | null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Tests one proxy's reachability and latency.
|
|
32
|
+
*
|
|
33
|
+
* Never throws - failures come back as `ok: false` with a scrubbed error.
|
|
34
|
+
*/
|
|
35
|
+
export declare function probeProxy(rawUrl: string, options?: {
|
|
36
|
+
timeoutMs?: number;
|
|
37
|
+
showIp?: boolean;
|
|
38
|
+
}): Promise<ProxyProbeResult>;
|
|
39
|
+
/**
|
|
40
|
+
* Shows the proxies parsed out of a proxy list file.
|
|
41
|
+
*/
|
|
42
|
+
export declare function cmdProxyList(proxyFile: string | undefined, jsonOutput: boolean): Promise<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Tests a single proxy.
|
|
45
|
+
*/
|
|
46
|
+
export declare function cmdProxyTest(url: string | undefined, options: {
|
|
47
|
+
showIp?: boolean;
|
|
48
|
+
timeoutMs?: number;
|
|
49
|
+
}, jsonOutput: boolean): Promise<boolean>;
|
|
50
|
+
/**
|
|
51
|
+
* Tests every proxy in a list file.
|
|
52
|
+
*
|
|
53
|
+
* Returns false if any proxy fails, so it can gate a deploy.
|
|
54
|
+
*/
|
|
55
|
+
export declare function cmdProxyTestAll(proxyFile: string | undefined, options: {
|
|
56
|
+
showIp?: boolean;
|
|
57
|
+
timeoutMs?: number;
|
|
58
|
+
}, jsonOutput: boolean): Promise<boolean>;
|
|
59
|
+
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/proxy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;;;;;OAOG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACxD;AAgFD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACrD,OAAO,CAAC,gBAAgB,CAAC,CAmH3B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,OAAO,CAAC,CA0HlB;AA2BD;;GAEG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EACjD,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAmBD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EACjD,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,OAAO,CAAC,CA+FlB"}
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proxy Commands
|
|
3
|
+
*
|
|
4
|
+
* Inspect and test proxies. None of these commands require a WhatsApp
|
|
5
|
+
* connection - they probe the proxy directly, which is the point: you can
|
|
6
|
+
* validate a proxy before spending a pairing attempt on it.
|
|
7
|
+
*/
|
|
8
|
+
import * as https from "node:https";
|
|
9
|
+
import { performance } from "node:perf_hooks";
|
|
10
|
+
import { createProxyAgents, maskProxyUrl, validateProxyConfig, } from "../../utils/proxy-agent.js";
|
|
11
|
+
import { loadProxyList } from "../../utils/proxy-loader.js";
|
|
12
|
+
import { formatTable } from "../utils/formatter.js";
|
|
13
|
+
import { getErrorMessage } from "../../utils/type-guards.js";
|
|
14
|
+
/** What we probe. Any HTTP response proves the tunnel works. */
|
|
15
|
+
const TEST_TARGET = "https://web.whatsapp.com/";
|
|
16
|
+
/** Used only by --ip, and only when the user asks for it. */
|
|
17
|
+
const IP_ECHO_TARGET = "https://api.ipify.org";
|
|
18
|
+
const DEFAULT_TIMEOUT_MS = 10000;
|
|
19
|
+
/** Concurrency for test-all: enough to be fast, low enough not to trip provider rate limits. */
|
|
20
|
+
const TEST_ALL_CONCURRENCY = 5;
|
|
21
|
+
/**
|
|
22
|
+
* Strips a proxy URL's password out of arbitrary error text.
|
|
23
|
+
*
|
|
24
|
+
* The proxy-agent libraries sometimes embed the full URL in their errors.
|
|
25
|
+
*/
|
|
26
|
+
function scrub(message, rawUrl) {
|
|
27
|
+
let password = "";
|
|
28
|
+
try {
|
|
29
|
+
password = new URL(rawUrl).password;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
/* not parseable, nothing to scrub */
|
|
33
|
+
}
|
|
34
|
+
let scrubbed = message.split(rawUrl).join(maskProxyUrl(rawUrl));
|
|
35
|
+
if (password) {
|
|
36
|
+
scrubbed = scrubbed.split(password).join("****");
|
|
37
|
+
}
|
|
38
|
+
return scrubbed;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Issues one request through a proxy agent and resolves with the status code.
|
|
42
|
+
*
|
|
43
|
+
* Uses https.request rather than fetch + dispatcher on purpose. The undici
|
|
44
|
+
* dispatcher path only supports HTTP/HTTPS proxies, and it exercises the
|
|
45
|
+
* media transport rather than the one that matters. The wsAgent is an
|
|
46
|
+
* http.Agent subclass for all four protocols, so this single code path
|
|
47
|
+
* covers SOCKS too - and it is the exact agent Baileys will use for the
|
|
48
|
+
* WebSocket.
|
|
49
|
+
*/
|
|
50
|
+
function requestThrough(target, agent, timeoutMs, method = "HEAD") {
|
|
51
|
+
let settle = () => { };
|
|
52
|
+
const attempt = new Promise((resolve, reject) => {
|
|
53
|
+
const req = https.request(target, { method, agent }, (res) => {
|
|
54
|
+
const chunks = [];
|
|
55
|
+
res.on("data", (chunk) => {
|
|
56
|
+
if (method === "GET")
|
|
57
|
+
chunks.push(chunk);
|
|
58
|
+
});
|
|
59
|
+
res.on("end", () => resolve({
|
|
60
|
+
status: res.statusCode ?? 0,
|
|
61
|
+
body: Buffer.concat(chunks).toString("utf-8").trim(),
|
|
62
|
+
}));
|
|
63
|
+
res.on("error", reject);
|
|
64
|
+
});
|
|
65
|
+
req.setTimeout(timeoutMs, () => {
|
|
66
|
+
req.destroy(new Error(`Socket timed out after ${timeoutMs}ms`));
|
|
67
|
+
});
|
|
68
|
+
req.on("error", reject);
|
|
69
|
+
settle = () => req.destroy();
|
|
70
|
+
req.end();
|
|
71
|
+
});
|
|
72
|
+
// `req.setTimeout` only covers socket inactivity, and `req.destroy()` cannot
|
|
73
|
+
// abort a TCP connect still in flight inside the proxy agent - a blackholed
|
|
74
|
+
// proxy host would otherwise hang for the OS connect timeout (~75s) no matter
|
|
75
|
+
// what --timeout said. Racing guarantees the caller is released on schedule;
|
|
76
|
+
// the caller then destroys the agent, which tears down the lingering socket.
|
|
77
|
+
const deadline = new Promise((_, reject) => {
|
|
78
|
+
const timer = setTimeout(() => {
|
|
79
|
+
settle();
|
|
80
|
+
reject(new Error(`Timed out after ${timeoutMs}ms`));
|
|
81
|
+
}, timeoutMs);
|
|
82
|
+
timer.unref?.();
|
|
83
|
+
});
|
|
84
|
+
return Promise.race([attempt, deadline]);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Tests one proxy's reachability and latency.
|
|
88
|
+
*
|
|
89
|
+
* Never throws - failures come back as `ok: false` with a scrubbed error.
|
|
90
|
+
*/
|
|
91
|
+
export async function probeProxy(rawUrl, options = {}) {
|
|
92
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
93
|
+
const masked = maskProxyUrl(rawUrl);
|
|
94
|
+
// Validate before opening anything - never dial ftp://.
|
|
95
|
+
if (!validateProxyConfig(rawUrl)) {
|
|
96
|
+
let protocol = "unknown";
|
|
97
|
+
try {
|
|
98
|
+
protocol = new URL(rawUrl).protocol.replace(":", "");
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
/* keep "unknown" */
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
url: masked,
|
|
105
|
+
protocol,
|
|
106
|
+
ok: false,
|
|
107
|
+
latencyMs: null,
|
|
108
|
+
status: null,
|
|
109
|
+
downloadProxied: false,
|
|
110
|
+
exitIp: null,
|
|
111
|
+
error: {
|
|
112
|
+
code: "EPROTONOSUPPORT",
|
|
113
|
+
message: "Unsupported proxy protocol. Supported: http, https, socks4, socks4a, socks5, socks5h",
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
const protocol = new URL(rawUrl).protocol.replace(":", "");
|
|
118
|
+
const downloadProxied = protocol === "http" || protocol === "https";
|
|
119
|
+
let agent;
|
|
120
|
+
try {
|
|
121
|
+
({ wsAgent: agent } = await createProxyAgents(rawUrl));
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
return {
|
|
125
|
+
url: masked,
|
|
126
|
+
protocol,
|
|
127
|
+
ok: false,
|
|
128
|
+
latencyMs: null,
|
|
129
|
+
status: null,
|
|
130
|
+
downloadProxied,
|
|
131
|
+
exitIp: null,
|
|
132
|
+
error: { code: null, message: scrub(getErrorMessage(error), rawUrl) },
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
const start = performance.now();
|
|
136
|
+
try {
|
|
137
|
+
const { status } = await requestThrough(TEST_TARGET, agent, timeoutMs);
|
|
138
|
+
const latencyMs = Math.round(performance.now() - start);
|
|
139
|
+
// 407 comes from the PROXY, not the target: the tunnel was refused, so no
|
|
140
|
+
// traffic ever reached WhatsApp. Reporting this as reachable would make
|
|
141
|
+
// `proxy test-all` green-light a list with bad credentials - exactly the
|
|
142
|
+
// pre-flight check it exists to provide.
|
|
143
|
+
if (status === 407) {
|
|
144
|
+
return {
|
|
145
|
+
url: masked,
|
|
146
|
+
protocol,
|
|
147
|
+
ok: false,
|
|
148
|
+
latencyMs,
|
|
149
|
+
status,
|
|
150
|
+
downloadProxied,
|
|
151
|
+
exitIp: null,
|
|
152
|
+
error: {
|
|
153
|
+
code: "EPROXYAUTH",
|
|
154
|
+
message: "407 Proxy Authentication Required - the proxy rejected these credentials",
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
let exitIp = null;
|
|
159
|
+
if (options.showIp) {
|
|
160
|
+
try {
|
|
161
|
+
const echo = await requestThrough(IP_ECHO_TARGET, agent, timeoutMs, "GET");
|
|
162
|
+
exitIp = echo.body || null;
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
exitIp = null;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// Any HTTP status means the CONNECT tunnel or SOCKS handshake completed,
|
|
169
|
+
// which is what we set out to measure. Whether WhatsApp likes the IP is
|
|
170
|
+
// a separate question this probe cannot answer.
|
|
171
|
+
return {
|
|
172
|
+
url: masked,
|
|
173
|
+
protocol,
|
|
174
|
+
ok: true,
|
|
175
|
+
latencyMs,
|
|
176
|
+
status,
|
|
177
|
+
downloadProxied,
|
|
178
|
+
exitIp,
|
|
179
|
+
error: null,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
const code = error && typeof error === "object" && "code" in error
|
|
184
|
+
? String(error.code)
|
|
185
|
+
: null;
|
|
186
|
+
return {
|
|
187
|
+
url: masked,
|
|
188
|
+
protocol,
|
|
189
|
+
ok: false,
|
|
190
|
+
latencyMs: null,
|
|
191
|
+
status: null,
|
|
192
|
+
downloadProxied,
|
|
193
|
+
exitIp: null,
|
|
194
|
+
error: { code, message: scrub(getErrorMessage(error), rawUrl) },
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
finally {
|
|
198
|
+
// Mandatory: a lingering agent keeps sockets open and the CLI never exits.
|
|
199
|
+
agent?.destroy();
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Shows the proxies parsed out of a proxy list file.
|
|
204
|
+
*/
|
|
205
|
+
export async function cmdProxyList(proxyFile, jsonOutput) {
|
|
206
|
+
if (!proxyFile) {
|
|
207
|
+
console.log("❌ No proxy file configured.");
|
|
208
|
+
console.log(" Pass --proxy-file <path> or set MIAW_PROXY_FILE in your environment.");
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
const errors = [];
|
|
212
|
+
let entries;
|
|
213
|
+
try {
|
|
214
|
+
// Non-strict so one bad line doesn't hide the rest of the file.
|
|
215
|
+
entries = await loadProxyList(proxyFile, {
|
|
216
|
+
strict: false,
|
|
217
|
+
onInvalid: (info) => errors.push(info),
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
console.log(`❌ ${getErrorMessage(error)}`);
|
|
222
|
+
return false;
|
|
223
|
+
}
|
|
224
|
+
const format = proxyFile.toLowerCase().endsWith(".json") ? "json" : "txt";
|
|
225
|
+
const byProtocol = {};
|
|
226
|
+
const rows = entries.map((entry, index) => {
|
|
227
|
+
const parsed = new URL(entry.url);
|
|
228
|
+
const protocol = parsed.protocol.replace(":", "");
|
|
229
|
+
byProtocol[protocol] = (byProtocol[protocol] ?? 0) + 1;
|
|
230
|
+
return {
|
|
231
|
+
index,
|
|
232
|
+
url: maskProxyUrl(entry),
|
|
233
|
+
protocol,
|
|
234
|
+
host: parsed.hostname,
|
|
235
|
+
port: Number(parsed.port) || null,
|
|
236
|
+
hasAuth: Boolean(parsed.username || entry.username),
|
|
237
|
+
weight: entry.weight ?? 1,
|
|
238
|
+
label: entry.label ?? null,
|
|
239
|
+
valid: true,
|
|
240
|
+
downloadProxied: protocol === "http" || protocol === "https",
|
|
241
|
+
};
|
|
242
|
+
});
|
|
243
|
+
if (jsonOutput) {
|
|
244
|
+
console.log(JSON.stringify({
|
|
245
|
+
file: proxyFile,
|
|
246
|
+
format,
|
|
247
|
+
count: rows.length,
|
|
248
|
+
valid: rows.length,
|
|
249
|
+
invalid: errors.length,
|
|
250
|
+
byProtocol,
|
|
251
|
+
proxies: rows,
|
|
252
|
+
errors: errors.map((e) => ({
|
|
253
|
+
line: e.line,
|
|
254
|
+
raw: e.masked,
|
|
255
|
+
error: e.reason,
|
|
256
|
+
})),
|
|
257
|
+
}, null, 2));
|
|
258
|
+
return true;
|
|
259
|
+
}
|
|
260
|
+
console.log(`\n📄 ${proxyFile} (${format})\n`);
|
|
261
|
+
if (rows.length > 0) {
|
|
262
|
+
console.log(formatTable(rows.map((r) => ({
|
|
263
|
+
...r,
|
|
264
|
+
auth: r.hasAuth ? "Yes" : "No",
|
|
265
|
+
media: r.downloadProxied ? "Proxied" : "DL direct",
|
|
266
|
+
label: r.label ?? "-",
|
|
267
|
+
})), [
|
|
268
|
+
{ key: "index", label: "#", width: 5 },
|
|
269
|
+
{ key: "url", label: "Proxy", width: 44 },
|
|
270
|
+
{ key: "protocol", label: "Protocol", width: 11 },
|
|
271
|
+
{ key: "auth", label: "Auth", width: 7 },
|
|
272
|
+
{ key: "weight", label: "Weight", width: 9 },
|
|
273
|
+
{ key: "media", label: "Media", width: 10 },
|
|
274
|
+
{ key: "label", label: "Label", width: 12 },
|
|
275
|
+
]));
|
|
276
|
+
}
|
|
277
|
+
if (errors.length > 0) {
|
|
278
|
+
console.log(`\n⚠️ ${errors.length} invalid entr${errors.length === 1 ? "y" : "ies"} skipped:\n`);
|
|
279
|
+
console.log(formatTable(errors.map((e) => ({ line: e.line, raw: e.masked, error: e.reason })), [
|
|
280
|
+
{ key: "line", label: "Line", width: 8 },
|
|
281
|
+
{ key: "raw", label: "Entry", width: 40 },
|
|
282
|
+
{ key: "error", label: "Reason", width: 40 },
|
|
283
|
+
]));
|
|
284
|
+
}
|
|
285
|
+
const protocols = Object.entries(byProtocol)
|
|
286
|
+
.map(([name, count]) => `${count} ${name}`)
|
|
287
|
+
.join(", ");
|
|
288
|
+
console.log(`\n✅ ${rows.length} ${rows.length === 1 ? "proxy" : "proxies"} loaded${protocols ? ` (${protocols})` : ""}`);
|
|
289
|
+
const socksCount = rows.filter((r) => !r.downloadProxied).length;
|
|
290
|
+
if (socksCount > 0) {
|
|
291
|
+
console.log(`⚠️ ${socksCount} SOCKS prox${socksCount === 1 ? "y" : "ies"}: media DOWNLOADS use a direct connection (uploads are proxied; see docs/PROXY.md)`);
|
|
292
|
+
}
|
|
293
|
+
return true;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Renders one probe result in human form.
|
|
297
|
+
*/
|
|
298
|
+
function printProbe(result) {
|
|
299
|
+
if (result.ok) {
|
|
300
|
+
console.log(`✅ ${result.url}`);
|
|
301
|
+
console.log(` Protocol: ${result.protocol}`);
|
|
302
|
+
console.log(` Latency: ${result.latencyMs}ms (HTTP ${result.status})`);
|
|
303
|
+
if (result.exitIp) {
|
|
304
|
+
console.log(` Exit IP: ${result.exitIp}`);
|
|
305
|
+
}
|
|
306
|
+
if (!result.downloadProxied) {
|
|
307
|
+
console.log(" ⚠️ Media DOWNLOADS will use a direct connection (undici has no SOCKS transport)");
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
console.log(`❌ ${result.url}`);
|
|
312
|
+
console.log(` Protocol: ${result.protocol}`);
|
|
313
|
+
console.log(` Error: ${result.error?.code ? `${result.error.code} - ` : ""}${result.error?.message ?? "unknown"}`);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Tests a single proxy.
|
|
318
|
+
*/
|
|
319
|
+
export async function cmdProxyTest(url, options, jsonOutput) {
|
|
320
|
+
if (!url) {
|
|
321
|
+
console.log("❌ Usage: miaw-cli proxy test <url> [--ip] [--timeout MS]");
|
|
322
|
+
console.log(" Or set a proxy with --proxy <url>.");
|
|
323
|
+
return false;
|
|
324
|
+
}
|
|
325
|
+
if (!jsonOutput) {
|
|
326
|
+
console.error(`🔍 Testing proxy via ${TEST_TARGET} ...`);
|
|
327
|
+
}
|
|
328
|
+
const result = await probeProxy(url, options);
|
|
329
|
+
if (jsonOutput) {
|
|
330
|
+
console.log(JSON.stringify({ ...result, target: TEST_TARGET }, null, 2));
|
|
331
|
+
return result.ok;
|
|
332
|
+
}
|
|
333
|
+
console.log("");
|
|
334
|
+
printProbe(result);
|
|
335
|
+
return result.ok;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Runs `probeProxy` over a list with bounded concurrency.
|
|
339
|
+
*/
|
|
340
|
+
async function probeAll(urls, options) {
|
|
341
|
+
const results = [];
|
|
342
|
+
for (let i = 0; i < urls.length; i += TEST_ALL_CONCURRENCY) {
|
|
343
|
+
const chunk = urls.slice(i, i + TEST_ALL_CONCURRENCY);
|
|
344
|
+
results.push(...(await Promise.all(chunk.map((u) => probeProxy(u, options)))));
|
|
345
|
+
}
|
|
346
|
+
return results;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Tests every proxy in a list file.
|
|
350
|
+
*
|
|
351
|
+
* Returns false if any proxy fails, so it can gate a deploy.
|
|
352
|
+
*/
|
|
353
|
+
export async function cmdProxyTestAll(proxyFile, options, jsonOutput) {
|
|
354
|
+
if (!proxyFile) {
|
|
355
|
+
console.log("❌ No proxy file configured.");
|
|
356
|
+
console.log(" Pass --proxy-file <path> or set MIAW_PROXY_FILE in your environment.");
|
|
357
|
+
return false;
|
|
358
|
+
}
|
|
359
|
+
let entries;
|
|
360
|
+
try {
|
|
361
|
+
entries = await loadProxyList(proxyFile, { strict: false });
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
console.log(`❌ ${getErrorMessage(error)}`);
|
|
365
|
+
return false;
|
|
366
|
+
}
|
|
367
|
+
if (entries.length === 0) {
|
|
368
|
+
console.log(`❌ No valid proxies found in ${proxyFile}`);
|
|
369
|
+
return false;
|
|
370
|
+
}
|
|
371
|
+
if (!jsonOutput) {
|
|
372
|
+
console.error(`🔍 Testing ${entries.length} proxies via ${TEST_TARGET} (${TEST_ALL_CONCURRENCY} at a time) ...`);
|
|
373
|
+
}
|
|
374
|
+
const results = await probeAll(entries.map((e) => e.url), options);
|
|
375
|
+
// Fastest first, failures last.
|
|
376
|
+
results.sort((a, b) => {
|
|
377
|
+
if (a.ok !== b.ok)
|
|
378
|
+
return a.ok ? -1 : 1;
|
|
379
|
+
return (a.latencyMs ?? Infinity) - (b.latencyMs ?? Infinity);
|
|
380
|
+
});
|
|
381
|
+
const okResults = results.filter((r) => r.ok);
|
|
382
|
+
const latencies = okResults
|
|
383
|
+
.map((r) => r.latencyMs ?? 0)
|
|
384
|
+
.sort((a, b) => a - b);
|
|
385
|
+
const medianLatencyMs = latencies.length > 0 ? latencies[Math.floor(latencies.length / 2)] : null;
|
|
386
|
+
if (jsonOutput) {
|
|
387
|
+
console.log(JSON.stringify({
|
|
388
|
+
file: proxyFile,
|
|
389
|
+
target: TEST_TARGET,
|
|
390
|
+
tested: results.length,
|
|
391
|
+
ok: okResults.length,
|
|
392
|
+
failed: results.length - okResults.length,
|
|
393
|
+
medianLatencyMs,
|
|
394
|
+
results,
|
|
395
|
+
}, null, 2));
|
|
396
|
+
return okResults.length === results.length;
|
|
397
|
+
}
|
|
398
|
+
console.log("");
|
|
399
|
+
console.log(formatTable(results.map((r) => ({
|
|
400
|
+
status: r.ok ? "OK" : "FAIL",
|
|
401
|
+
url: r.url,
|
|
402
|
+
protocol: r.protocol,
|
|
403
|
+
latency: r.ok ? `${r.latencyMs}ms` : "-",
|
|
404
|
+
detail: r.ok
|
|
405
|
+
? `HTTP ${r.status}${r.downloadProxied ? "" : " (dl direct)"}`
|
|
406
|
+
: (r.error?.code ?? r.error?.message ?? "unknown"),
|
|
407
|
+
})), [
|
|
408
|
+
{ key: "status", label: "Status", width: 9 },
|
|
409
|
+
{ key: "url", label: "Proxy", width: 40 },
|
|
410
|
+
{ key: "protocol", label: "Protocol", width: 11 },
|
|
411
|
+
{ key: "latency", label: "Latency", width: 10 },
|
|
412
|
+
{ key: "detail", label: "Detail", width: 30 },
|
|
413
|
+
]));
|
|
414
|
+
const failed = results.length - okResults.length;
|
|
415
|
+
console.log(`\n${failed === 0 ? "✅" : "⚠️ "} ${okResults.length}/${results.length} proxies reachable${medianLatencyMs !== null ? ` (median ${medianLatencyMs}ms)` : ""}`);
|
|
416
|
+
return failed === 0;
|
|
417
|
+
}
|
|
418
|
+
//# sourceMappingURL=proxy.js.map
|