Update README

Signed-off-by: HeshamTB <hishaminv@gmail.com>
This commit is contained in:
HeshamTB 2024-03-18 23:10:41 +03:00
parent 82d6ac96e4
commit 77c41ce3f3
Signed by: Hesham
GPG Key ID: 74876157D199B09E
2 changed files with 44 additions and 7 deletions

View File

@ -1,15 +1,44 @@
# hvpn-node3 # hvpn-node3
## Build
```bash
cd cmd/hvpn-node && go build .
``` ```
NAME:
./hvpn-node - HVPN node API server
USAGE: ## Run
./hvpn-node [global options] [arguments...] With root (no recommended!)
```bash
sudo ./hvpn-node
```
Without root; using libcap
```bash
set_cap.sh && ./hvpn-node
```
The program creates a keys for the wireguad interface if non are given.
The device name is `hvpn0`.
AUTHOR: ## Add a peer
Hesham T. Banafa <hishaminv@gmail.com> ```bash
curl -X POST \
-d '{"public_key": "TxPfKra6/BQ2tkVXHM/PjeJgzX7j0I07acOn+2re/yI="}' \
localhost:8080/peer
```
Response body
```json
{
"mtu": 1380,
"public_key": "TxPfKra6/BQ2tkVXHM/PjeJgzX7j0I07acOn+2re/yI=",
"public_key_url_safe": "TxPfKra6%2FBQ2tkVXHM%2FPjeJgzX7j0I07acOn%2B2re%2FyI%3D",
"endpoint": "",
"allowed_ips": "10.42.0.1",
"presistent_keepalive": 25000000000,
"TX": 0,
"RX": 0
}
```
## CLI options
```
GLOBAL OPTIONS: GLOBAL OPTIONS:
--log-level value (default: "INFO") [$LOG_LEVEL] --log-level value (default: "INFO") [$LOG_LEVEL]
--private-key value Path to file with private key --private-key value Path to file with private key
@ -20,4 +49,12 @@ GLOBAL OPTIONS:
--host value IP address to listen on for HTTP API requests (default: "0.0.0.0") --host value IP address to listen on for HTTP API requests (default: "0.0.0.0")
--http-port value TCP Port for HTTP API (default: 8080) --http-port value TCP Port for HTTP API (default: 8080)
--help, -h show help --help, -h show help
TLS:
--cert value Server x509 certificate file
--cert-private-key value Server x509 certificate private key file
--client-certs value, --ca value Clients x509 file with single or many certificates
--enable-tls, --tls (default: false)
``` ```

View File

@ -208,7 +208,7 @@ func createCliApp() *cli.App {
mTLSClientCerts := cli.PathFlag{ mTLSClientCerts := cli.PathFlag{
Name: "client-certs", Name: "client-certs",
Aliases: []string{"ca"}, Aliases: []string{"ca"},
Usage: "A path to PEM file with client certificates; Enables TLS", Usage: "Clients x509 file with single or many certificates",
Category: "\rTLS:", Category: "\rTLS:",
} }
app.Flags = append(app.Flags, &mTLSClientCerts) app.Flags = append(app.Flags, &mTLSClientCerts)