omniwire 2.6.0 → 2.7.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 +165 -12
- package/assets/banner-dark.svg +1 -1
- package/assets/banner-light.svg +1 -1
- package/assets/footer-dark.svg +32 -0
- package/assets/footer-light.svg +32 -0
- package/dist/mcp/server.js +399 -9
- package/dist/mcp/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="https://www.npmjs.com/package/omniwire"><img src="https://img.shields.io/npm/v/omniwire?style=for-the-badge&logo=npm&color=CB3837&labelColor=0D1117" alt="npm" /></a>
|
|
11
|
-
<img src="https://img.shields.io/badge/MCP_Tools-
|
|
11
|
+
<img src="https://img.shields.io/badge/MCP_Tools-56-59C2FF?style=for-the-badge&labelColor=0D1117" alt="tools" />
|
|
12
12
|
<img src="https://img.shields.io/badge/A2A-Protocol-00C853?style=for-the-badge&labelColor=0D1117" alt="A2A" />
|
|
13
13
|
<img src="https://img.shields.io/badge/Latency-~80ms-FF6D00?style=for-the-badge&labelColor=0D1117" alt="latency" />
|
|
14
14
|
<img src="https://img.shields.io/badge/Background-Dispatch-CC93E6?style=for-the-badge&labelColor=0D1117" alt="background" />
|
|
@@ -50,6 +50,147 @@ Add to your AI agent (Claude Code, Cursor, OpenCode, etc.):
|
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
53
|
+
## Use Cases
|
|
54
|
+
|
|
55
|
+
<table>
|
|
56
|
+
<tr>
|
|
57
|
+
<td width="50%">
|
|
58
|
+
|
|
59
|
+
### DevOps & Infrastructure
|
|
60
|
+
```bash
|
|
61
|
+
# Deploy to all nodes in one call
|
|
62
|
+
omniwire_deploy(src="contabo:/app/v2.tar.gz", dst="/opt/app/")
|
|
63
|
+
|
|
64
|
+
# Rolling service restart
|
|
65
|
+
omniwire_batch([
|
|
66
|
+
{node: "node1", command: "systemctl restart app"},
|
|
67
|
+
{node: "node2", command: "systemctl restart app"}
|
|
68
|
+
], parallel=false)
|
|
69
|
+
|
|
70
|
+
# Monitor disk across fleet
|
|
71
|
+
omniwire_disk_usage()
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
</td>
|
|
75
|
+
<td width="50%">
|
|
76
|
+
|
|
77
|
+
### Security & Pentesting
|
|
78
|
+
```bash
|
|
79
|
+
# Anonymous nmap through Mullvad VPN
|
|
80
|
+
omniwire_exec(
|
|
81
|
+
node="contabo",
|
|
82
|
+
command="nmap -sV -T4 target.com",
|
|
83
|
+
via_vpn="mullvad:se",
|
|
84
|
+
background=true
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
# Rotate exit IP between scans
|
|
88
|
+
omniwire_vpn(action="rotate", node="contabo")
|
|
89
|
+
|
|
90
|
+
# Run nuclei through VPN namespace
|
|
91
|
+
omniwire_exec(command="nuclei -u target.com",
|
|
92
|
+
via_vpn="mullvad", store_as="nuclei_results")
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
</td>
|
|
96
|
+
</tr>
|
|
97
|
+
<tr>
|
|
98
|
+
<td>
|
|
99
|
+
|
|
100
|
+
### Multi-Agent Coordination
|
|
101
|
+
```bash
|
|
102
|
+
# Agent A dispatches work
|
|
103
|
+
omniwire_task_queue(action="enqueue",
|
|
104
|
+
queue="recon", task="subfinder -d target.com")
|
|
105
|
+
|
|
106
|
+
# Agent B picks it up
|
|
107
|
+
omniwire_task_queue(action="dequeue", queue="recon")
|
|
108
|
+
|
|
109
|
+
# Share findings on blackboard
|
|
110
|
+
omniwire_blackboard(action="post",
|
|
111
|
+
topic="subdomains", data="api.target.com")
|
|
112
|
+
|
|
113
|
+
# A2A messaging between agents
|
|
114
|
+
omniwire_a2a_message(action="send",
|
|
115
|
+
channel="results", message="scan complete")
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
</td>
|
|
119
|
+
<td>
|
|
120
|
+
|
|
121
|
+
### Background & Async Workflows
|
|
122
|
+
```bash
|
|
123
|
+
# Long build in background
|
|
124
|
+
omniwire_exec(
|
|
125
|
+
command="docker build -t app .",
|
|
126
|
+
node="contabo", background=true
|
|
127
|
+
)
|
|
128
|
+
# Returns: "BACKGROUND bg-abc123"
|
|
129
|
+
|
|
130
|
+
# Check progress
|
|
131
|
+
omniwire_bg(action="poll", task_id="bg-abc123")
|
|
132
|
+
# Returns: "RUNNING (45.2s)"
|
|
133
|
+
|
|
134
|
+
# Get result when done
|
|
135
|
+
omniwire_bg(action="result", task_id="bg-abc123")
|
|
136
|
+
|
|
137
|
+
# Pipeline: build → test → deploy
|
|
138
|
+
omniwire_pipeline(steps=[
|
|
139
|
+
{node: "contabo", command: "make build"},
|
|
140
|
+
{node: "contabo", command: "make test"},
|
|
141
|
+
{command: "deploy.sh", store_as: "version"}
|
|
142
|
+
])
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
</td>
|
|
146
|
+
</tr>
|
|
147
|
+
<tr>
|
|
148
|
+
<td>
|
|
149
|
+
|
|
150
|
+
### File Operations
|
|
151
|
+
```bash
|
|
152
|
+
# Transfer large dataset between nodes
|
|
153
|
+
omniwire_transfer_file(
|
|
154
|
+
src="contabo:/data/model.bin",
|
|
155
|
+
dst="hostinger:/ml/model.bin"
|
|
156
|
+
)
|
|
157
|
+
# Auto-selects: aria2c (16-conn parallel)
|
|
158
|
+
|
|
159
|
+
# Sync config to all nodes
|
|
160
|
+
omniwire_deploy(
|
|
161
|
+
src_node="contabo",
|
|
162
|
+
src_path="/etc/nginx/nginx.conf",
|
|
163
|
+
dst_path="/etc/nginx/nginx.conf"
|
|
164
|
+
)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
</td>
|
|
168
|
+
<td>
|
|
169
|
+
|
|
170
|
+
### VPN & Anonymous Operations
|
|
171
|
+
```bash
|
|
172
|
+
# Full Mullvad setup for a node
|
|
173
|
+
omniwire_vpn(action="connect", server="se",
|
|
174
|
+
node="contabo")
|
|
175
|
+
omniwire_vpn(action="quantum", config="on")
|
|
176
|
+
omniwire_vpn(action="daita", config="on")
|
|
177
|
+
omniwire_vpn(action="multihop", config="se:us")
|
|
178
|
+
omniwire_vpn(action="dns", config="adblock")
|
|
179
|
+
omniwire_vpn(action="killswitch", config="on")
|
|
180
|
+
|
|
181
|
+
# Verify anonymous IP
|
|
182
|
+
omniwire_vpn(action="ip", node="contabo")
|
|
183
|
+
|
|
184
|
+
# Node-wide VPN (mesh stays connected)
|
|
185
|
+
omniwire_vpn(action="full-on", server="de")
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
</td>
|
|
189
|
+
</tr>
|
|
190
|
+
</table>
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
53
194
|
## Architecture
|
|
54
195
|
|
|
55
196
|
```mermaid
|
|
@@ -65,7 +206,7 @@ graph TB
|
|
|
65
206
|
direction TB
|
|
66
207
|
MCP["MCP Protocol Layer<br/>stdio | SSE | REST"]
|
|
67
208
|
|
|
68
|
-
subgraph tools["
|
|
209
|
+
subgraph tools["56 Tools"]
|
|
69
210
|
direction LR
|
|
70
211
|
EXEC["Execution<br/>exec run batch<br/>broadcast pipeline bg"]
|
|
71
212
|
AGENT["Agentic<br/>store watch task<br/>a2a events locks"]
|
|
@@ -199,7 +340,7 @@ watch(assert="ready") poll until
|
|
|
199
340
|
|
|
200
341
|
---
|
|
201
342
|
|
|
202
|
-
## All
|
|
343
|
+
## All 56 Tools
|
|
203
344
|
|
|
204
345
|
> **Every tool** supports `background: true` -- returns a task ID immediately. Poll with `omniwire_bg`.
|
|
205
346
|
|
|
@@ -267,10 +408,11 @@ watch(assert="ready") poll until
|
|
|
267
408
|
| `omniwire_git` | Git commands on repos on any node |
|
|
268
409
|
| `omniwire_syslog` | Query journalctl with filters |
|
|
269
410
|
|
|
270
|
-
### Network &
|
|
411
|
+
### Network, VPN & Firewall (7)
|
|
271
412
|
|
|
272
413
|
| Tool | Description |
|
|
273
414
|
|------|-------------|
|
|
415
|
+
| `omniwire_firewall` | nftables firewall engine. Presets (server/paranoid/pentest), rate-limit, geo-block, port-knock, ban/unban, audit. Mesh always whitelisted. |
|
|
274
416
|
| `omniwire_vpn` | Manage VPN (Mullvad/OpenVPN/WireGuard/Tailscale). Split-tunnel + full-node modes. Mesh stays connected. |
|
|
275
417
|
| `omniwire_port_forward` | Create/list/close SSH tunnels |
|
|
276
418
|
| `omniwire_open_browser` | Open URL in browser on a node |
|
|
@@ -374,6 +516,15 @@ Create `~/.omniwire/mesh.json`:
|
|
|
374
516
|
|
|
375
517
|
## Changelog
|
|
376
518
|
|
|
519
|
+
<details>
|
|
520
|
+
<summary><b>v2.7.0 -- Firewall Engine</b></summary>
|
|
521
|
+
|
|
522
|
+
**`omniwire_firewall`**: nftables-based firewall engine with 17 actions. Presets (server, paranoid, minimal, pentest), rate-limiting, geo-blocking by country, port-knocking sequences, IP ban/unban, whitelist/blacklist, rule management, audit log, save/restore.
|
|
523
|
+
|
|
524
|
+
**Zero mesh impact**: wg0, wg1, tailscale0, and all mesh CIDRs (10.10.0.0/24, 10.20.0.0/24, 100.64.0.0/10) are always whitelisted before any hardening rules. nftables runs in kernel space — zero latency overhead.
|
|
525
|
+
|
|
526
|
+
</details>
|
|
527
|
+
|
|
377
528
|
<details>
|
|
378
529
|
<summary><b>v2.6.0 -- VPN Integration, Mesh-Safe Anonymous Scanning</b></summary>
|
|
379
530
|
|
|
@@ -388,7 +539,7 @@ Create `~/.omniwire/mesh.json`:
|
|
|
388
539
|
<details>
|
|
389
540
|
<summary><b>v2.5.1 -- Universal Background Dispatch</b></summary>
|
|
390
541
|
|
|
391
|
-
**`background: true`** auto-injected into all
|
|
542
|
+
**`background: true`** auto-injected into all 56 tools via server-level wrapper. Returns task ID, poll with `omniwire_bg`. New `omniwire_bg` tool for list/poll/result.
|
|
392
543
|
|
|
393
544
|
</details>
|
|
394
545
|
|
|
@@ -427,7 +578,7 @@ Security fixes, multi-path SSH failover, CyberBase integration, VaultBridge Obsi
|
|
|
427
578
|
```
|
|
428
579
|
omniwire/
|
|
429
580
|
src/
|
|
430
|
-
mcp/ MCP server (
|
|
581
|
+
mcp/ MCP server (56 tools, 3 transports)
|
|
431
582
|
nodes/ SSH2 pool, transfer engine, PTY, tunnels
|
|
432
583
|
sync/ CyberSync + CyberBase (PostgreSQL, Obsidian, encryption)
|
|
433
584
|
protocol/ Mesh config, types, path parsing
|
|
@@ -441,14 +592,16 @@ omniwire/
|
|
|
441
592
|
|
|
442
593
|
<br/>
|
|
443
594
|
|
|
444
|
-
<
|
|
445
|
-
<
|
|
446
|
-
|
|
595
|
+
<p align="center">
|
|
596
|
+
<a href="https://www.npmjs.com/package/omniwire"><img src="https://img.shields.io/npm/dm/omniwire?style=flat-square&color=59C2FF&labelColor=0D1117&label=downloads" alt="downloads" /></a>
|
|
597
|
+
<a href="https://github.com/VoidChecksum/omniwire/stargazers"><img src="https://img.shields.io/github/stars/VoidChecksum/omniwire?style=flat-square&color=E6B450&labelColor=0D1117" alt="stars" /></a>
|
|
598
|
+
<a href="https://github.com/VoidChecksum/omniwire/issues"><img src="https://img.shields.io/github/issues/VoidChecksum/omniwire?style=flat-square&color=FF6D00&labelColor=0D1117" alt="issues" /></a>
|
|
599
|
+
</p>
|
|
447
600
|
|
|
448
601
|
<p align="center">
|
|
449
602
|
<picture>
|
|
450
|
-
<source media="(prefers-color-scheme: dark)" srcset="
|
|
451
|
-
<source media="(prefers-color-scheme: light)" srcset="
|
|
452
|
-
<img alt="
|
|
603
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/footer-dark.svg" />
|
|
604
|
+
<source media="(prefers-color-scheme: light)" srcset="assets/footer-light.svg" />
|
|
605
|
+
<img alt="Built for the machines that build for us." src="assets/footer-dark.svg" width="900" />
|
|
453
606
|
</picture>
|
|
454
607
|
</p>
|
package/assets/banner-dark.svg
CHANGED
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
|
|
62
62
|
<!-- Stats bar -->
|
|
63
63
|
<g font-family="'Segoe UI Mono', 'SF Mono', monospace" font-size="13" fill="#59C2FF" opacity="0.7">
|
|
64
|
-
<text x="175" y="175" text-anchor="middle">
|
|
64
|
+
<text x="175" y="175" text-anchor="middle">56 MCP Tools</text>
|
|
65
65
|
<text x="325" y="175" text-anchor="middle">A2A Protocol</text>
|
|
66
66
|
<text x="450" y="175" text-anchor="middle">~80ms Latency</text>
|
|
67
67
|
<text x="575" y="175" text-anchor="middle">LZ4 Transfer</text>
|
package/assets/banner-light.svg
CHANGED
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
|
|
55
55
|
<!-- Stats bar -->
|
|
56
56
|
<g font-family="'Segoe UI Mono', 'SF Mono', monospace" font-size="13" fill="#1A3A5C" opacity="0.6">
|
|
57
|
-
<text x="175" y="175" text-anchor="middle">
|
|
57
|
+
<text x="175" y="175" text-anchor="middle">56 MCP Tools</text>
|
|
58
58
|
<text x="325" y="175" text-anchor="middle">A2A Protocol</text>
|
|
59
59
|
<text x="450" y="175" text-anchor="middle">~80ms Latency</text>
|
|
60
60
|
<text x="575" y="175" text-anchor="middle">LZ4 Transfer</text>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<svg width="900" height="120" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
4
|
+
<stop offset="0%" style="stop-color:#0D1117"/>
|
|
5
|
+
<stop offset="40%" style="stop-color:#0D1B2A"/>
|
|
6
|
+
<stop offset="70%" style="stop-color:#162B44"/>
|
|
7
|
+
<stop offset="100%" style="stop-color:#1A3A5C"/>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
</defs>
|
|
10
|
+
|
|
11
|
+
<!-- Top wave -->
|
|
12
|
+
<path d="M0,0 L0,20 Q150,45 300,20 Q450,-5 600,20 Q750,45 900,20 L900,0 Z" fill="#59C2FF" opacity="0.08"/>
|
|
13
|
+
<path d="M0,0 L0,15 Q200,40 400,15 Q600,-10 900,15 L900,0 Z" fill="#59C2FF" opacity="0.05"/>
|
|
14
|
+
|
|
15
|
+
<!-- Background -->
|
|
16
|
+
<rect y="20" width="900" height="100" fill="url(#bg)"/>
|
|
17
|
+
|
|
18
|
+
<!-- Tagline -->
|
|
19
|
+
<text x="450" y="62" font-family="'Segoe UI', system-ui, -apple-system, sans-serif" font-size="13" font-weight="400" fill="#8B949E" text-anchor="middle">Built for the machines that build for us.</text>
|
|
20
|
+
|
|
21
|
+
<!-- Bottom accent dots -->
|
|
22
|
+
<g fill="#59C2FF" opacity="0.12">
|
|
23
|
+
<circle cx="380" cy="85" r="1.5"/>
|
|
24
|
+
<circle cx="420" cy="85" r="1.5"/>
|
|
25
|
+
<circle cx="450" cy="85" r="2"/>
|
|
26
|
+
<circle cx="480" cy="85" r="1.5"/>
|
|
27
|
+
<circle cx="520" cy="85" r="1.5"/>
|
|
28
|
+
</g>
|
|
29
|
+
|
|
30
|
+
<!-- Subtle bottom line -->
|
|
31
|
+
<line x1="350" y1="95" x2="550" y2="95" stroke="#59C2FF" stroke-width="0.5" opacity="0.1"/>
|
|
32
|
+
</svg>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<svg width="900" height="120" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
4
|
+
<stop offset="0%" style="stop-color:#FFFFFF"/>
|
|
5
|
+
<stop offset="40%" style="stop-color:#F0F4F8"/>
|
|
6
|
+
<stop offset="70%" style="stop-color:#D8E2EE"/>
|
|
7
|
+
<stop offset="100%" style="stop-color:#B8CCE0"/>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
</defs>
|
|
10
|
+
|
|
11
|
+
<!-- Top wave -->
|
|
12
|
+
<path d="M0,0 L0,20 Q150,45 300,20 Q450,-5 600,20 Q750,45 900,20 L900,0 Z" fill="#59C2FF" opacity="0.12"/>
|
|
13
|
+
<path d="M0,0 L0,15 Q200,40 400,15 Q600,-10 900,15 L900,0 Z" fill="#59C2FF" opacity="0.08"/>
|
|
14
|
+
|
|
15
|
+
<!-- Background -->
|
|
16
|
+
<rect y="20" width="900" height="100" fill="url(#bg)"/>
|
|
17
|
+
|
|
18
|
+
<!-- Tagline -->
|
|
19
|
+
<text x="450" y="62" font-family="'Segoe UI', system-ui, -apple-system, sans-serif" font-size="13" font-weight="400" fill="#586069" text-anchor="middle">Built for the machines that build for us.</text>
|
|
20
|
+
|
|
21
|
+
<!-- Bottom accent dots -->
|
|
22
|
+
<g fill="#1A3A5C" opacity="0.15">
|
|
23
|
+
<circle cx="380" cy="85" r="1.5"/>
|
|
24
|
+
<circle cx="420" cy="85" r="1.5"/>
|
|
25
|
+
<circle cx="450" cy="85" r="2"/>
|
|
26
|
+
<circle cx="480" cy="85" r="1.5"/>
|
|
27
|
+
<circle cx="520" cy="85" r="1.5"/>
|
|
28
|
+
</g>
|
|
29
|
+
|
|
30
|
+
<!-- Subtle bottom line -->
|
|
31
|
+
<line x1="350" y1="95" x2="550" y2="95" stroke="#1A3A5C" stroke-width="0.5" opacity="0.1"/>
|
|
32
|
+
</svg>
|
package/dist/mcp/server.js
CHANGED
|
@@ -131,7 +131,7 @@ function dispatchBg(node, label, fn) {
|
|
|
131
131
|
export function createOmniWireServer(manager, transfer) {
|
|
132
132
|
const server = new McpServer({
|
|
133
133
|
name: 'omniwire',
|
|
134
|
-
version: '2.
|
|
134
|
+
version: '2.7.0',
|
|
135
135
|
});
|
|
136
136
|
// -- Auto-inject `background` param into every tool -------------------------
|
|
137
137
|
const origTool = server.tool.bind(server);
|
|
@@ -801,12 +801,15 @@ tags: ${meshNode.tags.join(', ')}`;
|
|
|
801
801
|
return ok(node, result.durationMs, result.code === 0 ? result.stdout : result.stderr, `net ${action}`);
|
|
802
802
|
});
|
|
803
803
|
// --- Tool 30: omniwire_vpn ---
|
|
804
|
-
server.tool('omniwire_vpn', 'Manage VPN on mesh nodes (Mullvad/OpenVPN/WireGuard).
|
|
805
|
-
action: z.enum([
|
|
804
|
+
server.tool('omniwire_vpn', 'Manage VPN on mesh nodes (Mullvad/OpenVPN/WireGuard/Tailscale). Mesh-safe: split-tunnel or namespace isolation. Mullvad advanced: multi-hop, DAITA, quantum-resistant tunnels, DNS-over-HTTPS, obfuscation, kill-switch.', {
|
|
805
|
+
action: z.enum([
|
|
806
|
+
'connect', 'disconnect', 'status', 'list', 'ip', 'rotate', 'full-on', 'full-off',
|
|
807
|
+
'multihop', 'daita', 'quantum', 'obfuscation', 'dns', 'killswitch', 'split-tunnel', 'relay-set', 'account', 'settings'
|
|
808
|
+
]).describe('Core: connect/disconnect/status/list/ip/rotate/full-on/full-off. Mullvad: multihop (on/off/entry:exit), daita (on/off), quantum (on/off), obfuscation (on/off/udp2tcp/shadowsocks), dns (custom/default), killswitch (on/off), split-tunnel (add/remove/list pid), relay-set (set relay constraints), account (info), settings (show all)'),
|
|
806
809
|
node: z.string().optional().describe('Node to manage VPN on (default: contabo)'),
|
|
807
810
|
provider: z.enum(['mullvad', 'openvpn', 'wireguard', 'tailscale']).optional().describe('VPN provider (default: auto-detect)'),
|
|
808
|
-
server: z.string().optional().describe('Server/relay
|
|
809
|
-
config: z.string().optional().describe('
|
|
811
|
+
server: z.string().optional().describe('Server/relay. Mullvad: country (se), city (se-got), relay (se-got-wg-001). OpenVPN: config path. WireGuard: interface. Tailscale: exit node.'),
|
|
812
|
+
config: z.string().optional().describe('Config file path or feature value. For multihop: "entry:exit" (e.g. "se:us"). For dns: IP address. For obfuscation: "udp2tcp" or "shadowsocks". For split-tunnel: PID or process name.'),
|
|
810
813
|
}, async ({ action, node, provider, server: vpnServer, config }) => {
|
|
811
814
|
const nodeId = node ?? 'contabo';
|
|
812
815
|
// Auto-detect provider (prefer mullvad > tailscale > openvpn > wireguard)
|
|
@@ -822,9 +825,17 @@ tags: ${meshNode.tags.join(', ')}`;
|
|
|
822
825
|
const splitSetup = 'mullvad split-tunnel set state on 2>/dev/null; mullvad lan set allow 2>/dev/null;';
|
|
823
826
|
switch (action) {
|
|
824
827
|
case 'connect': {
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
+
let relay = '';
|
|
829
|
+
if (vpnServer) {
|
|
830
|
+
relay = `mullvad relay set location ${vpnServer} && `;
|
|
831
|
+
}
|
|
832
|
+
else if (config === 'fastest' || config === 'auto' || !config) {
|
|
833
|
+
// Mullvad auto-selects lowest latency relay by default when no location is set
|
|
834
|
+
// Just ensure WireGuard protocol for best speed
|
|
835
|
+
relay = 'mullvad relay set tunnel-protocol wireguard 2>/dev/null; ';
|
|
836
|
+
}
|
|
837
|
+
const result = await manager.exec(nodeId, `${splitSetup} ${relay}mullvad connect && sleep 2 && mullvad status && echo "---relay---" && mullvad relay get | head -3 && echo "---ip---" && curl -s --max-time 5 https://am.i.mullvad.net/json 2>/dev/null | grep -E "ip|country|city|mullvad_exit" && echo "---mesh---" && ip route get 10.10.0.1 2>/dev/null | head -1`);
|
|
838
|
+
return ok(nodeId, result.durationMs, result.stdout, `mullvad connect${vpnServer ? ` ${vpnServer}` : ' (auto-fastest)'}`);
|
|
828
839
|
}
|
|
829
840
|
case 'disconnect': {
|
|
830
841
|
const result = await manager.exec(nodeId, 'mullvad disconnect && mullvad status');
|
|
@@ -842,6 +853,113 @@ tags: ${meshNode.tags.join(', ')}`;
|
|
|
842
853
|
const result = await manager.exec(nodeId, `${splitSetup} mullvad disconnect && sleep 1 && mullvad relay set tunnel-protocol wireguard && mullvad connect && sleep 2 && mullvad status && echo "---ip---" && curl -s --max-time 5 https://am.i.mullvad.net/json | grep -E "ip|country|mullvad_exit"`);
|
|
843
854
|
return ok(nodeId, result.durationMs, result.stdout, 'mullvad rotate');
|
|
844
855
|
}
|
|
856
|
+
case 'multihop': {
|
|
857
|
+
// Multi-hop: traffic enters at one relay, exits at another. config = "entry:exit" e.g. "se:us"
|
|
858
|
+
if (!config && !vpnServer) {
|
|
859
|
+
// Toggle or show status
|
|
860
|
+
const result = await manager.exec(nodeId, 'mullvad tunnel get | grep -i multihop');
|
|
861
|
+
return ok(nodeId, result.durationMs, result.stdout, 'mullvad multihop status');
|
|
862
|
+
}
|
|
863
|
+
const toggle = config === 'off' ? 'off' : 'on';
|
|
864
|
+
let cmd = `mullvad tunnel set wireguard --multihop=${toggle}`;
|
|
865
|
+
if (toggle === 'on' && config && config.includes(':')) {
|
|
866
|
+
const [entry, exit] = config.split(':');
|
|
867
|
+
cmd += ` && mullvad relay set location ${exit} && mullvad relay set tunnel wireguard entry-location ${entry}`;
|
|
868
|
+
}
|
|
869
|
+
else if (vpnServer && toggle === 'on') {
|
|
870
|
+
cmd += ` && mullvad relay set location ${vpnServer}`;
|
|
871
|
+
}
|
|
872
|
+
cmd += ' && mullvad status';
|
|
873
|
+
const result = await manager.exec(nodeId, cmd);
|
|
874
|
+
return ok(nodeId, result.durationMs, result.stdout, `mullvad multihop ${toggle}`);
|
|
875
|
+
}
|
|
876
|
+
case 'daita': {
|
|
877
|
+
// DAITA: Defence Against AI-guided Traffic Analysis — pads packets to hide traffic patterns
|
|
878
|
+
const toggle = config === 'off' ? 'off' : 'on';
|
|
879
|
+
const result = await manager.exec(nodeId, `mullvad tunnel set wireguard --daita=${toggle} 2>&1 && mullvad tunnel get | grep -i daita && mullvad status`);
|
|
880
|
+
return ok(nodeId, result.durationMs, result.stdout, `mullvad daita ${toggle}`);
|
|
881
|
+
}
|
|
882
|
+
case 'quantum': {
|
|
883
|
+
// Quantum-resistant tunneling: post-quantum key exchange on WireGuard
|
|
884
|
+
const toggle = config === 'off' ? 'off' : 'on';
|
|
885
|
+
const result = await manager.exec(nodeId, `mullvad tunnel set wireguard --quantum-resistant=${toggle} 2>&1 && mullvad tunnel get | grep -i quantum && mullvad status`);
|
|
886
|
+
return ok(nodeId, result.durationMs, result.stdout, `mullvad quantum ${toggle}`);
|
|
887
|
+
}
|
|
888
|
+
case 'obfuscation': {
|
|
889
|
+
// Obfuscation: bypass DPI. Modes: auto, off, udp2tcp, shadowsocks
|
|
890
|
+
const mode = config ?? 'auto';
|
|
891
|
+
const result = await manager.exec(nodeId, `mullvad obfuscation set mode ${mode} 2>&1 && mullvad obfuscation get && mullvad status`);
|
|
892
|
+
return ok(nodeId, result.durationMs, result.stdout, `mullvad obfuscation ${mode}`);
|
|
893
|
+
}
|
|
894
|
+
case 'dns': {
|
|
895
|
+
// Custom DNS: set DNS server or reset to default (Mullvad DNS)
|
|
896
|
+
if (!config || config === 'default') {
|
|
897
|
+
const result = await manager.exec(nodeId, 'mullvad dns set default 2>&1 && mullvad dns get');
|
|
898
|
+
return ok(nodeId, result.durationMs, result.stdout, 'mullvad dns default');
|
|
899
|
+
}
|
|
900
|
+
// config = IP address or "content-blockers" for Mullvad's ad/tracker blocking DNS
|
|
901
|
+
const cmd = config === 'adblock'
|
|
902
|
+
? 'mullvad dns set custom --block-ads --block-trackers --block-malware 2>&1 && mullvad dns get'
|
|
903
|
+
: `mullvad dns set custom ${config} 2>&1 && mullvad dns get`;
|
|
904
|
+
const result = await manager.exec(nodeId, cmd);
|
|
905
|
+
return ok(nodeId, result.durationMs, result.stdout, `mullvad dns ${config}`);
|
|
906
|
+
}
|
|
907
|
+
case 'killswitch': {
|
|
908
|
+
// Kill switch: block all traffic if VPN disconnects
|
|
909
|
+
const toggle = config === 'off' ? 'off' : 'on';
|
|
910
|
+
const blockWhen = toggle === 'on' ? 'always' : 'only-when-connected';
|
|
911
|
+
const result = await manager.exec(nodeId, `mullvad always-require-vpn set ${blockWhen} 2>&1 && mullvad always-require-vpn get && mullvad lan set allow`);
|
|
912
|
+
return ok(nodeId, result.durationMs, result.stdout, `mullvad killswitch ${toggle}`);
|
|
913
|
+
}
|
|
914
|
+
case 'split-tunnel': {
|
|
915
|
+
// Split tunnel: exclude specific apps/PIDs from VPN
|
|
916
|
+
if (!config || config === 'list') {
|
|
917
|
+
const result = await manager.exec(nodeId, 'mullvad split-tunnel get 2>&1');
|
|
918
|
+
return ok(nodeId, result.durationMs, result.stdout, 'mullvad split-tunnel list');
|
|
919
|
+
}
|
|
920
|
+
if (config.startsWith('add:')) {
|
|
921
|
+
const pid = config.slice(4);
|
|
922
|
+
const result = await manager.exec(nodeId, `mullvad split-tunnel add ${pid} 2>&1 && mullvad split-tunnel get`);
|
|
923
|
+
return ok(nodeId, result.durationMs, result.stdout, `mullvad split-tunnel add ${pid}`);
|
|
924
|
+
}
|
|
925
|
+
if (config.startsWith('remove:') || config.startsWith('del:')) {
|
|
926
|
+
const pid = config.slice(config.indexOf(':') + 1);
|
|
927
|
+
const result = await manager.exec(nodeId, `mullvad split-tunnel delete ${pid} 2>&1 && mullvad split-tunnel get`);
|
|
928
|
+
return ok(nodeId, result.durationMs, result.stdout, `mullvad split-tunnel remove ${pid}`);
|
|
929
|
+
}
|
|
930
|
+
// Toggle state
|
|
931
|
+
const toggle = config === 'off' ? 'off' : 'on';
|
|
932
|
+
const result = await manager.exec(nodeId, `mullvad split-tunnel set state ${toggle} 2>&1 && mullvad split-tunnel get`);
|
|
933
|
+
return ok(nodeId, result.durationMs, result.stdout, `mullvad split-tunnel ${toggle}`);
|
|
934
|
+
}
|
|
935
|
+
case 'relay-set': {
|
|
936
|
+
// Set relay constraints: protocol, location, custom lists
|
|
937
|
+
if (!config && !vpnServer) {
|
|
938
|
+
const result = await manager.exec(nodeId, 'mullvad relay get 2>&1');
|
|
939
|
+
return ok(nodeId, result.durationMs, result.stdout, 'mullvad relay config');
|
|
940
|
+
}
|
|
941
|
+
const loc = vpnServer ?? '';
|
|
942
|
+
let cmd = '';
|
|
943
|
+
if (loc)
|
|
944
|
+
cmd += `mullvad relay set location ${loc}; `;
|
|
945
|
+
if (config === 'wireguard' || config === 'wg')
|
|
946
|
+
cmd += 'mullvad relay set tunnel-protocol wireguard; ';
|
|
947
|
+
if (config === 'openvpn')
|
|
948
|
+
cmd += 'mullvad relay set tunnel-protocol openvpn; ';
|
|
949
|
+
if (config === 'any')
|
|
950
|
+
cmd += 'mullvad relay set tunnel-protocol any; ';
|
|
951
|
+
cmd += 'mullvad relay get && mullvad status';
|
|
952
|
+
const result = await manager.exec(nodeId, cmd);
|
|
953
|
+
return ok(nodeId, result.durationMs, result.stdout, `mullvad relay ${loc || config || 'get'}`);
|
|
954
|
+
}
|
|
955
|
+
case 'account': {
|
|
956
|
+
const result = await manager.exec(nodeId, 'mullvad account get 2>&1');
|
|
957
|
+
return ok(nodeId, result.durationMs, result.stdout, 'mullvad account');
|
|
958
|
+
}
|
|
959
|
+
case 'settings': {
|
|
960
|
+
const result = await manager.exec(nodeId, 'mullvad status && echo "===tunnel===" && mullvad tunnel get && echo "===relay===" && mullvad relay get && echo "===dns===" && mullvad dns get && echo "===obfuscation===" && mullvad obfuscation get && echo "===split-tunnel===" && mullvad split-tunnel get 2>/dev/null && echo "===killswitch===" && mullvad always-require-vpn get 2>/dev/null');
|
|
961
|
+
return ok(nodeId, result.durationMs, result.stdout, 'mullvad all settings');
|
|
962
|
+
}
|
|
845
963
|
}
|
|
846
964
|
}
|
|
847
965
|
if (detected === 'openvpn') {
|
|
@@ -970,7 +1088,279 @@ tags: ${meshNode.tags.join(', ')}`;
|
|
|
970
1088
|
}
|
|
971
1089
|
return fail(`No VPN provider found on ${nodeId}. Install mullvad, tailscale, openvpn, or wireguard.`);
|
|
972
1090
|
});
|
|
973
|
-
// --- Tool 31:
|
|
1091
|
+
// --- Tool 31: omniwire_firewall ---
|
|
1092
|
+
server.tool('omniwire_firewall', 'Firewall engine for mesh nodes. Hardens external-facing security while keeping mesh traffic at full speed. Uses nftables (zero-copy, kernel-level). Mesh interfaces (wg0, wg1, tailscale0) are always whitelisted.', {
|
|
1093
|
+
action: z.enum([
|
|
1094
|
+
'status', 'harden', 'unharden', 'rule-add', 'rule-del', 'rule-list',
|
|
1095
|
+
'rate-limit', 'geo-block', 'port-knock', 'whitelist', 'blacklist',
|
|
1096
|
+
'preset', 'flush', 'save', 'restore', 'audit', 'ban', 'unban'
|
|
1097
|
+
]).describe('status=show rules, harden=apply security preset, unharden=remove hardening, rule-add/del/list=manual rules, rate-limit=configure, geo-block=by country, port-knock=setup, whitelist/blacklist=IP lists, preset=named configs, flush=clear all, save/restore=persist, audit=show blocked traffic log, ban/unban=IP'),
|
|
1098
|
+
node: z.string().optional().describe('Target node (default: contabo). Use "all" for all nodes.'),
|
|
1099
|
+
rule: z.string().optional().describe('Rule spec. For rule-add: "input tcp 8080 accept", "input tcp 22 drop src=1.2.3.4", "output udp 53 accept". For rate-limit: "ssh 5/min", "http 100/sec". For geo-block: "CN,RU,KP" (ISO codes). For port-knock: "7000,8000,9000->22". For ban/unban: IP address. For preset: "paranoid", "server", "minimal", "pentest".'),
|
|
1100
|
+
config: z.string().optional().describe('Additional config. For whitelist/blacklist: IP or CIDR. For preset: override options.'),
|
|
1101
|
+
}, async ({ action, node, rule, config }) => {
|
|
1102
|
+
const targetNodes = node === 'all' ? manager.getOnlineNodes().filter(n => n !== 'windows') : [node ?? 'contabo'];
|
|
1103
|
+
// Mesh-safe preamble: ALWAYS allow mesh traffic before any hardening
|
|
1104
|
+
const meshWhitelist = [
|
|
1105
|
+
'nft add rule inet omniwire input iifname "wg0" accept 2>/dev/null',
|
|
1106
|
+
'nft add rule inet omniwire input iifname "wg1" accept 2>/dev/null',
|
|
1107
|
+
'nft add rule inet omniwire input iifname "tailscale0" accept 2>/dev/null',
|
|
1108
|
+
'nft add rule inet omniwire input ip saddr 10.10.0.0/24 accept 2>/dev/null',
|
|
1109
|
+
'nft add rule inet omniwire input ip saddr 10.20.0.0/24 accept 2>/dev/null',
|
|
1110
|
+
'nft add rule inet omniwire input ip saddr 100.64.0.0/10 accept 2>/dev/null',
|
|
1111
|
+
'nft add rule inet omniwire output oifname "wg0" accept 2>/dev/null',
|
|
1112
|
+
'nft add rule inet omniwire output oifname "wg1" accept 2>/dev/null',
|
|
1113
|
+
'nft add rule inet omniwire output oifname "tailscale0" accept 2>/dev/null',
|
|
1114
|
+
].join('; ');
|
|
1115
|
+
const ensureTable = 'nft list table inet omniwire >/dev/null 2>&1 || nft add table inet omniwire; ' +
|
|
1116
|
+
'nft list chain inet omniwire input >/dev/null 2>&1 || nft add chain inet omniwire input { type filter hook input priority 0\\; policy accept\\; }; ' +
|
|
1117
|
+
'nft list chain inet omniwire output >/dev/null 2>&1 || nft add chain inet omniwire output { type filter hook output priority 0\\; policy accept\\; }; ' +
|
|
1118
|
+
'nft list chain inet omniwire forward >/dev/null 2>&1 || nft add chain inet omniwire forward { type filter hook forward priority 0\\; policy accept\\; }';
|
|
1119
|
+
if (action === 'status') {
|
|
1120
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1121
|
+
const r = await manager.exec(n, 'nft list table inet omniwire 2>/dev/null || echo "no omniwire table"; echo "---iptables---"; iptables -L -n --line-numbers 2>/dev/null | head -30');
|
|
1122
|
+
return { ...r, nodeId: n };
|
|
1123
|
+
}));
|
|
1124
|
+
return multiResult(results);
|
|
1125
|
+
}
|
|
1126
|
+
if (action === 'harden') {
|
|
1127
|
+
const preset = rule ?? 'server';
|
|
1128
|
+
const presets = {
|
|
1129
|
+
// Server preset: SSH rate-limit, drop invalid, allow established, block common attack ports
|
|
1130
|
+
server: [
|
|
1131
|
+
ensureTable,
|
|
1132
|
+
meshWhitelist,
|
|
1133
|
+
// Allow loopback
|
|
1134
|
+
'nft add rule inet omniwire input iifname "lo" accept',
|
|
1135
|
+
// Allow established/related
|
|
1136
|
+
'nft add rule inet omniwire input ct state established,related accept',
|
|
1137
|
+
// Drop invalid
|
|
1138
|
+
'nft add rule inet omniwire input ct state invalid drop',
|
|
1139
|
+
// SSH rate limit: 5 new connections per minute per source IP
|
|
1140
|
+
'nft add rule inet omniwire input tcp dport 22 ct state new meter ssh-meter { ip saddr limit rate 5/minute } accept',
|
|
1141
|
+
'nft add rule inet omniwire input tcp dport 22 ct state new drop',
|
|
1142
|
+
// Allow HTTP/HTTPS
|
|
1143
|
+
'nft add rule inet omniwire input tcp dport { 80, 443 } accept',
|
|
1144
|
+
// Allow DNS
|
|
1145
|
+
'nft add rule inet omniwire input udp dport 53 accept',
|
|
1146
|
+
'nft add rule inet omniwire input tcp dport 53 accept',
|
|
1147
|
+
// Allow ICMP (ping) rate-limited
|
|
1148
|
+
'nft add rule inet omniwire input icmp type echo-request limit rate 10/second accept',
|
|
1149
|
+
'nft add rule inet omniwire input icmp type echo-request drop',
|
|
1150
|
+
// Drop port scans (SYN without ACK to closed ports)
|
|
1151
|
+
'nft add rule inet omniwire input tcp flags syn / syn,ack,fin,rst ct state new log prefix "SYN-SCAN: " limit rate 5/minute drop',
|
|
1152
|
+
// Block common attack ports
|
|
1153
|
+
'nft add rule inet omniwire input tcp dport { 23, 445, 1433, 1521, 3306, 3389, 5432, 6379, 9200, 27017 } drop',
|
|
1154
|
+
// Log and drop everything else
|
|
1155
|
+
'nft add rule inet omniwire input log prefix "FW-DROP: " limit rate 10/minute drop',
|
|
1156
|
+
// Set default policy to drop
|
|
1157
|
+
'nft chain inet omniwire input { policy drop\\; }',
|
|
1158
|
+
].join('; '),
|
|
1159
|
+
// Paranoid: everything blocked except mesh + SSH
|
|
1160
|
+
paranoid: [
|
|
1161
|
+
ensureTable,
|
|
1162
|
+
'nft flush chain inet omniwire input 2>/dev/null',
|
|
1163
|
+
meshWhitelist,
|
|
1164
|
+
'nft add rule inet omniwire input iifname "lo" accept',
|
|
1165
|
+
'nft add rule inet omniwire input ct state established,related accept',
|
|
1166
|
+
'nft add rule inet omniwire input ct state invalid drop',
|
|
1167
|
+
'nft add rule inet omniwire input tcp dport 22 ct state new meter ssh-paranoid { ip saddr limit rate 3/minute } accept',
|
|
1168
|
+
'nft add rule inet omniwire input tcp dport 22 ct state new drop',
|
|
1169
|
+
'nft add rule inet omniwire input icmp type echo-request limit rate 2/second accept',
|
|
1170
|
+
'nft add rule inet omniwire input log prefix "PARANOID-DROP: " limit rate 5/minute drop',
|
|
1171
|
+
'nft chain inet omniwire input { policy drop\\; }',
|
|
1172
|
+
].join('; '),
|
|
1173
|
+
// Minimal: just rate-limiting and invalid drop, no policy change
|
|
1174
|
+
minimal: [
|
|
1175
|
+
ensureTable,
|
|
1176
|
+
meshWhitelist,
|
|
1177
|
+
'nft add rule inet omniwire input ct state invalid drop',
|
|
1178
|
+
'nft add rule inet omniwire input tcp dport 22 ct state new meter ssh-min { ip saddr limit rate 10/minute } accept',
|
|
1179
|
+
'nft add rule inet omniwire input icmp type echo-request limit rate 20/second accept',
|
|
1180
|
+
].join('; '),
|
|
1181
|
+
// Pentest: allow all outbound, harden inbound, keep common tool ports open
|
|
1182
|
+
pentest: [
|
|
1183
|
+
ensureTable,
|
|
1184
|
+
meshWhitelist,
|
|
1185
|
+
'nft add rule inet omniwire input iifname "lo" accept',
|
|
1186
|
+
'nft add rule inet omniwire input ct state established,related accept',
|
|
1187
|
+
'nft add rule inet omniwire input ct state invalid drop',
|
|
1188
|
+
'nft add rule inet omniwire input tcp dport 22 ct state new meter ssh-pt { ip saddr limit rate 5/minute } accept',
|
|
1189
|
+
'nft add rule inet omniwire input tcp dport 22 ct state new drop',
|
|
1190
|
+
// Allow callback ports for reverse shells during pentests
|
|
1191
|
+
'nft add rule inet omniwire input tcp dport { 80, 443, 4444, 8080, 8443, 9001 } accept',
|
|
1192
|
+
'nft add rule inet omniwire input udp dport { 53, 69 } accept',
|
|
1193
|
+
// Allow all outbound (needed for scanning)
|
|
1194
|
+
'nft add rule inet omniwire output accept',
|
|
1195
|
+
'nft add rule inet omniwire input log prefix "PT-DROP: " limit rate 10/minute drop',
|
|
1196
|
+
'nft chain inet omniwire input { policy drop\\; }',
|
|
1197
|
+
].join('; '),
|
|
1198
|
+
};
|
|
1199
|
+
const presetCmd = presets[preset];
|
|
1200
|
+
if (!presetCmd)
|
|
1201
|
+
return fail(`Unknown preset: ${preset}. Available: server, paranoid, minimal, pentest`);
|
|
1202
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1203
|
+
const r = await manager.exec(n, presetCmd + '; echo "---status---"; nft list chain inet omniwire input 2>/dev/null | wc -l');
|
|
1204
|
+
return { ...r, nodeId: n };
|
|
1205
|
+
}));
|
|
1206
|
+
return multiResult(results);
|
|
1207
|
+
}
|
|
1208
|
+
if (action === 'unharden') {
|
|
1209
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1210
|
+
const r = await manager.exec(n, 'nft flush table inet omniwire 2>/dev/null; nft chain inet omniwire input { policy accept\\; } 2>/dev/null; nft chain inet omniwire output { policy accept\\; } 2>/dev/null; nft chain inet omniwire forward { policy accept\\; } 2>/dev/null; echo "firewall relaxed"');
|
|
1211
|
+
return { ...r, nodeId: n };
|
|
1212
|
+
}));
|
|
1213
|
+
return multiResult(results);
|
|
1214
|
+
}
|
|
1215
|
+
if (action === 'rule-add' && rule) {
|
|
1216
|
+
// Parse: "input tcp 8080 accept" or "input tcp 22 drop src=1.2.3.4"
|
|
1217
|
+
const parts = rule.split(/\s+/);
|
|
1218
|
+
const chain = parts[0] ?? 'input'; // input/output/forward
|
|
1219
|
+
const proto = parts[1] ?? 'tcp';
|
|
1220
|
+
const port = parts[2] ?? '';
|
|
1221
|
+
const verdict = parts[3] ?? 'accept';
|
|
1222
|
+
const srcMatch = rule.match(/src=(\S+)/);
|
|
1223
|
+
let nftCmd = `${ensureTable}; ${meshWhitelist}; nft add rule inet omniwire ${chain}`;
|
|
1224
|
+
if (proto)
|
|
1225
|
+
nftCmd += ` ${proto} dport ${port}`;
|
|
1226
|
+
if (srcMatch)
|
|
1227
|
+
nftCmd += ` ip saddr ${srcMatch[1]}`;
|
|
1228
|
+
nftCmd += ` ${verdict}`;
|
|
1229
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1230
|
+
const r = await manager.exec(n, nftCmd);
|
|
1231
|
+
return { ...r, nodeId: n };
|
|
1232
|
+
}));
|
|
1233
|
+
return multiResult(results);
|
|
1234
|
+
}
|
|
1235
|
+
if (action === 'rule-del' && rule) {
|
|
1236
|
+
// rule = handle number or pattern
|
|
1237
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1238
|
+
const r = await manager.exec(n, `nft -a list chain inet omniwire input 2>/dev/null | grep "${rule}" | awk '{print $NF}' | while read h; do nft delete rule inet omniwire input handle "$h"; done; echo "deleted rules matching: ${rule}"`);
|
|
1239
|
+
return { ...r, nodeId: n };
|
|
1240
|
+
}));
|
|
1241
|
+
return multiResult(results);
|
|
1242
|
+
}
|
|
1243
|
+
if (action === 'rule-list') {
|
|
1244
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1245
|
+
const r = await manager.exec(n, 'nft -a list table inet omniwire 2>/dev/null || echo "no rules"');
|
|
1246
|
+
return { ...r, nodeId: n };
|
|
1247
|
+
}));
|
|
1248
|
+
return multiResult(results);
|
|
1249
|
+
}
|
|
1250
|
+
if (action === 'rate-limit' && rule) {
|
|
1251
|
+
// rule = "ssh 5/min" or "http 100/sec"
|
|
1252
|
+
const [service, rate] = rule.split(/\s+/);
|
|
1253
|
+
const portMap = { ssh: '22', http: '80', https: '443', dns: '53', smtp: '25' };
|
|
1254
|
+
const port = portMap[service] ?? service;
|
|
1255
|
+
const nftCmd = `${ensureTable}; ${meshWhitelist}; nft add rule inet omniwire input tcp dport ${port} ct state new meter rate-${service} { ip saddr limit rate ${rate} } accept; nft add rule inet omniwire input tcp dport ${port} ct state new drop`;
|
|
1256
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1257
|
+
const r = await manager.exec(n, nftCmd);
|
|
1258
|
+
return { ...r, nodeId: n };
|
|
1259
|
+
}));
|
|
1260
|
+
return multiResult(results);
|
|
1261
|
+
}
|
|
1262
|
+
if (action === 'geo-block' && rule) {
|
|
1263
|
+
// rule = "CN,RU,KP" — uses ipset with country IP ranges
|
|
1264
|
+
const countries = rule.toUpperCase().split(',').map(c => c.trim());
|
|
1265
|
+
const geoScript = countries.map(cc => `curl -sf "https://www.ipdeny.com/ipblocks/data/aggregated/${cc.toLowerCase()}-aggregated-zone" 2>/dev/null | while read cidr; do nft add element inet omniwire geoblock { "$cidr" } 2>/dev/null; done`).join('; ');
|
|
1266
|
+
const cmd = `${ensureTable}; nft add set inet omniwire geoblock { type ipv4_addr\\; flags interval\\; } 2>/dev/null; ${geoScript}; nft add rule inet omniwire input ip saddr @geoblock drop 2>/dev/null; echo "geo-blocked: ${countries.join(',')}"`;
|
|
1267
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1268
|
+
const r = await manager.exec(n, cmd);
|
|
1269
|
+
return { ...r, nodeId: n };
|
|
1270
|
+
}));
|
|
1271
|
+
return multiResult(results);
|
|
1272
|
+
}
|
|
1273
|
+
if (action === 'port-knock' && rule) {
|
|
1274
|
+
// rule = "7000,8000,9000->22" — knock sequence to open SSH
|
|
1275
|
+
const match = rule.match(/^([\d,]+)->(\d+)$/);
|
|
1276
|
+
if (!match)
|
|
1277
|
+
return fail('Format: "port1,port2,port3->target_port" e.g. "7000,8000,9000->22"');
|
|
1278
|
+
const ports = match[1].split(',');
|
|
1279
|
+
const target = match[2];
|
|
1280
|
+
// Uses nftables recent match simulation with sets and timeouts
|
|
1281
|
+
const knockScript = `${ensureTable};
|
|
1282
|
+
nft add set inet omniwire knock1 { type ipv4_addr\\; timeout 10s\\; } 2>/dev/null;
|
|
1283
|
+
nft add set inet omniwire knock2 { type ipv4_addr\\; timeout 10s\\; } 2>/dev/null;
|
|
1284
|
+
nft add set inet omniwire knock3 { type ipv4_addr\\; timeout 15s\\; } 2>/dev/null;
|
|
1285
|
+
nft add rule inet omniwire input tcp dport ${ports[0]} add @knock1 { ip saddr } drop 2>/dev/null;
|
|
1286
|
+
nft add rule inet omniwire input ip saddr @knock1 tcp dport ${ports[1]} add @knock2 { ip saddr } drop 2>/dev/null;
|
|
1287
|
+
nft add rule inet omniwire input ip saddr @knock2 tcp dport ${ports[2]} add @knock3 { ip saddr } drop 2>/dev/null;
|
|
1288
|
+
nft add rule inet omniwire input ip saddr @knock3 tcp dport ${target} accept 2>/dev/null;
|
|
1289
|
+
echo "port-knock configured: ${ports.join(' -> ')} -> port ${target}"`;
|
|
1290
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1291
|
+
const r = await manager.exec(n, knockScript.replace(/\n/g, ' '));
|
|
1292
|
+
return { ...r, nodeId: n };
|
|
1293
|
+
}));
|
|
1294
|
+
return multiResult(results);
|
|
1295
|
+
}
|
|
1296
|
+
if (action === 'whitelist' && (rule || config)) {
|
|
1297
|
+
const ip = rule ?? config;
|
|
1298
|
+
const cmd = `${ensureTable}; ${meshWhitelist}; nft add rule inet omniwire input ip saddr ${ip} accept; echo "whitelisted ${ip}"`;
|
|
1299
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1300
|
+
const r = await manager.exec(n, cmd);
|
|
1301
|
+
return { ...r, nodeId: n };
|
|
1302
|
+
}));
|
|
1303
|
+
return multiResult(results);
|
|
1304
|
+
}
|
|
1305
|
+
if (action === 'blacklist' && (rule || config)) {
|
|
1306
|
+
const ip = rule ?? config;
|
|
1307
|
+
const cmd = `${ensureTable}; nft insert rule inet omniwire input ip saddr ${ip} drop; echo "blacklisted ${ip}"`;
|
|
1308
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1309
|
+
const r = await manager.exec(n, cmd);
|
|
1310
|
+
return { ...r, nodeId: n };
|
|
1311
|
+
}));
|
|
1312
|
+
return multiResult(results);
|
|
1313
|
+
}
|
|
1314
|
+
if (action === 'ban' && rule) {
|
|
1315
|
+
const cmd = `${ensureTable}; nft insert rule inet omniwire input ip saddr ${rule} counter drop; nft insert rule inet omniwire output ip daddr ${rule} counter drop; echo "banned ${rule} (in+out)"`;
|
|
1316
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1317
|
+
const r = await manager.exec(n, cmd);
|
|
1318
|
+
return { ...r, nodeId: n };
|
|
1319
|
+
}));
|
|
1320
|
+
return multiResult(results);
|
|
1321
|
+
}
|
|
1322
|
+
if (action === 'unban' && rule) {
|
|
1323
|
+
const cmd = `nft -a list table inet omniwire 2>/dev/null | grep "${rule}" | awk '{print $NF}' | while read h; do for chain in input output forward; do nft delete rule inet omniwire "$chain" handle "$h" 2>/dev/null; done; done; echo "unbanned ${rule}"`;
|
|
1324
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1325
|
+
const r = await manager.exec(n, cmd);
|
|
1326
|
+
return { ...r, nodeId: n };
|
|
1327
|
+
}));
|
|
1328
|
+
return multiResult(results);
|
|
1329
|
+
}
|
|
1330
|
+
if (action === 'flush') {
|
|
1331
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1332
|
+
const r = await manager.exec(n, 'nft flush table inet omniwire 2>/dev/null; echo "flushed all rules"');
|
|
1333
|
+
return { ...r, nodeId: n };
|
|
1334
|
+
}));
|
|
1335
|
+
return multiResult(results);
|
|
1336
|
+
}
|
|
1337
|
+
if (action === 'save') {
|
|
1338
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1339
|
+
const r = await manager.exec(n, 'nft list table inet omniwire > /etc/omniwire/firewall.nft 2>/dev/null && echo "saved to /etc/omniwire/firewall.nft" || echo "no rules to save"');
|
|
1340
|
+
return { ...r, nodeId: n };
|
|
1341
|
+
}));
|
|
1342
|
+
return multiResult(results);
|
|
1343
|
+
}
|
|
1344
|
+
if (action === 'restore') {
|
|
1345
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1346
|
+
const r = await manager.exec(n, 'nft -f /etc/omniwire/firewall.nft 2>/dev/null && echo "restored" || echo "no saved rules"');
|
|
1347
|
+
return { ...r, nodeId: n };
|
|
1348
|
+
}));
|
|
1349
|
+
return multiResult(results);
|
|
1350
|
+
}
|
|
1351
|
+
if (action === 'audit') {
|
|
1352
|
+
const results = await Promise.all(targetNodes.map(async (n) => {
|
|
1353
|
+
const r = await manager.exec(n, 'journalctl -k --no-pager -n 50 2>/dev/null | grep -E "FW-DROP|SYN-SCAN|PARANOID|PT-DROP" | tail -20 || dmesg | grep -E "FW-DROP|SYN-SCAN" | tail -20 || echo "no blocked traffic logged"');
|
|
1354
|
+
return { ...r, nodeId: n };
|
|
1355
|
+
}));
|
|
1356
|
+
return multiResult(results);
|
|
1357
|
+
}
|
|
1358
|
+
if (action === 'preset') {
|
|
1359
|
+
return okBrief('Available presets:\n- server: SSH rate-limit, drop invalid, block DB ports, allow HTTP/HTTPS\n- paranoid: block everything except mesh + SSH (3/min)\n- minimal: just rate-limiting, no policy change\n- pentest: harden inbound, allow outbound + callback ports (4444, 8080, etc)');
|
|
1360
|
+
}
|
|
1361
|
+
return fail('Invalid action or missing params');
|
|
1362
|
+
});
|
|
1363
|
+
// --- Tool 32: omniwire_clipboard ---
|
|
974
1364
|
server.tool('omniwire_clipboard', 'Copy text between nodes via a shared clipboard buffer.', {
|
|
975
1365
|
action: z.enum(['copy', 'paste', 'clear']).describe('Action'),
|
|
976
1366
|
content: z.string().optional().describe('Text to copy (for copy action)'),
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED