WireGuard configuration
Generate WireGuard configuration files. Hosted at https://egort.name/wireguard-config/.
Easily generate WireGuard client & server configuration for the following connection managers:
- wg-quick,
- systemd-networkd,
- NetworkManager,
ipand wg.
Take a look at an example configuration to learn more.
Description
WireGuard is incredibly flexible. For one thing, there's no built-in notion of a "server" and its "clients". However, I believe that there being a central server and a number of clients connected to it is a common use-case. Adding a client might not be easy, since their configuration is typically distributed in a file adhering to a WireGuard-specific format; these files can be tedious to write by hand. This project tries to make this task easier.
Security
This is a static website, so no server-side processing is happening. You can easily verify that your browser doesn't make any requests to any servers using your browser's debugging tools.
Development
This is a static website, generated using Jekyll.
Make sure you have Ruby and Bundler set up. GNU Make is used for shortcuts.
- Install dependencies by running
make deps. - Build the website by running
make build. - Launch a local web server by running
make serve. Access the website at http://localhost:4000/wireguard-config/.
jekyll-theme is used as a remote Jekyll theme.
Access via file://
Jekyll doesn't provide native support for generating a static website which can
be browsed without running a web server.
One workaround is to wget the website (use make wget).
The truly static version will be downloaded to the .wget/ directory.
Node.js dependencies
For IP address parsing and validation, ipaddr.js was used originally.
It is pre-built for browser use, which is nice; however, it's buggy.
It was replaced by ip-address, which is not browser-ready; instead,
Browserify is used to turn it into a suitable .js file
(make npm && make bundle).
This whole situation sucks, but I really want to keep this website static. TODO: find other options or wait until ipaddr.js fixes the bug.
License
Distributed under the MIT License. See LICENSE.txt for details.
