@jait/gateway 0.1.72 → 0.1.73

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.
@@ -5,70 +5,13 @@ import { networkInterfaces } from "node:os";
5
5
  import { createConnection } from "node:net";
6
6
  import { getLatestNetworkScan, setLatestNetworkScan } from "../tools/network-tools.js";
7
7
  import { createRequire } from "node:module";
8
+ import { scanNetwork } from "../lib/network-scan.js";
8
9
  const require = createRequire(import.meta.url);
9
10
  const { version: PKG_VERSION } = require("../../package.json");
10
11
  const execAsync = promisify(exec);
11
12
  // ---------------------------------------------------------------------------
12
13
  // Helpers
13
14
  // ---------------------------------------------------------------------------
14
- /** Derive the local subnet (e.g. "192.168.1") from active network interfaces. */
15
- function getLocalSubnets() {
16
- const ifaces = networkInterfaces();
17
- const subnets = [];
18
- for (const entries of Object.values(ifaces)) {
19
- if (!entries)
20
- continue;
21
- for (const entry of entries) {
22
- if (entry.family === "IPv4" && !entry.internal) {
23
- // Skip link-local / APIPA addresses (169.254.x.x)
24
- if (entry.address.startsWith("169.254."))
25
- continue;
26
- const parts = entry.address.split(".");
27
- subnets.push(parts.slice(0, 3).join("."));
28
- }
29
- }
30
- }
31
- return [...new Set(subnets)];
32
- }
33
- /** Parse the output of `arp -a` into a list of IP→MAC pairs. */
34
- function parseArpTable(output) {
35
- const results = [];
36
- // Matches lines like " 192.168.1.1 00-0a-95-9d-68-16 dynamic"
37
- // or "(192.168.1.1) at 00:0a:95:9d:68:16 [ether] on eth0"
38
- const lineRegex = /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+(?:at\s+)?([0-9a-fA-F]{2}[:-][0-9a-fA-F]{2}[:-][0-9a-fA-F]{2}[:-][0-9a-fA-F]{2}[:-][0-9a-fA-F]{2}[:-][0-9a-fA-F]{2})/;
39
- const IGNORED_MACS = new Set(["ff:ff:ff:ff:ff:ff", "00:00:00:00:00:00"]);
40
- for (const line of output.split("\n")) {
41
- const match = lineRegex.exec(line);
42
- if (match) {
43
- const mac = match[2].replace(/-/g, ":").toLowerCase();
44
- // Skip broadcast, null, and multicast MACs (first octet odd = multicast)
45
- if (IGNORED_MACS.has(mac))
46
- continue;
47
- const firstOctet = parseInt(mac.slice(0, 2), 16);
48
- if (firstOctet & 1)
49
- continue; // multicast bit set
50
- results.push({ ip: match[1], mac });
51
- }
52
- }
53
- return results;
54
- }
55
- /** Sleep helper. */
56
- function sleep(ms) {
57
- return new Promise((resolve) => setTimeout(resolve, ms));
58
- }
59
- /** Run tasks with bounded concurrency. */
60
- async function mapConcurrent(items, concurrency, fn) {
61
- const results = new Array(items.length);
62
- let idx = 0;
63
- const run = async () => {
64
- while (idx < items.length) {
65
- const i = idx++;
66
- results[i] = await fn(items[i]);
67
- }
68
- };
69
- await Promise.all(Array.from({ length: Math.min(concurrency, items.length) }, () => run()));
70
- return results;
71
- }
72
15
  /** TCP-connect probe to check if a single port is open. */
73
16
  function probePort(ip, port, timeoutMs = 2000) {
74
17
  return new Promise((resolve) => {
@@ -78,71 +21,6 @@ function probePort(ip, port, timeoutMs = 2000) {
78
21
  socket.once("error", () => { socket.destroy(); resolve(false); });
79
22
  });
80
23
  }
81
- /** Resolve hostname via reverse-DNS. */
82
- async function reverseResolve(ip) {
83
- try {
84
- const cmd = platform() === "win32"
85
- ? `nslookup ${ip} 2>nul`
86
- : `host ${ip} 2>/dev/null || true`;
87
- const { stdout } = await execAsync(cmd, { timeout: 3000 });
88
- // Windows: "Name: myhost.local"
89
- const winMatch = /Name:\s+(\S+)/i.exec(stdout);
90
- if (winMatch)
91
- return winMatch[1];
92
- // Linux: "1.168.192.in-addr.arpa domain name pointer myhost.local."
93
- const linMatch = /pointer\s+(\S+)/i.exec(stdout);
94
- if (linMatch)
95
- return linMatch[1].replace(/\.$/, "");
96
- return null;
97
- }
98
- catch {
99
- return null;
100
- }
101
- }
102
- /** Detect OS version via SSH banner and/or Jait gateway health endpoint. */
103
- async function detectOsVersion(ip, sshReachable, agentStatus) {
104
- if (agentStatus === "running") {
105
- try {
106
- const res = await fetch(`http://${ip}:8000/health`, { signal: AbortSignal.timeout(2000) });
107
- if (res.ok) {
108
- const health = (await res.json());
109
- if (health.osVersion)
110
- return health.osVersion;
111
- if (health.os)
112
- return health.os;
113
- }
114
- }
115
- catch { }
116
- }
117
- if (sshReachable) {
118
- try {
119
- const banner = await new Promise((resolve) => {
120
- const socket = createConnection({ host: ip, port: 22, timeout: 3000 });
121
- let data = "";
122
- socket.on("data", (chunk) => { data += chunk.toString(); socket.destroy(); resolve(data); });
123
- socket.on("timeout", () => { socket.destroy(); resolve(""); });
124
- socket.on("error", () => { socket.destroy(); resolve(""); });
125
- });
126
- if (banner) {
127
- const trimmed = banner.trim().slice(0, 200);
128
- if (/ubuntu/i.test(trimmed)) {
129
- const m = /Ubuntu[\s-]*(\S*)/i.exec(trimmed);
130
- return m ? `Ubuntu ${m[1]}` : "Ubuntu";
131
- }
132
- if (/debian/i.test(trimmed))
133
- return "Debian";
134
- if (/windows/i.test(trimmed))
135
- return "Windows";
136
- if (/raspbian/i.test(trimmed))
137
- return "Raspbian";
138
- if (trimmed.startsWith("SSH-"))
139
- return trimmed;
140
- }
141
- }
142
- catch { }
143
- }
144
- return null;
145
- }
146
24
  // ---------------------------------------------------------------------------
147
25
  // DB helpers — persist and read scanned hosts
148
26
  // ---------------------------------------------------------------------------
@@ -228,158 +106,26 @@ export function registerNetworkRoutes(app, ws, sqlite, providerRegistry) {
228
106
  app.post("/api/network/scan", async (request) => {
229
107
  const body = (request.body ?? {});
230
108
  const targetSubnet = body["subnet"];
231
- const subnets = targetSubnet ? [targetSubnet] : getLocalSubnets();
232
- if (subnets.length === 0) {
233
- return { error: "No active IPv4 subnets found" };
234
- }
235
- const start = Date.now();
236
- // 1. Collect ARP table
237
- let arpOutput = "";
109
+ const deep = body["deep"] === undefined ? true : Boolean(body["deep"]);
110
+ const includeIps = Array.isArray(body["includeIps"])
111
+ ? body["includeIps"].filter((value) => typeof value === "string")
112
+ : [];
238
113
  try {
239
- const { stdout } = await execAsync("arp -a", { timeout: 10000 });
240
- arpOutput = stdout;
241
- }
242
- catch {
243
- // ARP might not be available — continue with ping sweep
244
- }
245
- const arpEntries = parseArpTable(arpOutput);
246
- // 2. Ping sweep every detected subnet to populate ARP cache
247
- try {
248
- for (const subnet of subnets) {
249
- if (platform() === "win32") {
250
- // Split into batches of 25 to stay under cmd.exe 8191-char limit.
251
- // Run batches in parallel — each batch runs pings sequentially,
252
- // but all batches run concurrently.
253
- const BATCH = 25;
254
- const batches = [];
255
- for (let i = 1; i <= 254; i += BATCH) {
256
- const end = Math.min(i + BATCH - 1, 254);
257
- const cmds = Array.from({ length: end - i + 1 }, (_, j) => `ping -n 1 -w 500 ${subnet}.${i + j} > nul 2>&1`).join(" & ");
258
- batches.push(cmds);
259
- }
260
- await Promise.all(batches.map(cmd => execAsync(cmd, { timeout: 45000 }).catch(() => { })));
261
- }
262
- else {
263
- const pingCmd = `for i in $(seq 1 254); do ping -c 1 -W 1 ${subnet}.$i & done; wait`;
264
- await execAsync(pingCmd, { timeout: 30000, shell: "/bin/bash" }).catch(() => { });
265
- }
266
- }
267
- // Brief pause to let the OS finish updating ARP/neighbour cache
268
- await sleep(2500);
269
- // Re-read ARP table after all sweeps
270
- const { stdout } = await execAsync("arp -a", { timeout: 10000 });
271
- arpOutput = stdout;
272
- arpEntries.length = 0;
273
- arpEntries.push(...parseArpTable(stdout));
274
- }
275
- catch {
276
- // Ping sweep optional — use whatever ARP gave us
277
- }
278
- // 2b. On Windows, supplement with Get-NetNeighbor for entries ARP may miss
279
- if (platform() === "win32") {
280
- try {
281
- const { stdout: pshOutput } = await execAsync('powershell -NoProfile -Command "Get-NetNeighbor -AddressFamily IPv4 | Where-Object { $_.State -ne \'Unreachable\' -and $_.LinkLayerAddress -ne \'\' -and $_.LinkLayerAddress -ne \'00-00-00-00-00-00\' } | Select-Object IPAddress,LinkLayerAddress | ConvertTo-Csv -NoTypeInformation"', { timeout: 15000 });
282
- const existingIps = new Set(arpEntries.map(e => e.ip));
283
- for (const line of pshOutput.split("\n")) {
284
- // CSV lines: "192.168.1.1","D4-E7-5C-AB-12-34"
285
- const csvMatch = /"(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})"\s*,\s*"([0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2}-[0-9a-fA-F]{2})"/.exec(line);
286
- if (!csvMatch)
287
- continue;
288
- const ip = csvMatch[1];
289
- const mac = csvMatch[2].replace(/-/g, ":").toLowerCase();
290
- if (existingIps.has(ip))
291
- continue;
292
- const IGNORED_MACS = new Set(["ff:ff:ff:ff:ff:ff", "00:00:00:00:00:00"]);
293
- if (IGNORED_MACS.has(mac))
294
- continue;
295
- const firstOctet = parseInt(mac.slice(0, 2), 16);
296
- if (firstOctet & 1)
297
- continue;
298
- if (subnets.some(s => ip.startsWith(s + "."))) {
299
- arpEntries.push({ ip, mac });
300
- }
301
- }
302
- }
303
- catch {
304
- // Get-NetNeighbor not available — continue with ARP entries
305
- }
306
- }
307
- // 3. Filter to target subnet(s)
308
- const subnetFiltered = arpEntries.filter(e => subnets.some(s => e.ip.startsWith(s + ".")));
309
- // 4. Probe SSH (port 22) and common ports with bounded concurrency
310
- const PROBE_PORTS = [22, 80, 443, 8000, 8080];
311
- const hosts = await mapConcurrent(subnetFiltered, 20, async (entry) => {
312
- const portResults = await Promise.all(PROBE_PORTS.map(async (port) => ({ port, open: await probePort(entry.ip, port, 1500) })));
313
- const openPorts = portResults.filter(p => p.open).map(p => p.port);
314
- const sshReachable = openPorts.includes(22);
315
- const hostname = await reverseResolve(entry.ip);
316
- // Check if this is a known Jait gateway node
317
- let agentStatus = "not-installed";
318
- let providers;
319
- if (openPorts.includes(8000)) {
114
+ const result = await scanNetwork({ subnet: targetSubnet, deep, includeIps });
115
+ setLatestNetworkScan(result);
116
+ if (sqlite) {
320
117
  try {
321
- const res = await fetch(`http://${entry.ip}:8000/health`, { signal: AbortSignal.timeout(2000) });
322
- if (res.ok) {
323
- const health = await res.json();
324
- if (health.name === "jait-gateway") {
325
- agentStatus = "running";
326
- // Try to discover providers from the remote gateway
327
- try {
328
- const topoRes = await fetch(`http://${entry.ip}:8000/api/network/topology`, { signal: AbortSignal.timeout(2000) });
329
- if (topoRes.ok) {
330
- const topo = await topoRes.json();
331
- const all = new Set();
332
- for (const d of topo.devices ?? [])
333
- for (const p of d.providers ?? [])
334
- all.add(p);
335
- if (all.size > 0)
336
- providers = [...all];
337
- }
338
- }
339
- catch { }
340
- }
341
- }
118
+ persistHostsToDb(sqlite, result.hosts, result.scannedAt);
342
119
  }
343
- catch {
344
- agentStatus = "not-installed";
120
+ catch (err) {
121
+ console.error("Failed to persist network hosts to DB:", err);
345
122
  }
346
123
  }
347
- return {
348
- ip: entry.ip,
349
- mac: entry.mac,
350
- hostname,
351
- vendor: null,
352
- alive: true,
353
- openPorts,
354
- sshReachable,
355
- agentStatus,
356
- osVersion: await detectOsVersion(entry.ip, sshReachable, agentStatus),
357
- providers,
358
- lastSeen: new Date().toISOString(),
359
- };
360
- });
361
- const result = {
362
- subnet: subnets.map(s => s + ".0/24").join(", "),
363
- hosts: hosts.sort((a, b) => {
364
- const aNum = a.ip.split(".").map(Number).reduce((sum, n) => sum * 256 + n, 0);
365
- const bNum = b.ip.split(".").map(Number).reduce((sum, n) => sum * 256 + n, 0);
366
- return aNum - bNum;
367
- }),
368
- scannedAt: new Date().toISOString(),
369
- durationMs: Date.now() - start,
370
- };
371
- // Update the shared cache so /api/network/scan/latest reflects this scan
372
- setLatestNetworkScan(result);
373
- // Persist to DB
374
- if (sqlite) {
375
- try {
376
- persistHostsToDb(sqlite, result.hosts, result.scannedAt);
377
- }
378
- catch (err) {
379
- console.error("Failed to persist network hosts to DB:", err);
380
- }
124
+ return result;
125
+ }
126
+ catch (err) {
127
+ return { error: err instanceof Error ? err.message : "Network scan failed" };
381
128
  }
382
- return result;
383
129
  });
384
130
  // ---- POST /api/network/ssh/test — test SSH connectivity ----
385
131
  app.post("/api/network/ssh/test", async (request) => {
@@ -639,7 +385,7 @@ export function registerNetworkRoutes(app, ws, sqlite, providerRegistry) {
639
385
  agentStatus: h.agentStatus,
640
386
  osVersion: h.osVersion ?? null,
641
387
  providers: h.providers ?? [],
642
- online: true,
388
+ online: h.alive ?? true,
643
389
  }));
644
390
  // Known gateway mesh nodes
645
391
  const meshNodes = [...knownNodes.values()].map(n => ({
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/routes/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/routes/network.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"network-tools.d.ts","sourceRoot":"","sources":["../../src/tools/network-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAgHjE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,eAAe,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IACvE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,sBAAsB,EAAE,cAAc,GAAG,IAAI,CAE5F;AAED,wBAAgB,oBAAoB,IAAI,eAAe,GAAG,IAAI,CAE7D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAsChE;AAMD,wBAAgB,qBAAqB,IAAI,cAAc,CAsLtD"}
1
+ {"version":3,"file":"network-tools.d.ts","sourceRoot":"","sources":["../../src/tools/network-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAOjE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,eAAe,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IACvE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,sBAAsB,EAAE,cAAc,GAAG,IAAI,CAE5F;AAED,wBAAgB,oBAAoB,IAAI,eAAe,GAAG,IAAI,CAE7D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAsChE;AAMD,wBAAgB,qBAAqB,IAAI,cAAc,CAwDtD"}