aboutsummaryrefslogtreecommitdiffstatshomepage

WireGuard configuration

Jekyll

Generate WireGuard configuration files. Hosted at https://egort.name/wireguard-config/.

Easily generate WireGuard client & server configuration for the following connection managers:

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.