diff --git a/README.md b/README.md new file mode 100644 index 0000000..8c53bf5 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ + + +# wg-lua + +A lua implementation of the wireguard keygen algorithm. + +```lua +local wg = require("wg").wireguard +local keypair = wg:generateKeypair() + +print("Public Key: ", keypair.publicKey) +print("Private Key: ", keypair.privateKey) + +print(wg:generatePublicKey(keypair.privateKey)) +``` +## Methods + +- #### Wireguard:generateKeypair() -> { publicKey: string, privateKey: string } + > Generates a wireguard keypair consisting of a public and private key. +- #### Wireguard:generatePublicKey(privateKey: number[]) -> string + > Generates a wireguard public key, given a private key. + +## Development + +To get started, install the required dependencies with: +```console +aftman install +pnpm i +``` +Run tests with: +```console +pnpm test +``` + +Run any luau file with: +```console +./lunew +``` + +Run an example with: + +```console +./lunew example +``` +```