zammy 1.2.1 → 1.3.2
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 +322 -239
- package/assets/zammy.gif +0 -0
- package/dist/chunk-LLLEINP6.js +1229 -0
- package/dist/index.js +1886 -489
- package/dist/plugins.d.ts +168 -0
- package/dist/plugins.js +47 -0
- package/package.json +20 -2
- package/packages/plugins/docker/README.md +141 -0
- package/packages/plugins/docker/dist/index.d.ts +4 -0
- package/packages/plugins/docker/dist/index.d.ts.map +1 -0
- package/packages/plugins/docker/dist/index.js +402 -0
- package/packages/plugins/docker/dist/index.js.map +1 -0
- package/packages/plugins/docker/package.json +32 -0
- package/packages/plugins/docker/zammy-plugin.json +16 -0
- package/packages/plugins/faker/README.md +65 -0
- package/packages/plugins/faker/dist/index.d.ts +4 -0
- package/packages/plugins/faker/dist/index.d.ts.map +1 -0
- package/packages/plugins/faker/dist/index.js +349 -0
- package/packages/plugins/faker/dist/index.js.map +1 -0
- package/packages/plugins/faker/package.json +32 -0
- package/packages/plugins/faker/zammy-plugin.json +14 -0
- package/packages/plugins/network/README.md +126 -0
- package/packages/plugins/network/dist/index.d.ts +4 -0
- package/packages/plugins/network/dist/index.d.ts.map +1 -0
- package/packages/plugins/network/dist/index.js +405 -0
- package/packages/plugins/network/dist/index.js.map +1 -0
- package/packages/plugins/network/package.json +32 -0
- package/packages/plugins/network/zammy-plugin.json +17 -0
- package/packages/plugins/port/README.md +74 -0
- package/packages/plugins/port/dist/index.d.ts +4 -0
- package/packages/plugins/port/dist/index.d.ts.map +1 -0
- package/packages/plugins/port/dist/index.js +331 -0
- package/packages/plugins/port/dist/index.js.map +1 -0
- package/packages/plugins/port/package.json +32 -0
- package/packages/plugins/port/zammy-plugin.json +16 -0
- package/packages/plugins/tsconfig.base.json +17 -0
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
// Zammy Plugin: Network Tools
|
|
2
|
+
// Network utilities and diagnostics
|
|
3
|
+
import { platform, networkInterfaces } from 'os';
|
|
4
|
+
import { promises as dns } from 'dns';
|
|
5
|
+
import https from 'https';
|
|
6
|
+
import http from 'http';
|
|
7
|
+
const isWindows = platform() === 'win32';
|
|
8
|
+
// ============ COMMON PORTS ============
|
|
9
|
+
const COMMON_PORTS = [
|
|
10
|
+
{ port: 20, service: 'FTP Data', protocol: 'TCP' },
|
|
11
|
+
{ port: 21, service: 'FTP Control', protocol: 'TCP' },
|
|
12
|
+
{ port: 22, service: 'SSH', protocol: 'TCP' },
|
|
13
|
+
{ port: 23, service: 'Telnet', protocol: 'TCP' },
|
|
14
|
+
{ port: 25, service: 'SMTP', protocol: 'TCP' },
|
|
15
|
+
{ port: 53, service: 'DNS', protocol: 'TCP/UDP' },
|
|
16
|
+
{ port: 67, service: 'DHCP Server', protocol: 'UDP' },
|
|
17
|
+
{ port: 68, service: 'DHCP Client', protocol: 'UDP' },
|
|
18
|
+
{ port: 80, service: 'HTTP', protocol: 'TCP' },
|
|
19
|
+
{ port: 110, service: 'POP3', protocol: 'TCP' },
|
|
20
|
+
{ port: 143, service: 'IMAP', protocol: 'TCP' },
|
|
21
|
+
{ port: 443, service: 'HTTPS', protocol: 'TCP' },
|
|
22
|
+
{ port: 465, service: 'SMTPS', protocol: 'TCP' },
|
|
23
|
+
{ port: 587, service: 'SMTP Submission', protocol: 'TCP' },
|
|
24
|
+
{ port: 993, service: 'IMAPS', protocol: 'TCP' },
|
|
25
|
+
{ port: 995, service: 'POP3S', protocol: 'TCP' },
|
|
26
|
+
{ port: 3000, service: 'Dev Server', protocol: 'TCP' },
|
|
27
|
+
{ port: 3306, service: 'MySQL', protocol: 'TCP' },
|
|
28
|
+
{ port: 3389, service: 'RDP', protocol: 'TCP' },
|
|
29
|
+
{ port: 5432, service: 'PostgreSQL', protocol: 'TCP' },
|
|
30
|
+
{ port: 5672, service: 'RabbitMQ', protocol: 'TCP' },
|
|
31
|
+
{ port: 6379, service: 'Redis', protocol: 'TCP' },
|
|
32
|
+
{ port: 8080, service: 'HTTP Alt', protocol: 'TCP' },
|
|
33
|
+
{ port: 8443, service: 'HTTPS Alt', protocol: 'TCP' },
|
|
34
|
+
{ port: 27017, service: 'MongoDB', protocol: 'TCP' },
|
|
35
|
+
];
|
|
36
|
+
// ============ HELPERS ============
|
|
37
|
+
function getLocalIPs() {
|
|
38
|
+
const interfaces = networkInterfaces();
|
|
39
|
+
const ips = [];
|
|
40
|
+
for (const name of Object.keys(interfaces)) {
|
|
41
|
+
for (const iface of interfaces[name] || []) {
|
|
42
|
+
if (iface.family === 'IPv4' && !iface.internal) {
|
|
43
|
+
ips.push(iface.address);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return ips;
|
|
48
|
+
}
|
|
49
|
+
async function getPublicIP() {
|
|
50
|
+
return new Promise((resolve) => {
|
|
51
|
+
const timeout = setTimeout(() => resolve(null), 5000);
|
|
52
|
+
https.get('https://api.ipify.org', (res) => {
|
|
53
|
+
let data = '';
|
|
54
|
+
res.on('data', (chunk) => { data += chunk.toString(); });
|
|
55
|
+
res.on('end', () => {
|
|
56
|
+
clearTimeout(timeout);
|
|
57
|
+
resolve(data.trim());
|
|
58
|
+
});
|
|
59
|
+
}).on('error', () => {
|
|
60
|
+
clearTimeout(timeout);
|
|
61
|
+
resolve(null);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
async function lookupDns(domain) {
|
|
66
|
+
const records = [];
|
|
67
|
+
try {
|
|
68
|
+
const addresses = await dns.resolve4(domain);
|
|
69
|
+
for (const addr of addresses) {
|
|
70
|
+
records.push({ type: 'A', value: addr });
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch { /* ignore */ }
|
|
74
|
+
try {
|
|
75
|
+
const addresses = await dns.resolve6(domain);
|
|
76
|
+
for (const addr of addresses) {
|
|
77
|
+
records.push({ type: 'AAAA', value: addr });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch { /* ignore */ }
|
|
81
|
+
try {
|
|
82
|
+
const mx = await dns.resolveMx(domain);
|
|
83
|
+
for (const record of mx) {
|
|
84
|
+
records.push({ type: 'MX', value: `${record.priority} ${record.exchange}` });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch { /* ignore */ }
|
|
88
|
+
try {
|
|
89
|
+
const ns = await dns.resolveNs(domain);
|
|
90
|
+
for (const record of ns) {
|
|
91
|
+
records.push({ type: 'NS', value: record });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
catch { /* ignore */ }
|
|
95
|
+
try {
|
|
96
|
+
const txt = await dns.resolveTxt(domain);
|
|
97
|
+
for (const record of txt) {
|
|
98
|
+
records.push({ type: 'TXT', value: record.join('') });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch { /* ignore */ }
|
|
102
|
+
if (records.length === 0) {
|
|
103
|
+
return { records: [], error: 'No DNS records found' };
|
|
104
|
+
}
|
|
105
|
+
return { records };
|
|
106
|
+
}
|
|
107
|
+
async function ping(shell, host, count = 4) {
|
|
108
|
+
try {
|
|
109
|
+
const args = isWindows
|
|
110
|
+
? ['-n', count.toString(), host]
|
|
111
|
+
: ['-c', count.toString(), host];
|
|
112
|
+
const result = await shell.spawn('ping', args);
|
|
113
|
+
if (result.code !== 0 && !result.stdout.includes('time')) {
|
|
114
|
+
return { results: [], error: result.stderr || 'Host unreachable' };
|
|
115
|
+
}
|
|
116
|
+
const results = [];
|
|
117
|
+
const lines = result.stdout.split('\n');
|
|
118
|
+
for (const line of lines) {
|
|
119
|
+
// Windows: Reply from 8.8.8.8: bytes=32 time=15ms TTL=117
|
|
120
|
+
// Unix: 64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=15.2 ms
|
|
121
|
+
const timeMatch = line.match(/time[=<](\d+\.?\d*)\s*ms/i);
|
|
122
|
+
const ttlMatch = line.match(/ttl[=:](\d+)/i);
|
|
123
|
+
if (timeMatch) {
|
|
124
|
+
results.push({
|
|
125
|
+
success: true,
|
|
126
|
+
time: parseFloat(timeMatch[1]),
|
|
127
|
+
ttl: ttlMatch ? parseInt(ttlMatch[1]) : undefined,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return { results };
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
return { results: [], error: String(error) };
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
async function runSpeedTest(onProgress) {
|
|
138
|
+
const testUrl = 'https://speed.cloudflare.com/__down?bytes=5000000'; // 5MB
|
|
139
|
+
const testSize = 5_000_000;
|
|
140
|
+
return new Promise((resolve) => {
|
|
141
|
+
const timeout = setTimeout(() => {
|
|
142
|
+
resolve({ error: 'Speed test timed out' });
|
|
143
|
+
}, 30000);
|
|
144
|
+
const startTime = Date.now();
|
|
145
|
+
let latency = 0;
|
|
146
|
+
https.get(testUrl, (res) => {
|
|
147
|
+
latency = Date.now() - startTime;
|
|
148
|
+
let downloaded = 0;
|
|
149
|
+
res.on('data', (chunk) => {
|
|
150
|
+
downloaded += chunk.length;
|
|
151
|
+
if (onProgress) {
|
|
152
|
+
onProgress(Math.min(100, (downloaded / testSize) * 100));
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
res.on('end', () => {
|
|
156
|
+
clearTimeout(timeout);
|
|
157
|
+
const duration = Date.now() - startTime;
|
|
158
|
+
const speedBps = (downloaded * 8) / (duration / 1000);
|
|
159
|
+
const speedMbps = speedBps / 1_000_000;
|
|
160
|
+
resolve({
|
|
161
|
+
downloadSpeed: Math.round(speedMbps * 100) / 100,
|
|
162
|
+
latency,
|
|
163
|
+
testSize: downloaded,
|
|
164
|
+
duration,
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
}).on('error', (error) => {
|
|
168
|
+
clearTimeout(timeout);
|
|
169
|
+
resolve({ error: error.message });
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
async function getHeaders(url) {
|
|
174
|
+
return new Promise((resolve) => {
|
|
175
|
+
const timeout = setTimeout(() => {
|
|
176
|
+
resolve({ statusCode: 0, statusMessage: '', headers: {}, error: 'Request timed out' });
|
|
177
|
+
}, 10000);
|
|
178
|
+
try {
|
|
179
|
+
const parsedUrl = new URL(url.startsWith('http') ? url : `https://${url}`);
|
|
180
|
+
const client = parsedUrl.protocol === 'https:' ? https : http;
|
|
181
|
+
const req = client.request(parsedUrl, { method: 'HEAD' }, (res) => {
|
|
182
|
+
clearTimeout(timeout);
|
|
183
|
+
resolve({
|
|
184
|
+
statusCode: res.statusCode || 0,
|
|
185
|
+
statusMessage: res.statusMessage || '',
|
|
186
|
+
headers: res.headers,
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
req.on('error', (error) => {
|
|
190
|
+
clearTimeout(timeout);
|
|
191
|
+
resolve({ statusCode: 0, statusMessage: '', headers: {}, error: error.message });
|
|
192
|
+
});
|
|
193
|
+
req.end();
|
|
194
|
+
}
|
|
195
|
+
catch (error) {
|
|
196
|
+
clearTimeout(timeout);
|
|
197
|
+
resolve({ statusCode: 0, statusMessage: '', headers: {}, error: String(error) });
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
// ============ PLUGIN ============
|
|
202
|
+
const plugin = {
|
|
203
|
+
activate(api) {
|
|
204
|
+
const { theme, symbols, progressBar } = api.ui;
|
|
205
|
+
if (!api.shell) {
|
|
206
|
+
api.log.error('Network plugin requires shell permission');
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const shell = api.shell;
|
|
210
|
+
api.registerCommand({
|
|
211
|
+
name: 'net',
|
|
212
|
+
description: 'Network utilities and diagnostics',
|
|
213
|
+
usage: '/net <action> [args]\n\n Actions: ip, ping, dns, speed, headers, ports',
|
|
214
|
+
async execute(args) {
|
|
215
|
+
const action = args[0]?.toLowerCase();
|
|
216
|
+
if (!action) {
|
|
217
|
+
console.log('');
|
|
218
|
+
console.log(` ${symbols.sparkles} ${theme.gradient('NETWORK TOOLS')}`);
|
|
219
|
+
console.log('');
|
|
220
|
+
console.log(` ${theme.dim('Usage:')} /net <action> [args]`);
|
|
221
|
+
console.log('');
|
|
222
|
+
console.log(` ${theme.dim('Actions:')}`);
|
|
223
|
+
console.log(` ${theme.primary('ip')} ${theme.dim('Show local + public IP')}`);
|
|
224
|
+
console.log(` ${theme.primary('ping <host>')} ${theme.dim('Ping a host')}`);
|
|
225
|
+
console.log(` ${theme.primary('dns <domain>')} ${theme.dim('DNS lookup')}`);
|
|
226
|
+
console.log(` ${theme.primary('speed')} ${theme.dim('Speed test')}`);
|
|
227
|
+
console.log(` ${theme.primary('headers <url>')} ${theme.dim('Show HTTP headers')}`);
|
|
228
|
+
console.log(` ${theme.primary('ports')} ${theme.dim('Common ports reference')}`);
|
|
229
|
+
console.log('');
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
console.log('');
|
|
233
|
+
switch (action) {
|
|
234
|
+
case 'ip': {
|
|
235
|
+
console.log(` ${symbols.sparkles} ${theme.gradient('IP ADDRESSES')}`);
|
|
236
|
+
console.log('');
|
|
237
|
+
const localIPs = getLocalIPs();
|
|
238
|
+
if (localIPs.length > 0) {
|
|
239
|
+
console.log(` ${theme.dim('Local:')}`);
|
|
240
|
+
for (const ip of localIPs) {
|
|
241
|
+
console.log(` ${symbols.arrow} ${theme.primary(ip)}`);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
console.log(` ${theme.dim('Local:')} ${theme.warning('No network interfaces found')}`);
|
|
246
|
+
}
|
|
247
|
+
console.log('');
|
|
248
|
+
console.log(` ${theme.dim('Fetching public IP...')}`);
|
|
249
|
+
const publicIP = await getPublicIP();
|
|
250
|
+
// Move cursor up and clear line
|
|
251
|
+
process.stdout.write('\x1b[1A\x1b[2K');
|
|
252
|
+
if (publicIP) {
|
|
253
|
+
console.log(` ${theme.dim('Public:')} ${theme.success(publicIP)}`);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
console.log(` ${theme.dim('Public:')} ${theme.warning('Could not determine (offline?)')}`);
|
|
257
|
+
}
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
case 'ping': {
|
|
261
|
+
const host = args[1];
|
|
262
|
+
if (!host) {
|
|
263
|
+
console.log(` ${symbols.warning} ${theme.warning('Usage:')} /net ping <host>`);
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
console.log(` ${theme.dim('Pinging')} ${theme.primary(host)}...`);
|
|
267
|
+
console.log('');
|
|
268
|
+
const { results, error } = await ping(shell, host);
|
|
269
|
+
if (error) {
|
|
270
|
+
console.log(` ${symbols.cross} ${theme.error(error)}`);
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
if (results.length === 0) {
|
|
274
|
+
console.log(` ${symbols.cross} ${theme.error('No response from host')}`);
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
277
|
+
for (let i = 0; i < results.length; i++) {
|
|
278
|
+
const r = results[i];
|
|
279
|
+
if (r.success) {
|
|
280
|
+
console.log(` ${symbols.check} ${theme.dim(`Reply ${i + 1}:`)} ` +
|
|
281
|
+
`${theme.success(`${r.time}ms`)} ` +
|
|
282
|
+
`${r.ttl ? theme.dim(`TTL=${r.ttl}`) : ''}`);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
const times = results.filter(r => r.time).map(r => r.time);
|
|
286
|
+
if (times.length > 0) {
|
|
287
|
+
const avg = times.reduce((a, b) => a + b, 0) / times.length;
|
|
288
|
+
const min = Math.min(...times);
|
|
289
|
+
const max = Math.max(...times);
|
|
290
|
+
console.log('');
|
|
291
|
+
console.log(` ${theme.dim('Min:')} ${min}ms ${theme.dim('Max:')} ${max}ms ${theme.dim('Avg:')} ${avg.toFixed(1)}ms`);
|
|
292
|
+
}
|
|
293
|
+
break;
|
|
294
|
+
}
|
|
295
|
+
case 'dns': {
|
|
296
|
+
const domain = args[1];
|
|
297
|
+
if (!domain) {
|
|
298
|
+
console.log(` ${symbols.warning} ${theme.warning('Usage:')} /net dns <domain>`);
|
|
299
|
+
break;
|
|
300
|
+
}
|
|
301
|
+
console.log(` ${symbols.sparkles} ${theme.gradient(`DNS: ${domain.toUpperCase()}`)}`);
|
|
302
|
+
console.log('');
|
|
303
|
+
const { records, error } = await lookupDns(domain);
|
|
304
|
+
if (error) {
|
|
305
|
+
console.log(` ${symbols.cross} ${theme.error(error)}`);
|
|
306
|
+
break;
|
|
307
|
+
}
|
|
308
|
+
console.log(` ${theme.dim('TYPE'.padEnd(8))}${theme.dim('VALUE')}`);
|
|
309
|
+
console.log(` ${theme.dim('─'.repeat(50))}`);
|
|
310
|
+
for (const record of records) {
|
|
311
|
+
const typeColor = record.type === 'A' ? theme.success :
|
|
312
|
+
record.type === 'AAAA' ? theme.primary :
|
|
313
|
+
record.type === 'MX' ? theme.warning :
|
|
314
|
+
theme.secondary;
|
|
315
|
+
console.log(` ${typeColor(record.type.padEnd(8))}${record.value}`);
|
|
316
|
+
}
|
|
317
|
+
console.log('');
|
|
318
|
+
console.log(` ${theme.dim(`Found: ${records.length} records`)}`);
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
case 'speed': {
|
|
322
|
+
console.log(` ${symbols.sparkles} ${theme.gradient('SPEED TEST')}`);
|
|
323
|
+
console.log('');
|
|
324
|
+
console.log(` ${theme.dim('Testing download speed...')}`);
|
|
325
|
+
console.log(` ${progressBar(0, 100, 30)}`);
|
|
326
|
+
const result = await runSpeedTest((percent) => {
|
|
327
|
+
// Move cursor up and update progress
|
|
328
|
+
process.stdout.write('\x1b[1A\x1b[2K');
|
|
329
|
+
console.log(` ${progressBar(percent, 100, 30)}`);
|
|
330
|
+
});
|
|
331
|
+
// Clear progress line
|
|
332
|
+
process.stdout.write('\x1b[1A\x1b[2K');
|
|
333
|
+
process.stdout.write('\x1b[1A\x1b[2K');
|
|
334
|
+
if ('error' in result) {
|
|
335
|
+
console.log(` ${symbols.cross} ${theme.error(result.error)}`);
|
|
336
|
+
break;
|
|
337
|
+
}
|
|
338
|
+
console.log(` ${symbols.check} ${theme.success('Test complete')}`);
|
|
339
|
+
console.log('');
|
|
340
|
+
console.log(` ${theme.dim('Download:')} ${theme.primary(`${result.downloadSpeed} Mbps`)}`);
|
|
341
|
+
console.log(` ${theme.dim('Latency:')} ${theme.secondary(`${result.latency}ms`)}`);
|
|
342
|
+
console.log(` ${theme.dim('Data:')} ${(result.testSize / 1_000_000).toFixed(1)} MB in ${(result.duration / 1000).toFixed(1)}s`);
|
|
343
|
+
break;
|
|
344
|
+
}
|
|
345
|
+
case 'headers': {
|
|
346
|
+
let url = args[1];
|
|
347
|
+
if (!url) {
|
|
348
|
+
console.log(` ${symbols.warning} ${theme.warning('Usage:')} /net headers <url>`);
|
|
349
|
+
break;
|
|
350
|
+
}
|
|
351
|
+
if (!url.startsWith('http')) {
|
|
352
|
+
url = `https://${url}`;
|
|
353
|
+
}
|
|
354
|
+
console.log(` ${theme.dim('Fetching headers from')} ${theme.primary(url)}...`);
|
|
355
|
+
console.log('');
|
|
356
|
+
const result = await getHeaders(url);
|
|
357
|
+
if (result.error) {
|
|
358
|
+
console.log(` ${symbols.cross} ${theme.error(result.error)}`);
|
|
359
|
+
break;
|
|
360
|
+
}
|
|
361
|
+
const statusColor = result.statusCode >= 200 && result.statusCode < 300 ? theme.success :
|
|
362
|
+
result.statusCode >= 300 && result.statusCode < 400 ? theme.warning :
|
|
363
|
+
theme.error;
|
|
364
|
+
console.log(` ${theme.dim('Status:')} ${statusColor(`${result.statusCode} ${result.statusMessage}`)}`);
|
|
365
|
+
console.log('');
|
|
366
|
+
console.log(` ${theme.dim('Headers:')}`);
|
|
367
|
+
console.log(` ${theme.dim('─'.repeat(50))}`);
|
|
368
|
+
const importantHeaders = [
|
|
369
|
+
'content-type', 'content-length', 'server', 'cache-control',
|
|
370
|
+
'x-powered-by', 'x-frame-options', 'strict-transport-security'
|
|
371
|
+
];
|
|
372
|
+
for (const header of importantHeaders) {
|
|
373
|
+
if (result.headers[header]) {
|
|
374
|
+
const value = Array.isArray(result.headers[header])
|
|
375
|
+
? result.headers[header].join(', ')
|
|
376
|
+
: result.headers[header];
|
|
377
|
+
console.log(` ${theme.primary(header)}: ${theme.dim(String(value))}`);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
break;
|
|
381
|
+
}
|
|
382
|
+
case 'ports': {
|
|
383
|
+
console.log(` ${symbols.sparkles} ${theme.gradient('COMMON PORTS')}`);
|
|
384
|
+
console.log('');
|
|
385
|
+
console.log(` ${theme.dim('PORT'.padEnd(8))}${theme.dim('SERVICE'.padEnd(18))}${theme.dim('PROTOCOL')}`);
|
|
386
|
+
console.log(` ${theme.dim('─'.repeat(40))}`);
|
|
387
|
+
for (const p of COMMON_PORTS) {
|
|
388
|
+
console.log(` ${theme.primary(p.port.toString().padEnd(8))}` +
|
|
389
|
+
`${theme.secondary(p.service.padEnd(18))}` +
|
|
390
|
+
`${theme.dim(p.protocol)}`);
|
|
391
|
+
}
|
|
392
|
+
break;
|
|
393
|
+
}
|
|
394
|
+
default:
|
|
395
|
+
console.log(` ${symbols.cross} ${theme.error(`Unknown action: ${action}`)}`);
|
|
396
|
+
console.log(` ${theme.dim('Run /net to see available actions')}`);
|
|
397
|
+
}
|
|
398
|
+
console.log('');
|
|
399
|
+
}
|
|
400
|
+
});
|
|
401
|
+
api.log.info('Network Tools plugin activated');
|
|
402
|
+
}
|
|
403
|
+
};
|
|
404
|
+
export default plugin;
|
|
405
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "zammy-plugin-network",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Network utilities and diagnostics",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": ["dist", "zammy-plugin.json", "README.md"],
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc",
|
|
11
|
+
"dev": "tsc --watch"
|
|
12
|
+
},
|
|
13
|
+
"keywords": ["zammy-plugin", "zammy", "cli", "network", "ping", "dns", "ip", "speed-test"],
|
|
14
|
+
"author": "Aayush Adhikari",
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/aayushadhikari7/zammy-cli.git",
|
|
19
|
+
"directory": "packages/plugins/network"
|
|
20
|
+
},
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/aayushadhikari7/zammy-cli/issues"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://github.com/aayushadhikari7/zammy-cli/tree/main/packages/plugins/network#readme",
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"zammy": "^1.0.0"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"zammy": "*",
|
|
30
|
+
"typescript": "^5.3.0"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "zammy-plugin-network",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"displayName": "Network Tools",
|
|
5
|
+
"description": "Network utilities and diagnostics",
|
|
6
|
+
"author": "Zammy CLI",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"commands": ["net"],
|
|
10
|
+
"zammy": {
|
|
11
|
+
"minVersion": "1.2.0"
|
|
12
|
+
},
|
|
13
|
+
"permissions": {
|
|
14
|
+
"shell": true,
|
|
15
|
+
"network": true
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# zammy-plugin-port
|
|
2
|
+
|
|
3
|
+
Manage ports and processes from your terminal.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
/plugin install zammy-plugin-port
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
|
|
13
|
+
### `/port list`
|
|
14
|
+
|
|
15
|
+
Show all listening ports on your system.
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
PORT PID PROCESS
|
|
19
|
+
────────────────────────────────────────
|
|
20
|
+
3000 12345 node
|
|
21
|
+
5432 6789 postgres
|
|
22
|
+
8080 11111 java
|
|
23
|
+
|
|
24
|
+
Total: 3 ports
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### `/port check <port>`
|
|
28
|
+
|
|
29
|
+
Check if a specific port is in use.
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
/port check 3000
|
|
33
|
+
# Port 3000 is in use
|
|
34
|
+
# PID: 12345
|
|
35
|
+
# Process: node
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### `/port kill <port>`
|
|
39
|
+
|
|
40
|
+
Kill the process running on a specific port.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
/port kill 3000
|
|
44
|
+
# Process killed (PID: 12345)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Note:** May require administrator/root privileges for some processes.
|
|
48
|
+
|
|
49
|
+
### `/port find <name>`
|
|
50
|
+
|
|
51
|
+
Find all ports used by processes matching a name.
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
/port find node
|
|
55
|
+
# PORTS FOR "NODE"
|
|
56
|
+
# PORT PID PROCESS
|
|
57
|
+
# 3000 12345 node
|
|
58
|
+
# 3001 12346 node
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Cross-Platform Support
|
|
62
|
+
|
|
63
|
+
This plugin works on:
|
|
64
|
+
- **Windows** - Uses `netstat` and `taskkill`
|
|
65
|
+
- **macOS** - Uses `lsof` and `kill`
|
|
66
|
+
- **Linux** - Uses `lsof`/`netstat` and `kill`
|
|
67
|
+
|
|
68
|
+
## Permissions
|
|
69
|
+
|
|
70
|
+
This plugin requires shell access to run system commands.
|
|
71
|
+
|
|
72
|
+
## License
|
|
73
|
+
|
|
74
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,eAAe,CAAC;AAsN5D,QAAA,MAAM,MAAM,EAAE,WAyJb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|