diff options
-rw-r--r-- | README.md | 10 | ||||
-rw-r--r-- | src/main.cpp | 10 | ||||
-rw-r--r-- | src/version.hpp | 3 |
3 files changed, 17 insertions, 6 deletions
@@ -97,10 +97,12 @@ specific components of the configurations and outputs them to `stdout`. The `ins installs the configuration with the appropriate permissions. ```plaintext -Usage: ./wg2nd { install, generate } [ OPTIONS ] { -h, CONFIG_FILE } +Usage: wg2nd { install, generate } [ OPTIONS ] { -h, CONFIG_FILE } +Usage: wg2nd version - CONFIG_FILE is the complete path to a WireGuard configuration file used by - `wg-quick`. `wg2nd` converts the WireGuard configuration to networkd files. + CONFIG_FILE is the complete path to a WireGuard configuration file, used by + `wg-quick`. `wg2nd` will convert the WireGuard configuration to networkd + files. The generated configurations are functionally equivalent to `wg-quick(8)` with the following exceptions: @@ -127,7 +129,7 @@ Usage: ./wg2nd { install, generate } [ OPTIONS ] { -h, CONFIG_FILE } ``` ```plaintext -Usage: ./wg2nd install [ -h ] [ -f FILE_NAME ] [ -o OUTPUT_PATH ] CONFIG_FILE +Usage: wg2nd install [ -h ] [ -f FILE_NAME ] [ -o OUTPUT_PATH ] CONFIG_FILE `wg2nd install` translates `wg-quick(8)` configuration into corresponding `networkd` configuration and installs the resulting files in `OUTPUT_PATH`. diff --git a/src/main.cpp b/src/main.cpp index a5dbf8b..e685e10 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4,6 +4,8 @@ * Copyright (C) 2023 Alex David <flu0r1ne@flu0r1ne.net> */ +#include "version.hpp" + #include <iostream> #include <string> #include <vector> @@ -94,12 +96,14 @@ constexpr char const * DEFAULT_OUTPUT_PATH = "/etc/systemd/network/"; */ void die_usage(const char *prog) { - err("Usage: %s { install, generate } [ OPTIONS ] { -h, CONFIG_FILE }", prog); + err("Usage: %s { install, generate } [ OPTIONS ] { -h, CONFIG_FILE }", prog); + err("Usage: %s version", prog); die("Use -h for help"); } void print_help(const char *prog) { - err("Usage: %s { install, generate } [ OPTIONS ] { -h, CONFIG_FILE }\n", prog); + err("Usage: %s { install, generate } [ OPTIONS ] { -h, CONFIG_FILE }", prog); + err("Usage: %s version\n", prog); err(" CONFIG_FILE is the complete path to a WireGuard configuration file, used by"); err(" `wg-quick`. `wg2nd` will convert the WireGuard configuration to networkd"); err(" files.\n"); @@ -437,6 +441,8 @@ int main(int argc, char **argv) { return wg2nd_generate(prog, argc - 1, argv + 1); } else if (action == "install") { return wg2nd_install(prog, argc - 1, argv + 1); + } else if (action == "version") { + printf("%s\n", VERSION); } else if (action == "-h" || action == "--help") { print_help(prog); } else { diff --git a/src/version.hpp b/src/version.hpp new file mode 100644 index 0000000..3e8675e --- /dev/null +++ b/src/version.hpp @@ -0,0 +1,3 @@ +#pragma once + +constexpr char const * VERSION = "v0.1.0"; |