frameassembly-wasm 1.4.2 → 1.4.3
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 +10 -10
- package/frameassembly_wasm_bg.wasm +0 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# FrameAssembly WebAssembly Compiler (`frameassembly-wasm` v1.4.
|
|
1
|
+
# FrameAssembly WebAssembly Compiler (`frameassembly-wasm` v1.4.3)
|
|
2
2
|
|
|
3
|
-
High-performance WebAssembly compiler, frame inspector, and UTF-16 IDE diagnostics for **FrameAssembly (`.fasm`)** — the
|
|
3
|
+
High-performance WebAssembly compiler, frame inspector, and UTF-16 IDE diagnostics for **FrameAssembly (`.fasm`)** — the **Packets as Code** domain-specific language for compiling `.fasm` code into deterministic `.pcapng` packet captures across 81 L2–L7 protocols for pentesting labs, testing firewall rules, simulating SNMPv1/v2c/v3 traps, and validating network monitoring and cybersecurity solutions in browser applications, web cyber ranges, and Node.js test suites. *(Note: FrameAssembly is a network protocol DSL, not x86 Flat Assembler).*
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
## Client-Side `.fasm` to `.pcapng` Compilation in the Browser & Node.js
|
|
8
8
|
|
|
9
|
-
`frameassembly-wasm` compiles the complete FrameAssembly Rust
|
|
9
|
+
`frameassembly-wasm` compiles the complete FrameAssembly Rust engine directly to WebAssembly, turning `.fasm` code into nanosecond-precision `.pcapng` byte streams and real-time Monaco/CodeMirror syntax diagnostics entirely in the browser or Node.js—with no backend packet-crafting server, root privileges (`CAP_NET_RAW`), Python `Scapy` runtime, manual `text2pcap` hex offsets, or native `libpcap` dependencies required:
|
|
10
10
|
|
|
11
11
|
```ts
|
|
12
12
|
import init, {
|
|
@@ -18,15 +18,15 @@ import init, {
|
|
|
18
18
|
// Initialize WASM module once at startup
|
|
19
19
|
await init();
|
|
20
20
|
|
|
21
|
-
const source = `
|
|
22
|
-
|
|
21
|
+
const source = `host client { ip 192.168.1.10 mac 00:11:22:33:44:55 }
|
|
22
|
+
host server { ip 8.8.8.8 mac aa:bb:cc:dd:ee:ff }
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
c -> s
|
|
26
|
-
c <- s
|
|
24
|
+
flow dns_query(c, s) {
|
|
25
|
+
c -> s dns query txid 0x1234 qname "example.com" qtype "A" wait 1ms
|
|
26
|
+
c <- s dns response txid 0x1234 qname "example.com" qtype "A" rdata "93.184.216.34" wait 1ms
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
compile {
|
|
30
30
|
dns_query(client, server)
|
|
31
31
|
}`;
|
|
32
32
|
|
|
@@ -64,7 +64,7 @@ npm install frameassembly-wasm
|
|
|
64
64
|
validate_fasm,
|
|
65
65
|
inspect_fasm,
|
|
66
66
|
compile_fasm_to_pcapng,
|
|
67
|
-
} from "https://cdn.jsdelivr.net/npm/frameassembly-wasm@1.4.
|
|
67
|
+
} from "https://cdn.jsdelivr.net/npm/frameassembly-wasm@1.4.3/frameassembly_wasm.js";
|
|
68
68
|
|
|
69
69
|
await init();
|
|
70
70
|
console.log("FrameAssembly WebAssembly engine loaded successfully.");
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
"Steve Winschel"
|
|
6
6
|
],
|
|
7
7
|
"description": "WebAssembly compiler, packet inspector, and IDE diagnostics for the FrameAssembly (.fasm) network packet synthesis DSL",
|
|
8
|
-
"version": "1.4.
|
|
8
|
+
"version": "1.4.3",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
12
|
-
"url": "https://github.com/SteveWinschel/FrameAssembly"
|
|
12
|
+
"url": "git+https://github.com/SteveWinschel/FrameAssembly.git"
|
|
13
13
|
},
|
|
14
14
|
"files": [
|
|
15
15
|
"frameassembly_wasm_bg.wasm",
|