diff options
-rw-r--r-- | README.md | 46 | ||||
-rw-r--r-- | nara.cabal | 8 |
2 files changed, 48 insertions, 6 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..75b6709 --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ + +**nara** is a userspace implementation of [WireGuard](https://www.wireguard.io), +a fast, modern and secure VPN based on [Noise](https://noiseprotocol.org/) protocol. + +### Build + +Only Linux and macOS are supported at this moment. + +To build **nara**, download and install [haskell-stack](https://github.com/commercialhaskell/stack) first. +~~~ +$ stack setup +$ stack install +~~~ + +### Usage + +The following command will create a TUN device named `wg0` and then daemonize +to background. +~~~ +# nara wg0 +~~~ + +After that, use the usual `wg` tool to configure the device. For most +distributions it's in the `wireguard-tools` package. Check the manpage +of `wg` for details. + +### Status + +Currently this is just a prototype, and there are still a lot to be done. + +- [ ] Documents and test coverage +- [ ] Receiver-side nonce deduplicate +- [ ] Logging and better exceptions handling +- [ ] Cookie support to prevent DDOS attack +- [ ] Full IPv6 support +- [ ] An accurate timer based approach to manage lifetimes +- [ ] Send ICMP packets back in case of unreachable hosts +- [ ] Persistent-keepalive +- [ ] Per-host packet queue +- [ ] Benchmark, and performance optimization +- [ ] FreeBSD support (perhaps Windows support as well) +- [ ] MTU discovery and setting + +### License + +This software is licensed in GPLv3+. @@ -10,12 +10,8 @@ build-type: Simple extra-source-files: include/uapi.h, cbits/tun.h cabal-version: >=1.10 description: - This is a userspace implementation of <https://www.wireguard.io WireGuard> , - which is a layer-3 VPN utilizing TUN device and - <https://github.com/trevp/noise/blob/master/noise.md Noise> protocol. - - The configuration tool "wg" from original project is also required, check - manpage of "wg" for details. + nara is a userspace implementation of <https://www.wireguard.io WireGuard> , + a fast, modern and secure VPN based on <https://noiseprotocol.org/ Noise> protocol. executable nara main-is: |