mirror of
https://github.com/angristan/wireguard-install.git
synced 2024-11-24 22:06:01 +03:00
Add headless documentation
This commit is contained in:
parent
b94cc63601
commit
7d4c11d507
51
README.md
51
README.md
@ -33,6 +33,57 @@ It will install WireGuard (kernel module and tools) on the server, configure it,
|
||||
|
||||
Run the script again to add or remove clients!
|
||||
|
||||
## Headless install
|
||||
|
||||
It's also possible to run the script headless, e.g. without waiting for user input, in an automated manner.
|
||||
|
||||
Example usage:
|
||||
|
||||
```bash
|
||||
AUTO_INSTALL=y ./wireguard-install.sh
|
||||
|
||||
# or
|
||||
|
||||
export AUTO_INSTALL=y
|
||||
./wireguard-install.sh
|
||||
```
|
||||
|
||||
A default set of variables will then be set, by passing the need for user input.
|
||||
|
||||
If you want to customise your installation, you can export them or specify them on the same line, as shown above.
|
||||
|
||||
- `APPROVE_INSTALL=y`
|
||||
- `APPROVE_IP=y`
|
||||
- `APPROVE_NIC=y`
|
||||
- `SERVER_WG_NIC=wg0`
|
||||
- `SERVER_WG_IPV4=10.66.66.1`
|
||||
- `SERVER_WG_IPV6=fd42:42:42::1`
|
||||
- `SERVER_PORT=51820`
|
||||
- `CLIENT_DNS_1=176.103.130.130`
|
||||
- `CLIENT_DNS_2=176.103.130.131`
|
||||
- `CLIENT_NAME=client`
|
||||
- `CLIENT_DOT_IPV4=2`
|
||||
- `CLIENT_DOT_IPV6=2`
|
||||
|
||||
If the server is behind NAT, you can specify its endpoint with the `SERVER_PUB_IP` variable. If the endpoint is the public IP address which it is behind, you can use `SERVER_PUB_IP=$(curl ifconfig.co)` (the script will default to this). The endpoint can be an IP or a domain.
|
||||
|
||||
Other variables can be set depending on your choice (`SERVER_NIC`). You can search for them in the `installQuestions()` function of the script.
|
||||
|
||||
## Headless User Addition
|
||||
|
||||
It's also possible to automate the addition of a new user. Here, the key is to provide the (string) value of the `MENU_OPTION` variable along with the remaining mandatory variables before invoking the script.
|
||||
|
||||
The following Bash script adds a new user `foo` to an existing WireGuard configuration
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
export MENU_OPTION="1"
|
||||
export CLIENT_NAME="foo"
|
||||
export CLIENT_DOT_IPV4="3"
|
||||
export CLIENT_DOT_IPV6="3"
|
||||
./wireguard-install.sh
|
||||
```
|
||||
|
||||
## Providers
|
||||
|
||||
I recommend these cheap cloud providers for your VPN server:
|
||||
|
Loading…
Reference in New Issue
Block a user