Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zbo14/wirevpn-server
Run a WireGuard VPN server on Ubuntu
https://github.com/zbo14/wirevpn-server
bash ubuntu vpn wireguard
Last synced: 6 days ago
JSON representation
Run a WireGuard VPN server on Ubuntu
- Host: GitHub
- URL: https://github.com/zbo14/wirevpn-server
- Owner: zbo14
- License: mit
- Created: 2020-02-20T01:42:57.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-02-22T18:10:18.000Z (almost 5 years ago)
- Last Synced: 2024-12-04T14:07:11.896Z (2 months ago)
- Topics: bash, ubuntu, vpn, wireguard
- Language: Shell
- Homepage:
- Size: 17.6 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wirevpn-server
Some scripts and config files to run a WireGuard VPN server on Ubuntu.
The VPN host runs an Unbound DNS server to handle client requests/prevent [DNS leaking](https://en.wikipedia.org/wiki/DNS_leak). By default, the VPN queries upstream DNS servers at Quad9/Cloudflare and sends requests over TLS.
## Install
`$ sh scripts/install.sh`
Install WireGuard, Unbound, and other required packages.
### Setup
`$ sh scripts/setup.sh`
This script does the following:
1. Generate public and private keys and write them to `~/.wireguard`
1. Encrypt the private key with a GPG key of your choosing
1. Write a WireGuard config to `/etc/wireguard`
1. Write the public key to stdout### Start
`$ sh scripts/start.sh`
This script does the following:
1. Bring up the WireGuard interface
1. Decrypt your private key with the GPG key you chose
1. Set the private key on the interface### Add client
```
$ sh scripts/addclient.shArguments:
ip - the desired tunnel IP address for the client
pubkey - the client's public key
presharedkey - the client's preshared key
```### Remove client
```
$ sh scripts/rmclient.shArguments:
pubkey - the client's public key
```### Stop
`$ sh scripts/stop.sh`
Bring down the WireGuard interface.