@stanleysun233/oneproxy-cli 1.0.5 → 1.0.6

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/dist/monitor.d.ts CHANGED
@@ -1,13 +1,43 @@
1
1
  import type { CliContext } from './main.ts';
2
- type MonitorProxy = {
3
- port: number;
4
- close: () => Promise<void>;
2
+ type ProcessInfo = {
3
+ pid: number;
4
+ parentPid: number;
5
+ name: string;
6
+ };
7
+ type Endpoint = {
8
+ address: string;
9
+ port: number | null;
10
+ };
11
+ type MonitorLogEvent = {
12
+ timestamp: string;
13
+ source: 'netstat' | 'procfs' | 'lsof';
14
+ process: string;
15
+ pid: number;
16
+ protocol: 'tcp' | 'udp';
17
+ localAddress: string;
18
+ localPort: number | null;
19
+ remoteAddress: string;
20
+ remotePort: number | null;
21
+ remoteHost: string;
22
+ domain: string | null;
23
+ domainSource: null;
24
+ state: string | null;
5
25
  };
6
26
  declare function monitorLogName(executable: string, now?: Date): string;
7
- declare function startMonitorProxy(logPath: string, onActivity?: () => void): Promise<MonitorProxy>;
27
+ declare function parseEndpoint(value: string): Endpoint;
28
+ declare function parseWindowsNetstat(output: string): MonitorLogEvent[];
29
+ declare function parseWindowsProcesses(output: string): ProcessInfo[];
30
+ declare function watchedProcesses(rootPid: number, previousPids: Set<number>, processes: ProcessInfo[]): Set<number>;
31
+ declare function parseLinuxEndpoint(value: string, family: 'ipv4' | 'ipv6'): Endpoint;
32
+ declare function parseLsof(output: string): MonitorLogEvent[];
8
33
  export declare function monitorCommand(args: string[], _context: CliContext): Promise<number>;
9
34
  export declare const monitorInternals: {
10
35
  monitorLogName: typeof monitorLogName;
11
- startMonitorProxy: typeof startMonitorProxy;
36
+ parseEndpoint: typeof parseEndpoint;
37
+ parseLsof: typeof parseLsof;
38
+ parseLinuxEndpoint: typeof parseLinuxEndpoint;
39
+ parseWindowsNetstat: typeof parseWindowsNetstat;
40
+ parseWindowsProcesses: typeof parseWindowsProcesses;
41
+ watchedProcesses: typeof watchedProcesses;
12
42
  };
13
43
  export {};
package/dist/monitor.js CHANGED
@@ -1,10 +1,22 @@
1
- import { spawn } from 'node:child_process';
1
+ import { execFile, spawn } from 'node:child_process';
2
2
  import * as fs from 'node:fs/promises';
3
- import * as http from 'node:http';
4
- import * as net from 'node:net';
5
3
  import * as path from 'node:path';
6
- import { allocateLoopbackPort, closeServer, listenHttpServer, loopbackHost } from "./daemon/lifecycle.js";
4
+ import { promisify } from 'node:util';
5
+ const execFileAsync = promisify(execFile);
7
6
  const monitorIdleTimeoutSeconds = 300;
7
+ const linuxTcpStates = {
8
+ '01': 'ESTABLISHED',
9
+ '02': 'SYN_SENT',
10
+ '03': 'SYN_RECV',
11
+ '04': 'FIN_WAIT1',
12
+ '05': 'FIN_WAIT2',
13
+ '06': 'TIME_WAIT',
14
+ '07': 'CLOSE',
15
+ '08': 'CLOSE_WAIT',
16
+ '09': 'LAST_ACK',
17
+ '0A': 'LISTEN',
18
+ '0B': 'CLOSING'
19
+ };
8
20
  function monitorLogName(executable, now = new Date()) {
9
21
  const stamp = now.toISOString().replace(/[-:]/g, '').replace(/\..+$/, '').replace('T', '-');
10
22
  const app = path.basename(executable).replace(/[^a-zA-Z0-9._-]+/g, '_') || 'app';
@@ -12,168 +24,335 @@ function monitorLogName(executable, now = new Date()) {
12
24
  }
13
25
  async function appendMonitorEvent(logPath, event) {
14
26
  await fs.appendFile(logPath, `${JSON.stringify(event)}\n`, { mode: 0o600 });
15
- process.stderr.write(`onep monitor: ${event.protocol} ${event.method} ${event.host}:${event.port} ${event.status} ${event.target}\n`);
27
+ process.stderr.write(`onep monitor: ${event.process}[${event.pid}] ${event.protocol} ${event.remoteHost}:${event.remotePort ?? '*'} ${event.state ?? ''}\n`);
28
+ }
29
+ function quoteWindowsCommand(value) {
30
+ return `"${value.replace(/"/g, '""')}"`;
16
31
  }
17
- function parseConnectTarget(value) {
32
+ function spawnMonitoredCommand(executable, args) {
33
+ if (process.platform === 'win32') {
34
+ const shell = process.env.ComSpec || 'cmd.exe';
35
+ const command = ['start', '""', '/wait', quoteWindowsCommand(executable), ...args.map(quoteWindowsCommand)].join(' ');
36
+ return spawn(shell, ['/d', '/s', '/c', command], {
37
+ stdio: 'inherit',
38
+ windowsHide: false
39
+ });
40
+ }
41
+ return spawn(executable, args, { stdio: 'inherit' });
42
+ }
43
+ function parseEndpoint(value) {
44
+ if (value === '*:*' || value === '*') {
45
+ return { address: '*', port: null };
46
+ }
47
+ if (value.startsWith('[')) {
48
+ const end = value.lastIndexOf(']:');
49
+ if (end >= 0) {
50
+ const port = Number(value.slice(end + 2));
51
+ return { address: value.slice(1, end), port: Number.isInteger(port) ? port : null };
52
+ }
53
+ }
18
54
  const index = value.lastIndexOf(':');
19
- if (index <= 0) {
20
- return null;
55
+ if (index < 0) {
56
+ return { address: value, port: null };
21
57
  }
22
- const host = value.slice(0, index).replace(/^\[|\]$/g, '').toLowerCase();
23
58
  const port = Number(value.slice(index + 1));
24
- if (!host || !Number.isInteger(port) || port < 1 || port > 65535) {
25
- return null;
59
+ return {
60
+ address: value.slice(0, index),
61
+ port: Number.isInteger(port) ? port : null
62
+ };
63
+ }
64
+ function parseWindowsNetstat(output) {
65
+ const events = [];
66
+ for (const line of output.split(/\r?\n/)) {
67
+ const parts = line.trim().split(/\s+/);
68
+ const protocol = parts[0]?.toLowerCase();
69
+ if (protocol !== 'tcp' && protocol !== 'udp') {
70
+ continue;
71
+ }
72
+ const local = parseEndpoint(parts[1] ?? '');
73
+ const remote = parseEndpoint(parts[2] ?? '');
74
+ const state = protocol === 'tcp' ? parts[3] ?? null : null;
75
+ const pidText = protocol === 'tcp' ? parts[4] : parts[3];
76
+ const pid = Number(pidText);
77
+ if (!Number.isInteger(pid)) {
78
+ continue;
79
+ }
80
+ events.push(baseEvent('netstat', pid, protocol, local, remote, state));
26
81
  }
27
- return { host, port };
28
- }
29
- function parseHttpTarget(request) {
30
- const rawUrl = request.url ?? '';
31
- const hostHeader = Array.isArray(request.headers.host) ? request.headers.host[0] : request.headers.host;
32
- const url = /^[a-z][a-z0-9+.-]*:\/\//i.test(rawUrl)
33
- ? new URL(rawUrl)
34
- : new URL(rawUrl || '/', `http://${hostHeader ?? ''}`);
35
- const host = url.hostname.toLowerCase();
36
- const port = url.port ? Number(url.port) : url.protocol === 'https:' ? 443 : 80;
37
- if (!host || !Number.isInteger(port)) {
38
- return null;
82
+ return events;
83
+ }
84
+ function parseWindowsProcesses(output) {
85
+ const processes = [];
86
+ for (const line of output.split(/\r?\n/)) {
87
+ const trimmed = line.trim();
88
+ if (!trimmed || trimmed.startsWith('Node,')) {
89
+ continue;
90
+ }
91
+ const parts = trimmed.split(',');
92
+ const name = parts[1];
93
+ const parentPid = Number(parts[2]);
94
+ const pid = Number(parts[3]);
95
+ if (!name || !Number.isInteger(parentPid) || !Number.isInteger(pid)) {
96
+ continue;
97
+ }
98
+ processes.push({ name, parentPid, pid });
39
99
  }
100
+ return processes;
101
+ }
102
+ function watchedProcesses(rootPid, previousPids, processes) {
103
+ const watched = new Set([rootPid, ...previousPids]);
104
+ let changed = true;
105
+ while (changed) {
106
+ changed = false;
107
+ for (const processInfo of processes) {
108
+ if (watched.has(processInfo.parentPid) && !watched.has(processInfo.pid)) {
109
+ watched.add(processInfo.pid);
110
+ changed = true;
111
+ }
112
+ }
113
+ }
114
+ return watched;
115
+ }
116
+ async function windowsProcesses() {
117
+ const { stdout } = await execFileAsync('wmic', ['process', 'get', 'Name,ParentProcessId,ProcessId', '/format:csv'], { windowsHide: true, maxBuffer: 1024 * 1024 * 8 });
118
+ return parseWindowsProcesses(stdout);
119
+ }
120
+ async function windowsConnections() {
121
+ const { stdout } = await execFileAsync('netstat', ['-ano'], { windowsHide: true, maxBuffer: 1024 * 1024 * 16 });
122
+ return parseWindowsNetstat(stdout);
123
+ }
124
+ function baseEvent(source, pid, protocol, local, remote, state) {
40
125
  return {
41
- host,
42
- port,
43
- path: `${url.pathname}${url.search}`,
44
- target: url.toString()
126
+ timestamp: new Date().toISOString(),
127
+ source,
128
+ process: '',
129
+ pid,
130
+ protocol,
131
+ localAddress: local.address,
132
+ localPort: local.port,
133
+ remoteAddress: remote.address,
134
+ remotePort: remote.port,
135
+ remoteHost: remote.address,
136
+ domain: null,
137
+ domainSource: null,
138
+ state
45
139
  };
46
140
  }
47
- async function startMonitorProxy(logPath, onActivity) {
48
- const server = http.createServer((request, response) => {
49
- onActivity?.();
50
- void proxyHttpRequest(logPath, request, response);
51
- });
52
- server.on('connect', (request, clientSocket, head) => {
53
- onActivity?.();
54
- void proxyConnect(logPath, request, clientSocket, head);
55
- });
56
- const port = await allocateLoopbackPort();
57
- await listenHttpServer(server, port);
141
+ function eventKey(event) {
142
+ return [
143
+ event.pid,
144
+ event.protocol,
145
+ event.localAddress,
146
+ event.localPort ?? '*',
147
+ event.remoteAddress,
148
+ event.remotePort ?? '*',
149
+ event.state ?? ''
150
+ ].join('|');
151
+ }
152
+ async function sampleWindowsConnections(rootPid, trackedPids, seenEvents, logPath) {
153
+ const processes = await windowsProcesses();
154
+ const watched = watchedProcesses(rootPid, trackedPids, processes);
155
+ for (const pid of watched) {
156
+ trackedPids.add(pid);
157
+ }
158
+ const processNames = new Map(processes.map((processInfo) => [processInfo.pid, processInfo.name]));
159
+ return writeNewEvents(await windowsConnections(), watched, processNames, seenEvents, logPath);
160
+ }
161
+ async function linuxProcesses() {
162
+ const processes = [];
163
+ for (const entry of await fs.readdir('/proc')) {
164
+ const pid = Number(entry);
165
+ if (!Number.isInteger(pid)) {
166
+ continue;
167
+ }
168
+ const stat = await fs.readFile(`/proc/${pid}/stat`, 'utf8').catch(() => '');
169
+ const end = stat.lastIndexOf(')');
170
+ if (end < 0) {
171
+ continue;
172
+ }
173
+ const name = stat.slice(stat.indexOf('(') + 1, end);
174
+ const fields = stat.slice(end + 2).split(/\s+/);
175
+ const parentPid = Number(fields[1]);
176
+ if (Number.isInteger(parentPid)) {
177
+ processes.push({ pid, parentPid, name });
178
+ }
179
+ }
180
+ return processes;
181
+ }
182
+ function parseLinuxIpv4(hex) {
183
+ const parts = hex.match(/../g) ?? [];
184
+ return parts.reverse().map((part) => Number.parseInt(part, 16)).join('.');
185
+ }
186
+ function parseLinuxIpv6(hex) {
187
+ const groups = hex.match(/.{8}/g) ?? [];
188
+ return groups.map((group) => {
189
+ const bytes = group.match(/../g) ?? [];
190
+ return [
191
+ `${bytes[1] ?? '00'}${bytes[0] ?? '00'}`,
192
+ `${bytes[3] ?? '00'}${bytes[2] ?? '00'}`
193
+ ].join(':');
194
+ }).join(':').replace(/(^|:)0(:0)+(:|$)/, '::');
195
+ }
196
+ function parseLinuxEndpoint(value, family) {
197
+ const [addressHex, portHex] = value.split(':');
198
+ const port = Number.parseInt(portHex ?? '', 16);
58
199
  return {
59
- port,
60
- close: () => closeServer(server)
200
+ address: family === 'ipv4' ? parseLinuxIpv4(addressHex ?? '') : parseLinuxIpv6(addressHex ?? ''),
201
+ port: Number.isInteger(port) ? port : null
61
202
  };
62
203
  }
63
- async function proxyConnect(logPath, request, clientSocket, head) {
64
- const target = parseConnectTarget(request.url ?? '');
65
- if (!target) {
66
- clientSocket.end('HTTP/1.1 400 Bad Request\r\n\r\n');
67
- return;
68
- }
69
- const upstreamSocket = net.connect(target.port, target.host, () => {
70
- clientSocket.write('HTTP/1.1 200 Connection Established\r\n\r\n');
71
- if (head.length > 0) {
72
- upstreamSocket.write(head);
73
- }
74
- clientSocket.pipe(upstreamSocket);
75
- upstreamSocket.pipe(clientSocket);
76
- void appendMonitorEvent(logPath, {
77
- timestamp: new Date().toISOString(),
78
- protocol: 'connect',
79
- method: 'CONNECT',
80
- host: target.host,
81
- port: target.port,
82
- target: `${target.host}:${target.port}`,
83
- status: 200
84
- });
85
- });
86
- upstreamSocket.on('error', () => {
87
- void appendMonitorEvent(logPath, {
88
- timestamp: new Date().toISOString(),
89
- protocol: 'connect',
90
- method: 'CONNECT',
91
- host: target.host,
92
- port: target.port,
93
- target: `${target.host}:${target.port}`,
94
- status: 502
95
- });
96
- clientSocket.destroy();
97
- });
98
- clientSocket.on('error', () => upstreamSocket.destroy());
99
- }
100
- async function proxyHttpRequest(logPath, request, response) {
101
- const target = parseHttpTarget(request);
102
- if (!target) {
103
- response.writeHead(400);
104
- response.end();
105
- return;
106
- }
107
- const headers = { ...request.headers };
108
- delete headers['proxy-connection'];
109
- const upstreamRequest = http.request({
110
- host: target.host,
111
- port: target.port,
112
- method: request.method,
113
- path: target.path,
114
- headers
115
- }, (upstreamResponse) => {
116
- const status = upstreamResponse.statusCode ?? 502;
117
- response.writeHead(status, upstreamResponse.headers);
118
- upstreamResponse.pipe(response);
119
- upstreamResponse.once('end', () => {
120
- void appendMonitorEvent(logPath, {
121
- timestamp: new Date().toISOString(),
122
- protocol: 'http',
123
- method: request.method ?? 'GET',
124
- host: target.host,
125
- port: target.port,
126
- target: target.target,
127
- status
128
- });
129
- });
130
- });
131
- upstreamRequest.on('error', () => {
132
- response.writeHead(502);
133
- response.end();
134
- void appendMonitorEvent(logPath, {
135
- timestamp: new Date().toISOString(),
136
- protocol: 'http',
137
- method: request.method ?? 'GET',
138
- host: target.host,
139
- port: target.port,
140
- target: target.target,
141
- status: 502
142
- });
143
- });
144
- request.pipe(upstreamRequest);
204
+ async function linuxSocketInodes(pids) {
205
+ const inodes = new Map();
206
+ for (const pid of pids) {
207
+ const fdDir = `/proc/${pid}/fd`;
208
+ const entries = await fs.readdir(fdDir).catch(() => []);
209
+ for (const entry of entries) {
210
+ const target = await fs.readlink(path.join(fdDir, entry)).catch(() => '');
211
+ const match = /^socket:\[(\d+)\]$/.exec(target);
212
+ if (match) {
213
+ inodes.set(match[1], pid);
214
+ }
215
+ }
216
+ }
217
+ return inodes;
218
+ }
219
+ async function parseLinuxConnectionFile(filePath, protocol, family, inodes) {
220
+ const content = await fs.readFile(filePath, 'utf8').catch(() => '');
221
+ const events = [];
222
+ for (const line of content.split(/\r?\n/).slice(1)) {
223
+ const parts = line.trim().split(/\s+/);
224
+ if (parts.length < 10) {
225
+ continue;
226
+ }
227
+ const pid = inodes.get(parts[9]);
228
+ if (!pid) {
229
+ continue;
230
+ }
231
+ const local = parseLinuxEndpoint(parts[1], family);
232
+ const remote = parseLinuxEndpoint(parts[2], family);
233
+ const state = protocol === 'tcp' ? linuxTcpStates[(parts[3] ?? '').toUpperCase()] ?? parts[3] : null;
234
+ if ((remote.address === '0.0.0.0' || remote.address === '::') && remote.port === 0) {
235
+ continue;
236
+ }
237
+ events.push(baseEvent('procfs', pid, protocol, local, remote, state));
238
+ }
239
+ return events;
145
240
  }
146
- function monitorEnv(port) {
147
- const proxy = `http://${loopbackHost}:${port}`;
241
+ async function linuxConnections(pids) {
242
+ const inodes = await linuxSocketInodes(pids);
243
+ return [
244
+ ...await parseLinuxConnectionFile('/proc/net/tcp', 'tcp', 'ipv4', inodes),
245
+ ...await parseLinuxConnectionFile('/proc/net/udp', 'udp', 'ipv4', inodes),
246
+ ...await parseLinuxConnectionFile('/proc/net/tcp6', 'tcp', 'ipv6', inodes),
247
+ ...await parseLinuxConnectionFile('/proc/net/udp6', 'udp', 'ipv6', inodes)
248
+ ];
249
+ }
250
+ async function sampleLinuxConnections(rootPid, trackedPids, seenEvents, logPath) {
251
+ const processes = await linuxProcesses();
252
+ const watched = watchedProcesses(rootPid, trackedPids, processes);
253
+ for (const pid of watched) {
254
+ trackedPids.add(pid);
255
+ }
256
+ const processNames = new Map(processes.map((processInfo) => [processInfo.pid, processInfo.name]));
257
+ return writeNewEvents(await linuxConnections(watched), watched, processNames, seenEvents, logPath);
258
+ }
259
+ async function darwinProcesses() {
260
+ const { stdout } = await execFileAsync('ps', ['-axo', 'pid=,ppid=,comm='], { maxBuffer: 1024 * 1024 * 8 });
261
+ const processes = [];
262
+ for (const line of stdout.split(/\r?\n/)) {
263
+ const match = /^\s*(\d+)\s+(\d+)\s+(.+)$/.exec(line);
264
+ if (match) {
265
+ processes.push({ pid: Number(match[1]), parentPid: Number(match[2]), name: path.basename(match[3]) });
266
+ }
267
+ }
268
+ return processes;
269
+ }
270
+ function parseLsofEndpoint(value) {
271
+ const stateMatch = /\(([^)]+)\)$/.exec(value);
272
+ const clean = value.replace(/\s+\([^)]+\)$/, '');
273
+ const [localText, remoteText] = clean.split('->');
274
+ if (!remoteText) {
275
+ return null;
276
+ }
148
277
  return {
149
- HTTP_PROXY: proxy,
150
- HTTPS_PROXY: proxy,
151
- ALL_PROXY: proxy,
152
- http_proxy: proxy,
153
- https_proxy: proxy,
154
- all_proxy: proxy,
155
- NO_PROXY: 'localhost,127.0.0.1,::1',
156
- no_proxy: 'localhost,127.0.0.1,::1',
157
- ONEPROXY_MONITOR_ACTIVE: '1',
158
- ONEPROXY_MONITOR_PORT: String(port)
278
+ local: parseEndpoint(localText),
279
+ remote: parseEndpoint(remoteText),
280
+ state: stateMatch?.[1] ?? null
159
281
  };
160
282
  }
161
- function quoteWindowsCommand(value) {
162
- return `"${value.replace(/"/g, '""')}"`;
283
+ function parseLsof(output) {
284
+ const events = [];
285
+ for (const line of output.split(/\r?\n/).slice(1)) {
286
+ const parts = line.trim().split(/\s+/);
287
+ const pid = Number(parts[1]);
288
+ if (!Number.isInteger(pid)) {
289
+ continue;
290
+ }
291
+ const node = parts[7]?.toLowerCase();
292
+ const protocol = node === 'tcp' || node === 'udp' ? node : null;
293
+ if (!protocol) {
294
+ continue;
295
+ }
296
+ const endpoint = parseLsofEndpoint(parts.slice(8).join(' '));
297
+ if (!endpoint) {
298
+ continue;
299
+ }
300
+ const event = baseEvent('lsof', pid, protocol, endpoint.local, endpoint.remote, endpoint.state);
301
+ event.process = parts[0] ?? '';
302
+ events.push(event);
303
+ }
304
+ return events;
163
305
  }
164
- function spawnWindowsCommand(executable, args, env) {
165
- const shell = process.env.ComSpec || 'cmd.exe';
166
- const command = ['start', '""', '/wait', quoteWindowsCommand(executable), ...args.map(quoteWindowsCommand)].join(' ');
167
- return spawn(shell, ['/d', '/s', '/c', command], {
168
- stdio: 'inherit',
169
- windowsHide: false,
170
- env
171
- });
306
+ async function sampleDarwinConnections(rootPid, trackedPids, seenEvents, logPath) {
307
+ const processes = await darwinProcesses();
308
+ const watched = watchedProcesses(rootPid, trackedPids, processes);
309
+ for (const pid of watched) {
310
+ trackedPids.add(pid);
311
+ }
312
+ const { stdout } = await execFileAsync('lsof', ['-nP', '-iTCP', '-iUDP'], { maxBuffer: 1024 * 1024 * 16 });
313
+ const processNames = new Map(processes.map((processInfo) => [processInfo.pid, processInfo.name]));
314
+ return writeNewEvents(parseLsof(stdout), watched, processNames, seenEvents, logPath);
315
+ }
316
+ async function writeNewEvents(events, watched, processNames, seenEvents, logPath) {
317
+ let eventCount = 0;
318
+ for (const event of events) {
319
+ if (!watched.has(event.pid)) {
320
+ continue;
321
+ }
322
+ const key = eventKey(event);
323
+ if (seenEvents.has(key)) {
324
+ continue;
325
+ }
326
+ seenEvents.add(key);
327
+ event.process = processNames.get(event.pid) ?? (event.process || `pid-${event.pid}`);
328
+ await appendMonitorEvent(logPath, event);
329
+ eventCount += 1;
330
+ }
331
+ return eventCount;
332
+ }
333
+ function connectionSampler() {
334
+ if (process.platform === 'win32') {
335
+ return sampleWindowsConnections;
336
+ }
337
+ if (process.platform === 'linux') {
338
+ return sampleLinuxConnections;
339
+ }
340
+ if (process.platform === 'darwin') {
341
+ return sampleDarwinConnections;
342
+ }
343
+ throw Object.assign(new Error(`onep monitor does not support ${process.platform}.`), { code: 'PLATFORM_UNSUPPORTED', exitCode: 2 });
172
344
  }
173
- async function waitForMonitorIdle(lastActivity) {
174
- while (Date.now() - lastActivity() < monitorIdleTimeoutSeconds * 1000) {
175
- const remaining = monitorIdleTimeoutSeconds * 1000 - (Date.now() - lastActivity());
176
- await new Promise((resolve) => setTimeout(resolve, Math.min(remaining, 1000)));
345
+ async function waitForMonitor(rootPid, logPath, childExit) {
346
+ const trackedPids = new Set();
347
+ const seenEvents = new Set();
348
+ const sampleConnections = connectionSampler();
349
+ let lastActivity = Date.now();
350
+ while (!childExit() || Date.now() - lastActivity < monitorIdleTimeoutSeconds * 1000) {
351
+ const count = await sampleConnections(rootPid, trackedPids, seenEvents, logPath);
352
+ if (count > 0) {
353
+ lastActivity = Date.now();
354
+ }
355
+ await new Promise((resolve) => setTimeout(resolve, 1000));
177
356
  }
178
357
  }
179
358
  export async function monitorCommand(args, _context) {
@@ -183,45 +362,30 @@ export async function monitorCommand(args, _context) {
183
362
  }
184
363
  const logPath = path.resolve(process.cwd(), monitorLogName(executable));
185
364
  await fs.writeFile(logPath, '', { flag: 'a', mode: 0o600 });
186
- let lastActivity = Date.now();
187
- const proxy = await startMonitorProxy(logPath, () => {
188
- lastActivity = Date.now();
189
- });
190
365
  process.stderr.write(`onep monitor: writing ${logPath}\n`);
191
- const env = {
192
- ...process.env,
193
- ...monitorEnv(proxy.port)
194
- };
195
- const child = process.platform === 'win32'
196
- ? spawnWindowsCommand(executable, args.slice(1), env)
197
- : spawn(executable, args.slice(1), {
198
- stdio: 'inherit',
199
- env
200
- });
366
+ const child = spawnMonitoredCommand(executable, args.slice(1));
367
+ if (!child.pid) {
368
+ throw Object.assign(new Error('Unable to determine monitor launcher pid.'), { code: 'MONITOR_UNAVAILABLE' });
369
+ }
370
+ let exited = false;
201
371
  return new Promise((resolve, reject) => {
202
- child.once('error', (error) => {
203
- proxy.close().then(() => {
204
- if (error.code === 'ENOENT') {
205
- reject(Object.assign(new Error(`Command not found: ${executable}`), { code: 'COMMAND_NOT_FOUND' }));
206
- return;
207
- }
208
- reject(error);
209
- }, reject);
210
- });
211
- child.once('exit', (code, signal) => {
212
- process.stderr.write(`onep monitor: command exited, stopping after ${monitorIdleTimeoutSeconds}s without requests\n`);
213
- waitForMonitorIdle(() => lastActivity).then(() => proxy.close()).then(() => {
214
- if (signal) {
215
- resolve(1);
216
- return;
217
- }
218
- resolve(code ?? 0);
219
- }, reject);
372
+ child.once('error', reject);
373
+ child.once('exit', () => {
374
+ exited = true;
375
+ process.stderr.write(`onep monitor: command exited, stopping after ${monitorIdleTimeoutSeconds}s without new connections\n`);
220
376
  });
377
+ waitForMonitor(child.pid, logPath, () => exited).then(() => {
378
+ resolve(child.exitCode ?? 0);
379
+ }, reject);
221
380
  });
222
381
  }
223
382
  export const monitorInternals = {
224
383
  monitorLogName,
225
- startMonitorProxy
384
+ parseEndpoint,
385
+ parseLsof,
386
+ parseLinuxEndpoint,
387
+ parseWindowsNetstat,
388
+ parseWindowsProcesses,
389
+ watchedProcesses
226
390
  };
227
391
  //# sourceMappingURL=monitor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stanleysun233/oneproxy-cli",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "OneProxy CLI session proxy client",
5
5
  "type": "module",
6
6
  "bin": {