This project implements the WireGuard protocol in D.
The main part of the implementation is in proto.d.
Other part of the protocol include a Temps Atomique International (TAI)
struct, a Blake2s implementation,
some crypto primitives, and a key abstraction.
The library is meant to be used via its library subconfiguration:
"dependencies": {
"wireguard": "~>x.y.z"
},
"subConfigurations": {
"wireguard": "library"
}
This library also includes a simple client under its application
configuration. As this requires CAP_NET_ADMIN, you might need to run it as root.
$ dub build
$ export WIREGUARD_SECRET_KEY='my-secret-key'
$ sudo ./wireguard -k "$WIREGUARD_SECRET_KEY" --peer-identity 'public-key-of-peer' --peer-endpoint '10.0.0.2' -l 'local-ip-address' -p port-to-listen-to --peer-allowed-ips '10.0.0.1/32'
6 commits
Hacker News (1)
D
100.0%
This project implements the WireGuard protocol in D.
The main part of the implementation is in proto.d.
Other part of the protocol include a Temps Atomique International (TAI)
struct, a Blake2s implementation,
some crypto primitives, and a key abstraction.
The library is meant to be used via its library subconfiguration:
"dependencies": {
"wireguard": "~>x.y.z"
},
"subConfigurations": {
"wireguard": "library"
}
This library also includes a simple client under its application
configuration. As this requires CAP_NET_ADMIN, you might need to run it as root.
$ dub build
$ export WIREGUARD_SECRET_KEY='my-secret-key'
$ sudo ./wireguard -k "$WIREGUARD_SECRET_KEY" --peer-identity 'public-key-of-peer' --peer-endpoint '10.0.0.2' -l 'local-ip-address' -p port-to-listen-to --peer-allowed-ips '10.0.0.1/32'
Hacker News (1)
6 commits
D
100.0%