···
2
+
maintainer: "Christiano F. Haesbaert <haesbaert@haesbaert.org>"
3
+
authors: "Christiano F. Haesbaert <haesbaert@haesbaert.org>"
5
+
homepage: "https://github.com/haesbaert/rawlink"
6
+
bug-reports: "https://github.com/haesbaert/rawlink/issues"
7
+
dev-repo: "git+https://github.com/haesbaert/rawlink.git"
8
+
doc: "https://haesbaert.github.io/rawlink/"
10
+
[ "dune" "subst" ] {dev}
11
+
[ "dune" "build" "-p" name "-j" jobs ] ]
13
+
"ocaml" {>= "4.03.0"}
16
+
"cstruct" {>= "6.1.0"}
20
+
["linux-headers"] {os-distribution = "alpine"}
22
+
synopsis: "Portable library to read and write raw packets"
24
+
Rawlink is an ocaml library for sending and receiving raw packets at the link
25
+
layer level. Sometimes you need to have full control of the packet, including
26
+
building the full ethernet frame.
28
+
The API is platform independent, it uses BPF on real UNIXes and AF_SOCKET on
29
+
linux. Some functionality is sacrificed so that the API is portable enough.
31
+
Currently BPF and AF_PACKET are implemented, including filtering capabilities.
32
+
Writing a BPF program is a pain in the ass, so no facilities are provided for
33
+
it. If you need a BPF filter, I suggest you write a small .c file with a
34
+
function that returns the BPF program as a string, check `rawlink_stubs.c` for
39
+
"https://github.com/haesbaert/rawlink/releases/download/v1.2/rawlink-1.2.tbz"
41
+
"sha256=a712be95f636466536327fd92ce476fb72a4e06e1b82a85d5b471db8289a91e4"
42
+
"sha512=006a1d57b6e3093c929d0c1d3a53075059d0a35196eebb0b2f444aab3c7492a86befe22de700d40fb479a789470bfe4b1e8b83f02c878cf85b1b5b9d67778aad"
45
+
x-commit-hash: "276729fa02c22c0a1dc747e2ab5d7cc0926ebdaa"