diff --git a/development/404.html b/development/404.html index 271a6ea4..8da7b1f5 100644 --- a/development/404.html +++ b/development/404.html @@ -9,7 +9,7 @@ <meta name="description" content="The easiest way to run WireGuard VPN + Web-based Admin UI."> - <meta name="author" content="wg-easy (Github Organization)"> + <meta name="author" content="WireGuard Easy"> @@ -908,7 +908,8 @@ <div class="md-copyright"> <div class="md-copyright__highlight"> - <p>© <a href="https://github.com/wg-easy"><em>Wireguard Easy Organization</em></a><br/><span>This project is licensed under the GNU Affero General Public License v3.0 or later.</span></p> + <p> © <a href="https://github.com/wg-easy"><em>Wireguard Easy</em></a><br/> <span>This project is licensed under AGPL-3.0-only.</span><br/> <span>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security</span><br/> <span>"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld</span> </p> + </div> diff --git a/development/advanced/api/index.html b/development/advanced/api/index.html index 79a748a8..961b3607 100644 --- a/development/advanced/api/index.html +++ b/development/advanced/api/index.html @@ -9,7 +9,7 @@ <meta name="description" content="The easiest way to run WireGuard VPN + Web-based Admin UI."> - <meta name="author" content="wg-easy (Github Organization)"> + <meta name="author" content="WireGuard Easy"> <link rel="canonical" href="https://wg-easy.github.io/wg-easy/development/advanced/api/"> @@ -964,7 +964,8 @@ <div class="md-copyright"> <div class="md-copyright__highlight"> - <p>© <a href="https://github.com/wg-easy"><em>Wireguard Easy Organization</em></a><br/><span>This project is licensed under the GNU Affero General Public License v3.0 or later.</span></p> + <p> © <a href="https://github.com/wg-easy"><em>Wireguard Easy</em></a><br/> <span>This project is licensed under AGPL-3.0-only.</span><br/> <span>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security</span><br/> <span>"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld</span> </p> + </div> diff --git a/development/advanced/config/optional-config/index.html b/development/advanced/config/optional-config/index.html index cdc42684..3462ab99 100644 --- a/development/advanced/config/optional-config/index.html +++ b/development/advanced/config/optional-config/index.html @@ -9,7 +9,7 @@ <meta name="description" content="The easiest way to run WireGuard VPN + Web-based Admin UI."> - <meta name="author" content="wg-easy (Github Organization)"> + <meta name="author" content="WireGuard Easy"> <link rel="canonical" href="https://wg-easy.github.io/wg-easy/development/advanced/config/optional-config/"> @@ -964,7 +964,8 @@ <div class="md-copyright"> <div class="md-copyright__highlight"> - <p>© <a href="https://github.com/wg-easy"><em>Wireguard Easy Organization</em></a><br/><span>This project is licensed under the GNU Affero General Public License v3.0 or later.</span></p> + <p> © <a href="https://github.com/wg-easy"><em>Wireguard Easy</em></a><br/> <span>This project is licensed under AGPL-3.0-only.</span><br/> <span>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security</span><br/> <span>"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld</span> </p> + </div> diff --git a/development/advanced/migrate/from-14-to-15/index.html b/development/advanced/migrate/from-14-to-15/index.html index 5775a747..bbbecb3d 100644 --- a/development/advanced/migrate/from-14-to-15/index.html +++ b/development/advanced/migrate/from-14-to-15/index.html @@ -9,7 +9,7 @@ <meta name="description" content="The easiest way to run WireGuard VPN + Web-based Admin UI."> - <meta name="author" content="wg-easy (Github Organization)"> + <meta name="author" content="WireGuard Easy"> <link rel="canonical" href="https://wg-easy.github.io/wg-easy/development/advanced/migrate/from-14-to-15/"> @@ -1089,7 +1089,11 @@ <p>This guide will help you migrate from <code>v14</code> to version <code>v15</code> of <code>wg-easy</code>.</p> <h2 id="changes"><a class="toclink" href="#changes">Changes</a></h2> -<p>This is a complete rewrite of the <code>wg-easy</code> project. Therefore the configuration files and the way you interact with the project have changed.</p> +<ul> +<li>This is a complete rewrite of the <code>wg-easy</code> project. Therefore the configuration files and the way you interact with the project have changed.</li> +<li>If you use armv6 or armv7, you can't migrate to <code>v15</code> yet. We are working on it.</li> +<li>If you are connecting to the web ui via HTTP, you need to set the <code>INSECURE</code> environment variable to <code>true</code> in the new container.</li> +</ul> <h2 id="migration"><a class="toclink" href="#migration">Migration</a></h2> <h3 id="backup"><a class="toclink" href="#backup">Backup</a></h3> <p>Before you start the migration, make sure to backup your existing configuration files.</p> @@ -1107,7 +1111,7 @@ <div class="highlight"><pre><span></span><code>docker-compose<span class="w"> </span>down </code></pre></div> <h3 id="start-new-container"><a class="toclink" href="#start-new-container">Start new container</a></h3> -<p>Follow the instructions in the <a href="../../usage.md">Getting Started</a> or <a href="../../../examples/tutorials/basic-installation/">Basic Installation</a> guide to start the new container.</p> +<p>Follow the instructions in the <a href="../../../getting-started/">Getting Started</a> or <a href="../../../examples/tutorials/basic-installation/">Basic Installation</a> guide to start the new container.</p> <p>In the setup wizard, select that you already already have a configuration file and upload the <code>wg0.json</code> file you downloaded in the backup step.</p> <h3 id="done"><a class="toclink" href="#done">Done</a></h3> <p>You have now successfully migrated to <code>v15</code> of <code>wg-easy</code>.</p> @@ -1149,7 +1153,8 @@ <div class="md-copyright"> <div class="md-copyright__highlight"> - <p>© <a href="https://github.com/wg-easy"><em>Wireguard Easy Organization</em></a><br/><span>This project is licensed under the GNU Affero General Public License v3.0 or later.</span></p> + <p> © <a href="https://github.com/wg-easy"><em>Wireguard Easy</em></a><br/> <span>This project is licensed under AGPL-3.0-only.</span><br/> <span>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security</span><br/> <span>"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld</span> </p> + </div> diff --git a/development/contributing/general/index.html b/development/contributing/general/index.html index 4f51f104..d8836c5e 100644 --- a/development/contributing/general/index.html +++ b/development/contributing/general/index.html @@ -9,7 +9,7 @@ <meta name="description" content="The easiest way to run WireGuard VPN + Web-based Admin UI."> - <meta name="author" content="wg-easy (Github Organization)"> + <meta name="author" content="WireGuard Easy"> <link rel="canonical" href="https://wg-easy.github.io/wg-easy/development/contributing/general/"> @@ -1054,7 +1054,8 @@ <div class="md-copyright"> <div class="md-copyright__highlight"> - <p>© <a href="https://github.com/wg-easy"><em>Wireguard Easy Organization</em></a><br/><span>This project is licensed under the GNU Affero General Public License v3.0 or later.</span></p> + <p> © <a href="https://github.com/wg-easy"><em>Wireguard Easy</em></a><br/> <span>This project is licensed under AGPL-3.0-only.</span><br/> <span>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security</span><br/> <span>"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld</span> </p> + </div> diff --git a/development/contributing/issues-and-pull-requests/index.html b/development/contributing/issues-and-pull-requests/index.html index e318d4d3..c4c0671a 100644 --- a/development/contributing/issues-and-pull-requests/index.html +++ b/development/contributing/issues-and-pull-requests/index.html @@ -9,7 +9,7 @@ <meta name="description" content="The easiest way to run WireGuard VPN + Web-based Admin UI."> - <meta name="author" content="wg-easy (Github Organization)"> + <meta name="author" content="WireGuard Easy"> <link rel="canonical" href="https://wg-easy.github.io/wg-easy/development/contributing/issues-and-pull-requests/"> @@ -1134,7 +1134,8 @@ <div class="md-copyright"> <div class="md-copyright__highlight"> - <p>© <a href="https://github.com/wg-easy"><em>Wireguard Easy Organization</em></a><br/><span>This project is licensed under the GNU Affero General Public License v3.0 or later.</span></p> + <p> © <a href="https://github.com/wg-easy"><em>Wireguard Easy</em></a><br/> <span>This project is licensed under AGPL-3.0-only.</span><br/> <span>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security</span><br/> <span>"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld</span> </p> + </div> diff --git a/development/examples/tutorials/basic-installation/index.html b/development/examples/tutorials/basic-installation/index.html index 702bbda3..50e67866 100644 --- a/development/examples/tutorials/basic-installation/index.html +++ b/development/examples/tutorials/basic-installation/index.html @@ -9,7 +9,7 @@ <meta name="description" content="The easiest way to run WireGuard VPN + Web-based Admin UI."> - <meta name="author" content="wg-easy (Github Organization)"> + <meta name="author" content="WireGuard Easy"> <link rel="canonical" href="https://wg-easy.github.io/wg-easy/development/examples/tutorials/basic-installation/"> @@ -1155,7 +1155,8 @@ sudo<span class="w"> </span>mkdir<span class="w"> </span>-p<span class="w"> </sp <div class="md-copyright"> <div class="md-copyright__highlight"> - <p>© <a href="https://github.com/wg-easy"><em>Wireguard Easy Organization</em></a><br/><span>This project is licensed under the GNU Affero General Public License v3.0 or later.</span></p> + <p> © <a href="https://github.com/wg-easy"><em>Wireguard Easy</em></a><br/> <span>This project is licensed under AGPL-3.0-only.</span><br/> <span>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security</span><br/> <span>"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld</span> </p> + </div> diff --git a/development/examples/tutorials/dockerless/index.html b/development/examples/tutorials/dockerless/index.html index cb0ffe6d..3299410a 100644 --- a/development/examples/tutorials/dockerless/index.html +++ b/development/examples/tutorials/dockerless/index.html @@ -9,7 +9,7 @@ <meta name="description" content="The easiest way to run WireGuard VPN + Web-based Admin UI."> - <meta name="author" content="wg-easy (Github Organization)"> + <meta name="author" content="WireGuard Easy"> <link rel="canonical" href="https://wg-easy.github.io/wg-easy/development/examples/tutorials/dockerless/"> @@ -966,7 +966,8 @@ <div class="md-copyright"> <div class="md-copyright__highlight"> - <p>© <a href="https://github.com/wg-easy"><em>Wireguard Easy Organization</em></a><br/><span>This project is licensed under the GNU Affero General Public License v3.0 or later.</span></p> + <p> © <a href="https://github.com/wg-easy"><em>Wireguard Easy</em></a><br/> <span>This project is licensed under AGPL-3.0-only.</span><br/> <span>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security</span><br/> <span>"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld</span> </p> + </div> diff --git a/development/examples/tutorials/podman/index.html b/development/examples/tutorials/podman/index.html index fb1604f4..61eb0026 100644 --- a/development/examples/tutorials/podman/index.html +++ b/development/examples/tutorials/podman/index.html @@ -9,7 +9,7 @@ <meta name="description" content="The easiest way to run WireGuard VPN + Web-based Admin UI."> - <meta name="author" content="wg-easy (Github Organization)"> + <meta name="author" content="WireGuard Easy"> <link rel="canonical" href="https://wg-easy.github.io/wg-easy/development/examples/tutorials/podman/"> @@ -1162,7 +1162,8 @@ TODO: fix accept web ui port <div class="md-copyright"> <div class="md-copyright__highlight"> - <p>© <a href="https://github.com/wg-easy"><em>Wireguard Easy Organization</em></a><br/><span>This project is licensed under the GNU Affero General Public License v3.0 or later.</span></p> + <p> © <a href="https://github.com/wg-easy"><em>Wireguard Easy</em></a><br/> <span>This project is licensed under AGPL-3.0-only.</span><br/> <span>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security</span><br/> <span>"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld</span> </p> + </div> diff --git a/development/getting-started/index.html b/development/getting-started/index.html index 4cb6cba0..86949221 100644 --- a/development/getting-started/index.html +++ b/development/getting-started/index.html @@ -9,7 +9,7 @@ <meta name="description" content="The easiest way to run WireGuard VPN + Web-based Admin UI."> - <meta name="author" content="wg-easy (Github Organization)"> + <meta name="author" content="WireGuard Easy"> <link rel="canonical" href="https://wg-easy.github.io/wg-easy/development/getting-started/"> @@ -1242,7 +1242,8 @@ If you're using podman, make sure to read the related <a href="../examples/tutor <div class="md-copyright"> <div class="md-copyright__highlight"> - <p>© <a href="https://github.com/wg-easy"><em>Wireguard Easy Organization</em></a><br/><span>This project is licensed under the GNU Affero General Public License v3.0 or later.</span></p> + <p> © <a href="https://github.com/wg-easy"><em>Wireguard Easy</em></a><br/> <span>This project is licensed under AGPL-3.0-only.</span><br/> <span>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security</span><br/> <span>"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld</span> </p> + </div> diff --git a/development/index.html b/development/index.html index e6539081..32778727 100644 --- a/development/index.html +++ b/development/index.html @@ -9,7 +9,7 @@ <meta name="description" content="The easiest way to run WireGuard VPN + Web-based Admin UI."> - <meta name="author" content="wg-easy (Github Organization)"> + <meta name="author" content="WireGuard Easy"> <link rel="canonical" href="https://wg-easy.github.io/wg-easy/development/"> @@ -449,6 +449,15 @@ </span> </a> +</li> + + <li class="md-nav__item"> + <a href="#migration" class="md-nav__link"> + <span class="md-ellipsis"> + Migration + </span> + </a> + </li> </ul> @@ -1015,6 +1024,15 @@ </span> </a> +</li> + + <li class="md-nav__item"> + <a href="#migration" class="md-nav__link"> + <span class="md-ellipsis"> + Migration + </span> + </a> + </li> </ul> @@ -1059,16 +1077,18 @@ <h1 id="welcome-to-the-documentation-for-wg-easy"><a class="toclink" href="#welcome-to-the-documentation-for-wg-easy">Welcome to the Documentation for <code>wg-easy</code></a></h1> <div class="admonition info"> <p class="admonition-title"> This Documentation is Versioned</p> -<p><strong>Make sure</strong> to select the correct version of this documentation! It should match the version of the image you are using. The default version corresponds to the <code>:latest</code> image tag - <a href="./usage.md#tagging-convention">the most recent stable release</a>.</p> +<p><strong>Make sure</strong> to select the correct version of this documentation! It should match the version of the image you are using. The default version corresponds to the <code>:latest</code> image tag - <a href="getting-started/#tagging-convention">the most recent stable release</a>.</p> </div> <p>This documentation provides you not only with the basic setup and configuration of wg-easy but also with advanced configuration, elaborate usage scenarios, detailed examples, hints and more.</p> <h2 id="about"><a class="toclink" href="#about">About</a></h2> <p><code>wg-easy</code> is the easiest way to run WireGuard VPN + Web-based Admin UI.</p> <h2 id="contents"><a class="toclink" href="#contents">Contents</a></h2> <h3 id="getting-started"><a class="toclink" href="#getting-started">Getting Started</a></h3> -<p>If you're new to wg-easy, make sure to read the <a href="./usage.md"><em>Usage</em> chapter</a> first. If you want to look at examples for Docker Run and Compose, we have an <a href="examples/tutorials/basic-installation/"><em>Examples</em> page</a>.</p> +<p>If you're new to wg-easy, make sure to read the <a href="getting-started/"><em>Getting Started</em> chapter</a> first. If you want to look at examples for Docker Run and Compose, we have an <a href="examples/tutorials/basic-installation/"><em>Examples</em> page</a>.</p> <h3 id="contributing"><a class="toclink" href="#contributing">Contributing</a></h3> <p>We are always happy to welcome new contributors. For guidelines and entrypoints please have a look at the <a href="contributing/issues-and-pull-requests/">Contributing section</a>.</p> +<h3 id="migration"><a class="toclink" href="#migration">Migration</a></h3> +<p>If you are migrating from an older version of <code>wg-easy</code>, please read the <a href="advanced/migrate/from-14-to-15/"><em>Migration</em> chapter</a>.</p> @@ -1109,7 +1129,8 @@ <div class="md-copyright"> <div class="md-copyright__highlight"> - <p>© <a href="https://github.com/wg-easy"><em>Wireguard Easy Organization</em></a><br/><span>This project is licensed under the GNU Affero General Public License v3.0 or later.</span></p> + <p> © <a href="https://github.com/wg-easy"><em>Wireguard Easy</em></a><br/> <span>This project is licensed under AGPL-3.0-only.</span><br/> <span>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security</span><br/> <span>"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld</span> </p> + </div> diff --git a/development/search/search_index.json b/development/search/search_index.json index b37f60e6..54fb4e73 100644 --- a/development/search/search_index.json +++ b/development/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome to the Documentation for <code>wg-easy</code>","text":"<p>\u00a0This Documentation is Versioned</p> <p>Make sure to select the correct version of this documentation! It should match the version of the image you are using. The default version corresponds to the <code>:latest</code> image tag - the most recent stable release.</p> <p>This documentation provides you not only with the basic setup and configuration of wg-easy but also with advanced configuration, elaborate usage scenarios, detailed examples, hints and more.</p>"},{"location":"#about","title":"About","text":"<p><code>wg-easy</code> is the easiest way to run WireGuard VPN + Web-based Admin UI.</p>"},{"location":"#contents","title":"Contents","text":""},{"location":"#getting-started","title":"Getting Started","text":"<p>If you're new to wg-easy, make sure to read the Usage chapter first. If you want to look at examples for Docker Run and Compose, we have an Examples page.</p>"},{"location":"#contributing","title":"Contributing","text":"<p>We are always happy to welcome new contributors. For guidelines and entrypoints please have a look at the Contributing section.</p>"},{"location":"getting-started/","title":"Getting Started","text":"<p>This page explains how to get started with wg-easy. The guide uses Docker Compose as a reference. In our examples, we mount the named volume <code>etc_wireguard</code> to <code>/etc/wireguard</code> inside the container.</p>"},{"location":"getting-started/#preliminary-steps","title":"Preliminary Steps","text":"<p>Before you can get started with deploying your own VPN, there are some requirements to be met:</p> <ol> <li>You need to have a host that you can manage</li> <li>You need to have a domain name or a public IP address</li> <li>You need a supported architecture (x86_64, arm64)</li> </ol>"},{"location":"getting-started/#host-setup","title":"Host Setup","text":"<p>There are a few requirements for a suitable host system:</p> <ol> <li>You need to have a container runtime installed</li> </ol> <p>About the Container Runtime</p> <p>On the host, you need to have a suitable container runtime (like Docker or Podman) installed. We assume Docker Compose is installed. We have aligned file names and configuration conventions with the latest Docker Compose specification. If you're using podman, make sure to read the related documentation.</p>"},{"location":"getting-started/#deploying-the-actual-image","title":"Deploying the Actual Image","text":""},{"location":"getting-started/#tagging-convention","title":"Tagging Convention","text":"<p>To understand which tags you should use, read this section carefully. Our CI will automatically build, test and push new images to the following container registry:</p> <ol> <li>GitHub Container Registry (<code>ghcr.io/wg-easy/wg-easy</code>)</li> </ol> <p>All workflows are using the tagging convention listed below. It is subsequently applied to all images.</p> Event Image Tags <code>cron</code> on <code>master</code> <code>nightly</code> <code>push</code> a tag (<code>v1.2.3</code>) <code>1.2.3</code>, <code>1.2</code>, <code>1</code>, <code>latest</code> <p>When publishing a tag we follow the Semantic Versioning specification. The <code>latest</code> tag is always pointing to the latest stable release. If you want to avoid breaking changes, use the major version tag (e.g. <code>15</code>).</p>"},{"location":"getting-started/#get-all-files","title":"Get All Files","text":"<p>Issue the following command to acquire the necessary file:</p> <pre><code>wget \"https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml\"\n</code></pre>"},{"location":"getting-started/#start-the-container","title":"Start the Container","text":"<p>To start the container, issue the following command:</p> <pre><code>sudo docker compose up -d\n</code></pre>"},{"location":"getting-started/#configuration-steps","title":"Configuration Steps","text":"<p>Now follow the setup process in your web browser</p>"},{"location":"getting-started/#stopping-the-container","title":"Stopping the Container","text":"<p>To stop the container, issue the following command:</p> <pre><code>sudo docker compose down\n</code></pre> <p>Using the Correct Commands For Stopping and Starting wg-easy</p> <p>Use <code>sudo docker compose up / down</code>, not <code>sudo docker compose start / stop</code>. Otherwise, the container is not properly destroyed and you may experience problems during startup because of inconsistent state.</p> <p>That's it! It really is that easy.</p> <p>If you need more help you can read the Basic Installation Tutorial.</p>"},{"location":"advanced/api/","title":"API","text":"<p>TODO</p>"},{"location":"advanced/config/optional-config/","title":"Optional Configuration","text":"<p>TODO</p>"},{"location":"advanced/migrate/from-14-to-15/","title":"Migrate from v14 to v15","text":"<p>This guide will help you migrate from <code>v14</code> to version <code>v15</code> of <code>wg-easy</code>.</p>"},{"location":"advanced/migrate/from-14-to-15/#changes","title":"Changes","text":"<p>This is a complete rewrite of the <code>wg-easy</code> project. Therefore the configuration files and the way you interact with the project have changed.</p>"},{"location":"advanced/migrate/from-14-to-15/#migration","title":"Migration","text":""},{"location":"advanced/migrate/from-14-to-15/#backup","title":"Backup","text":"<p>Before you start the migration, make sure to backup your existing configuration files.</p> <p>Go into the Web Ui and click the Backup button, this should download a <code>wg0.json</code> file.</p> <p>Or download the <code>wg0.json</code> file from your container volume to your pc.</p> <p>You will need this file for the migration</p>"},{"location":"advanced/migrate/from-14-to-15/#remove-old-container","title":"Remove old container","text":"<ol> <li>Stop the running container</li> </ol> <p>If you are using <code>docker run</code></p> <pre><code>docker stop wg-easy\n</code></pre> <p>If you are using <code>docker-compose</code></p> <pre><code>docker-compose down\n</code></pre>"},{"location":"advanced/migrate/from-14-to-15/#start-new-container","title":"Start new container","text":"<p>Follow the instructions in the Getting Started or Basic Installation guide to start the new container.</p> <p>In the setup wizard, select that you already already have a configuration file and upload the <code>wg0.json</code> file you downloaded in the backup step.</p>"},{"location":"advanced/migrate/from-14-to-15/#done","title":"Done","text":"<p>You have now successfully migrated to <code>v15</code> of <code>wg-easy</code>.</p>"},{"location":"contributing/general/","title":"General Information","text":""},{"location":"contributing/general/#coding-style","title":"Coding Style","text":"<p>When refactoring, writing or altering files, adhere to these rules:</p> <ol> <li>Adjust your style of coding to the style that is already present! Even if you do not like it, this is due to consistency. There was a lot of work involved in making all files consistent.</li> <li>Use <code>pnpm lint</code> to check your scripts! Your contributions are checked by GitHub Actions too, so you will need to do this.</li> <li>Use the provided <code>.vscode/settings.json</code> file.</li> </ol>"},{"location":"contributing/general/#documentation","title":"Documentation","text":"<p>Make sure to select <code>nightly</code> in the dropdown menu at the top. Navigate to the page you would like to edit and click the edit button in the top right. This allows you to make changes and create a pull-request.</p> <p>Alternatively you can make the changes locally. For that you'll need to have Docker installed. Run</p> <pre><code>pnpm docs:serve\n</code></pre> <p>This serves the documentation on your local machine on port <code>8080</code>. Each change will be hot-reloaded onto the page you view, just edit, save and look at the result.</p>"},{"location":"contributing/issues-and-pull-requests/","title":"Issues and Pull Requests","text":"<p>This project is Open Source. That means that you can contribute on enhancements, bug fixing or improving the documentation.</p>"},{"location":"contributing/issues-and-pull-requests/#opening-an-issue","title":"Opening an Issue","text":"<p>Attention</p> <p>Before opening an issue, read the <code>README</code> carefully, study the docs for your version (maybe latest) and your search engine you trust. The issue tracker is not meant to be used for unrelated questions!</p> <p>When opening an issue, please provide details use case to let the community reproduce your problem.</p> <p>Attention</p> <p>Use the issue templates to provide the necessary information. Issues which do not use these templates are not worked on and closed.</p> <p>By raising issues, I agree to these terms and I understand, that the rules set for the issue tracker will help both maintainers as well as everyone to find a solution.</p> <p>Maintainers take the time to improve on this project and help by solving issues together. It is therefore expected from others to make an effort and comply with the rules.</p>"},{"location":"contributing/issues-and-pull-requests/#filing-a-bug-report","title":"Filing a Bug Report","text":"<p>Thank you for participating in this project and reporting a bug. wg-easy is a community-driven project, and each contribution counts!</p> <p>Maintainers and moderators are volunteers. We greatly appreciate reports that take the time to provide detailed information via the template, enabling us to help you in the best and quickest way. Ignoring the template provided may seem easier, but discourages receiving any support (via assignment of the label <code>meta/no template - no support</code>).</p> <p>Markdown formatting can be used in almost all text fields (unless stated otherwise in the description).</p> <p>Be as precise as possible, and if in doubt, it's best to add more information that too few.</p> <p>When an option is marked with \"not officially supported\" / \"unsupported\", then support is dependent on availability from specific maintainers.</p>"},{"location":"contributing/issues-and-pull-requests/#pull-requests","title":"Pull Requests","text":"<p>Motivation</p> <p>You want to add a feature? Feel free to start creating an issue explaining what you want to do and how you're thinking doing it. Other users may have the same need and collaboration may lead to better results.</p>"},{"location":"contributing/issues-and-pull-requests/#submit-a-pull-request","title":"Submit a Pull-Request","text":"<p>The development workflow is the following:</p> <ol> <li>Fork the project</li> <li>Write the code that is needed :D</li> <li>Document your improvements if necessary</li> <li>Commit (and sign your commit), push and create a pull-request to merge into <code>master</code>. Please use the pull-request template to provide a minimum of contextual information and make sure to meet the requirements of the checklist.</li> </ol> <p>Pull requests are automatically tested against the CI and will be reviewed when tests pass. When your changes are validated, your branch is merged. CI builds the new <code>:nightly</code> image every night and your changes will be includes in the next version release.</p>"},{"location":"examples/tutorials/basic-installation/","title":"Basic Installation","text":""},{"location":"examples/tutorials/basic-installation/#requirements","title":"Requirements","text":"<ol> <li>You need to have a host that you can manage</li> <li>You need to have a domain name or a public IP address</li> <li>You need a supported architecture (x86_64, arm64)</li> <li>You need curl installed on your host</li> </ol>"},{"location":"examples/tutorials/basic-installation/#install-docker","title":"Install Docker","text":"<p>Follow the Docs here: https://docs.docker.com/engine/install/ and install Docker on your host.</p>"},{"location":"examples/tutorials/basic-installation/#install-wg-easy","title":"Install <code>wg-easy</code>","text":"<ol> <li>Create a directory for the configuration files (you can choose any directory you like):</li> </ol> <pre><code>DIR=/docker/wg-easy\nsudo mkdir -p $DIR\n</code></pre> <ol> <li>Download docker compose file</li> </ol> <pre><code>sudo curl -o $URL/docker-compose.yml https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml\n</code></pre> <ol> <li>Start <code>wg-easy</code></li> </ol> <pre><code> sudo docker-compose -f $DIR/docker-compose.yml up -d\n</code></pre>"},{"location":"examples/tutorials/basic-installation/#setup-firewall","title":"Setup Firewall","text":"<p>If you are using a firewall, you need to open the following ports:</p> <ul> <li>UDP 51820 (WireGuard)</li> <li>TCP 51821 (Web UI)</li> </ul> <p>These ports can be changed, so if you change them you have to update your firewall rules accordingly.</p>"},{"location":"examples/tutorials/basic-installation/#setup-reverse-proxy","title":"Setup Reverse Proxy","text":"<p>TODO</p>"},{"location":"examples/tutorials/basic-installation/#access-the-web-ui","title":"Access the Web UI","text":"<p>Open your browser and navigate to <code>https://<your-domain>:51821</code> or <code>https://<your-ip>:51821</code>.</p> <p>Follow the instructions to set up your WireGuard VPN.</p>"},{"location":"examples/tutorials/dockerless/","title":"Without Docker","text":"<p>TODO</p>"},{"location":"examples/tutorials/podman/","title":"Podman","text":"<p>This guide will show you how to run <code>wg-easy</code> with rootful Podman and nftables.</p>"},{"location":"examples/tutorials/podman/#requirements","title":"Requirements","text":"<ol> <li>Podman installed with version 4.4 or higher</li> </ol>"},{"location":"examples/tutorials/podman/#configuration","title":"Configuration","text":"<p>Create a Folder for the configuration files:</p> <pre><code>sudo mkdir -p /etc/containers/systemd/wg-easy\nsudo mkdir -p /etc/containers/volumes/wg-easy\n</code></pre> <p>Create a file <code>/etc/containers/systemd/wg-easy/wg-easy.container</code> with the following content:</p> <pre><code>[Container]\nContainerName=wg-easy\nImage=ghcr.io/wg-easy/wg-easy:latest\n\nVolume=/etc/containers/volumes/wg-easy:/etc/wireguard:Z\nNetwork=wg-easy.network\nPublishPort=51820:51820/udp\nPublishPort=51821:51821/tcp\n\nAddCapability=NET_ADMIN\nAddCapability=SYS_MODULE\nAddCapability=NET_RAW\nSysctl=net.ipv4.ip_forward=1\nSysctl=net.ipv4.conf.all.src_valid_mark=1\nSysctl=net.ipv6.conf.all.disable_ipv6=0\nSysctl=net.ipv6.conf.all.forwarding=1\nSysctl=net.ipv6.conf.default.forwarding=1\n\n[Install]\n# this is used to start the container on boot\nWantedBy=default.target\n</code></pre> <p>Create a file <code>/etc/containers/systemd/wg-easy/wg-easy.network</code> with the following content:</p> <pre><code>[Network]\nNetworkName=wg-easy\nIPv6=true\n</code></pre>"},{"location":"examples/tutorials/podman/#load-kernel-modules","title":"Load Kernel Modules","text":"<p>You will need to load the following kernel modules</p> <pre><code>wireguard\nnft_masq\n</code></pre> <p>Create a file <code>/etc/modules-load.d/wg-easy.conf</code> with the following content:</p> <pre><code>wireguard\nnft_masq\n</code></pre>"},{"location":"examples/tutorials/podman/#start-the-container","title":"Start the Container","text":"<pre><code>sudo systemctl daemon-reload\nsudo systemctl start wg-easy\n</code></pre>"},{"location":"examples/tutorials/podman/#edit-hooks","title":"Edit Hooks","text":"<p>In the Admin Panel of your WireGuard server, go to the <code>Hooks</code> tab and add the following hook:</p> <ol> <li>PostUp</li> </ol> <pre><code>apk add nftables; nft add table inet wg_table; nft add chain inet wg_table postrouting { type nat hook postrouting priority 100 \\; }; nft add rule inet wg_table postrouting ip saddr {{ipv4Cidr}} oifname {{device}} masquerade; nft add rule inet wg_table postrouting ip6 saddr {{ipv6Cidr}} oifname {{device}} masquerade; nft add chain inet wg_table input { type filter hook input priority 0 \\; policy drop \\; }; nft add rule inet wg_table input udp dport {{port}} accept; nft add chain inet wg_table forward { type filter hook forward priority 0 \\; policy drop \\; }; nft add rule inet wg_table forward iifname \"wg0\" accept; nft add rule inet wg_table forward oifname \"wg0\" accept;\n</code></pre> <ol> <li>PostDown</li> </ol> <pre><code>nft delete table inet wg_table\n</code></pre>"}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome to the Documentation for <code>wg-easy</code>","text":"<p>\u00a0This Documentation is Versioned</p> <p>Make sure to select the correct version of this documentation! It should match the version of the image you are using. The default version corresponds to the <code>:latest</code> image tag - the most recent stable release.</p> <p>This documentation provides you not only with the basic setup and configuration of wg-easy but also with advanced configuration, elaborate usage scenarios, detailed examples, hints and more.</p>"},{"location":"#about","title":"About","text":"<p><code>wg-easy</code> is the easiest way to run WireGuard VPN + Web-based Admin UI.</p>"},{"location":"#contents","title":"Contents","text":""},{"location":"#getting-started","title":"Getting Started","text":"<p>If you're new to wg-easy, make sure to read the Getting Started chapter first. If you want to look at examples for Docker Run and Compose, we have an Examples page.</p>"},{"location":"#contributing","title":"Contributing","text":"<p>We are always happy to welcome new contributors. For guidelines and entrypoints please have a look at the Contributing section.</p>"},{"location":"#migration","title":"Migration","text":"<p>If you are migrating from an older version of <code>wg-easy</code>, please read the Migration chapter.</p>"},{"location":"getting-started/","title":"Getting Started","text":"<p>This page explains how to get started with wg-easy. The guide uses Docker Compose as a reference. In our examples, we mount the named volume <code>etc_wireguard</code> to <code>/etc/wireguard</code> inside the container.</p>"},{"location":"getting-started/#preliminary-steps","title":"Preliminary Steps","text":"<p>Before you can get started with deploying your own VPN, there are some requirements to be met:</p> <ol> <li>You need to have a host that you can manage</li> <li>You need to have a domain name or a public IP address</li> <li>You need a supported architecture (x86_64, arm64)</li> </ol>"},{"location":"getting-started/#host-setup","title":"Host Setup","text":"<p>There are a few requirements for a suitable host system:</p> <ol> <li>You need to have a container runtime installed</li> </ol> <p>About the Container Runtime</p> <p>On the host, you need to have a suitable container runtime (like Docker or Podman) installed. We assume Docker Compose is installed. We have aligned file names and configuration conventions with the latest Docker Compose specification. If you're using podman, make sure to read the related documentation.</p>"},{"location":"getting-started/#deploying-the-actual-image","title":"Deploying the Actual Image","text":""},{"location":"getting-started/#tagging-convention","title":"Tagging Convention","text":"<p>To understand which tags you should use, read this section carefully. Our CI will automatically build, test and push new images to the following container registry:</p> <ol> <li>GitHub Container Registry (<code>ghcr.io/wg-easy/wg-easy</code>)</li> </ol> <p>All workflows are using the tagging convention listed below. It is subsequently applied to all images.</p> Event Image Tags <code>cron</code> on <code>master</code> <code>nightly</code> <code>push</code> a tag (<code>v1.2.3</code>) <code>1.2.3</code>, <code>1.2</code>, <code>1</code>, <code>latest</code> <p>When publishing a tag we follow the Semantic Versioning specification. The <code>latest</code> tag is always pointing to the latest stable release. If you want to avoid breaking changes, use the major version tag (e.g. <code>15</code>).</p>"},{"location":"getting-started/#get-all-files","title":"Get All Files","text":"<p>Issue the following command to acquire the necessary file:</p> <pre><code>wget \"https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml\"\n</code></pre>"},{"location":"getting-started/#start-the-container","title":"Start the Container","text":"<p>To start the container, issue the following command:</p> <pre><code>sudo docker compose up -d\n</code></pre>"},{"location":"getting-started/#configuration-steps","title":"Configuration Steps","text":"<p>Now follow the setup process in your web browser</p>"},{"location":"getting-started/#stopping-the-container","title":"Stopping the Container","text":"<p>To stop the container, issue the following command:</p> <pre><code>sudo docker compose down\n</code></pre> <p>Using the Correct Commands For Stopping and Starting wg-easy</p> <p>Use <code>sudo docker compose up / down</code>, not <code>sudo docker compose start / stop</code>. Otherwise, the container is not properly destroyed and you may experience problems during startup because of inconsistent state.</p> <p>That's it! It really is that easy.</p> <p>If you need more help you can read the Basic Installation Tutorial.</p>"},{"location":"advanced/api/","title":"API","text":"<p>TODO</p>"},{"location":"advanced/config/optional-config/","title":"Optional Configuration","text":"<p>TODO</p>"},{"location":"advanced/migrate/from-14-to-15/","title":"Migrate from v14 to v15","text":"<p>This guide will help you migrate from <code>v14</code> to version <code>v15</code> of <code>wg-easy</code>.</p>"},{"location":"advanced/migrate/from-14-to-15/#changes","title":"Changes","text":"<ul> <li>This is a complete rewrite of the <code>wg-easy</code> project. Therefore the configuration files and the way you interact with the project have changed.</li> <li>If you use armv6 or armv7, you can't migrate to <code>v15</code> yet. We are working on it.</li> <li>If you are connecting to the web ui via HTTP, you need to set the <code>INSECURE</code> environment variable to <code>true</code> in the new container.</li> </ul>"},{"location":"advanced/migrate/from-14-to-15/#migration","title":"Migration","text":""},{"location":"advanced/migrate/from-14-to-15/#backup","title":"Backup","text":"<p>Before you start the migration, make sure to backup your existing configuration files.</p> <p>Go into the Web Ui and click the Backup button, this should download a <code>wg0.json</code> file.</p> <p>Or download the <code>wg0.json</code> file from your container volume to your pc.</p> <p>You will need this file for the migration</p>"},{"location":"advanced/migrate/from-14-to-15/#remove-old-container","title":"Remove old container","text":"<ol> <li>Stop the running container</li> </ol> <p>If you are using <code>docker run</code></p> <pre><code>docker stop wg-easy\n</code></pre> <p>If you are using <code>docker-compose</code></p> <pre><code>docker-compose down\n</code></pre>"},{"location":"advanced/migrate/from-14-to-15/#start-new-container","title":"Start new container","text":"<p>Follow the instructions in the Getting Started or Basic Installation guide to start the new container.</p> <p>In the setup wizard, select that you already already have a configuration file and upload the <code>wg0.json</code> file you downloaded in the backup step.</p>"},{"location":"advanced/migrate/from-14-to-15/#done","title":"Done","text":"<p>You have now successfully migrated to <code>v15</code> of <code>wg-easy</code>.</p>"},{"location":"contributing/general/","title":"General Information","text":""},{"location":"contributing/general/#coding-style","title":"Coding Style","text":"<p>When refactoring, writing or altering files, adhere to these rules:</p> <ol> <li>Adjust your style of coding to the style that is already present! Even if you do not like it, this is due to consistency. There was a lot of work involved in making all files consistent.</li> <li>Use <code>pnpm lint</code> to check your scripts! Your contributions are checked by GitHub Actions too, so you will need to do this.</li> <li>Use the provided <code>.vscode/settings.json</code> file.</li> </ol>"},{"location":"contributing/general/#documentation","title":"Documentation","text":"<p>Make sure to select <code>nightly</code> in the dropdown menu at the top. Navigate to the page you would like to edit and click the edit button in the top right. This allows you to make changes and create a pull-request.</p> <p>Alternatively you can make the changes locally. For that you'll need to have Docker installed. Run</p> <pre><code>pnpm docs:serve\n</code></pre> <p>This serves the documentation on your local machine on port <code>8080</code>. Each change will be hot-reloaded onto the page you view, just edit, save and look at the result.</p>"},{"location":"contributing/issues-and-pull-requests/","title":"Issues and Pull Requests","text":"<p>This project is Open Source. That means that you can contribute on enhancements, bug fixing or improving the documentation.</p>"},{"location":"contributing/issues-and-pull-requests/#opening-an-issue","title":"Opening an Issue","text":"<p>Attention</p> <p>Before opening an issue, read the <code>README</code> carefully, study the docs for your version (maybe latest) and your search engine you trust. The issue tracker is not meant to be used for unrelated questions!</p> <p>When opening an issue, please provide details use case to let the community reproduce your problem.</p> <p>Attention</p> <p>Use the issue templates to provide the necessary information. Issues which do not use these templates are not worked on and closed.</p> <p>By raising issues, I agree to these terms and I understand, that the rules set for the issue tracker will help both maintainers as well as everyone to find a solution.</p> <p>Maintainers take the time to improve on this project and help by solving issues together. It is therefore expected from others to make an effort and comply with the rules.</p>"},{"location":"contributing/issues-and-pull-requests/#filing-a-bug-report","title":"Filing a Bug Report","text":"<p>Thank you for participating in this project and reporting a bug. wg-easy is a community-driven project, and each contribution counts!</p> <p>Maintainers and moderators are volunteers. We greatly appreciate reports that take the time to provide detailed information via the template, enabling us to help you in the best and quickest way. Ignoring the template provided may seem easier, but discourages receiving any support (via assignment of the label <code>meta/no template - no support</code>).</p> <p>Markdown formatting can be used in almost all text fields (unless stated otherwise in the description).</p> <p>Be as precise as possible, and if in doubt, it's best to add more information that too few.</p> <p>When an option is marked with \"not officially supported\" / \"unsupported\", then support is dependent on availability from specific maintainers.</p>"},{"location":"contributing/issues-and-pull-requests/#pull-requests","title":"Pull Requests","text":"<p>Motivation</p> <p>You want to add a feature? Feel free to start creating an issue explaining what you want to do and how you're thinking doing it. Other users may have the same need and collaboration may lead to better results.</p>"},{"location":"contributing/issues-and-pull-requests/#submit-a-pull-request","title":"Submit a Pull-Request","text":"<p>The development workflow is the following:</p> <ol> <li>Fork the project</li> <li>Write the code that is needed :D</li> <li>Document your improvements if necessary</li> <li>Commit (and sign your commit), push and create a pull-request to merge into <code>master</code>. Please use the pull-request template to provide a minimum of contextual information and make sure to meet the requirements of the checklist.</li> </ol> <p>Pull requests are automatically tested against the CI and will be reviewed when tests pass. When your changes are validated, your branch is merged. CI builds the new <code>:nightly</code> image every night and your changes will be includes in the next version release.</p>"},{"location":"examples/tutorials/basic-installation/","title":"Basic Installation","text":""},{"location":"examples/tutorials/basic-installation/#requirements","title":"Requirements","text":"<ol> <li>You need to have a host that you can manage</li> <li>You need to have a domain name or a public IP address</li> <li>You need a supported architecture (x86_64, arm64)</li> <li>You need curl installed on your host</li> </ol>"},{"location":"examples/tutorials/basic-installation/#install-docker","title":"Install Docker","text":"<p>Follow the Docs here: https://docs.docker.com/engine/install/ and install Docker on your host.</p>"},{"location":"examples/tutorials/basic-installation/#install-wg-easy","title":"Install <code>wg-easy</code>","text":"<ol> <li>Create a directory for the configuration files (you can choose any directory you like):</li> </ol> <pre><code>DIR=/docker/wg-easy\nsudo mkdir -p $DIR\n</code></pre> <ol> <li>Download docker compose file</li> </ol> <pre><code>sudo curl -o $URL/docker-compose.yml https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml\n</code></pre> <ol> <li>Start <code>wg-easy</code></li> </ol> <pre><code> sudo docker-compose -f $DIR/docker-compose.yml up -d\n</code></pre>"},{"location":"examples/tutorials/basic-installation/#setup-firewall","title":"Setup Firewall","text":"<p>If you are using a firewall, you need to open the following ports:</p> <ul> <li>UDP 51820 (WireGuard)</li> <li>TCP 51821 (Web UI)</li> </ul> <p>These ports can be changed, so if you change them you have to update your firewall rules accordingly.</p>"},{"location":"examples/tutorials/basic-installation/#setup-reverse-proxy","title":"Setup Reverse Proxy","text":"<p>TODO</p>"},{"location":"examples/tutorials/basic-installation/#access-the-web-ui","title":"Access the Web UI","text":"<p>Open your browser and navigate to <code>https://<your-domain>:51821</code> or <code>https://<your-ip>:51821</code>.</p> <p>Follow the instructions to set up your WireGuard VPN.</p>"},{"location":"examples/tutorials/dockerless/","title":"Without Docker","text":"<p>TODO</p>"},{"location":"examples/tutorials/podman/","title":"Podman","text":"<p>This guide will show you how to run <code>wg-easy</code> with rootful Podman and nftables.</p>"},{"location":"examples/tutorials/podman/#requirements","title":"Requirements","text":"<ol> <li>Podman installed with version 4.4 or higher</li> </ol>"},{"location":"examples/tutorials/podman/#configuration","title":"Configuration","text":"<p>Create a Folder for the configuration files:</p> <pre><code>sudo mkdir -p /etc/containers/systemd/wg-easy\nsudo mkdir -p /etc/containers/volumes/wg-easy\n</code></pre> <p>Create a file <code>/etc/containers/systemd/wg-easy/wg-easy.container</code> with the following content:</p> <pre><code>[Container]\nContainerName=wg-easy\nImage=ghcr.io/wg-easy/wg-easy:latest\n\nVolume=/etc/containers/volumes/wg-easy:/etc/wireguard:Z\nNetwork=wg-easy.network\nPublishPort=51820:51820/udp\nPublishPort=51821:51821/tcp\n\nAddCapability=NET_ADMIN\nAddCapability=SYS_MODULE\nAddCapability=NET_RAW\nSysctl=net.ipv4.ip_forward=1\nSysctl=net.ipv4.conf.all.src_valid_mark=1\nSysctl=net.ipv6.conf.all.disable_ipv6=0\nSysctl=net.ipv6.conf.all.forwarding=1\nSysctl=net.ipv6.conf.default.forwarding=1\n\n[Install]\n# this is used to start the container on boot\nWantedBy=default.target\n</code></pre> <p>Create a file <code>/etc/containers/systemd/wg-easy/wg-easy.network</code> with the following content:</p> <pre><code>[Network]\nNetworkName=wg-easy\nIPv6=true\n</code></pre>"},{"location":"examples/tutorials/podman/#load-kernel-modules","title":"Load Kernel Modules","text":"<p>You will need to load the following kernel modules</p> <pre><code>wireguard\nnft_masq\n</code></pre> <p>Create a file <code>/etc/modules-load.d/wg-easy.conf</code> with the following content:</p> <pre><code>wireguard\nnft_masq\n</code></pre>"},{"location":"examples/tutorials/podman/#start-the-container","title":"Start the Container","text":"<pre><code>sudo systemctl daemon-reload\nsudo systemctl start wg-easy\n</code></pre>"},{"location":"examples/tutorials/podman/#edit-hooks","title":"Edit Hooks","text":"<p>In the Admin Panel of your WireGuard server, go to the <code>Hooks</code> tab and add the following hook:</p> <ol> <li>PostUp</li> </ol> <pre><code>apk add nftables; nft add table inet wg_table; nft add chain inet wg_table postrouting { type nat hook postrouting priority 100 \\; }; nft add rule inet wg_table postrouting ip saddr {{ipv4Cidr}} oifname {{device}} masquerade; nft add rule inet wg_table postrouting ip6 saddr {{ipv6Cidr}} oifname {{device}} masquerade; nft add chain inet wg_table input { type filter hook input priority 0 \\; policy drop \\; }; nft add rule inet wg_table input udp dport {{port}} accept; nft add chain inet wg_table forward { type filter hook forward priority 0 \\; policy drop \\; }; nft add rule inet wg_table forward iifname \"wg0\" accept; nft add rule inet wg_table forward oifname \"wg0\" accept;\n</code></pre> <ol> <li>PostDown</li> </ol> <pre><code>nft delete table inet wg_table\n</code></pre>"}]} \ No newline at end of file diff --git a/development/sitemap.xml b/development/sitemap.xml index 05cc78fa..5e14f0a1 100644 --- a/development/sitemap.xml +++ b/development/sitemap.xml @@ -2,42 +2,42 @@ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://wg-easy.github.io/wg-easy/development/</loc> - <lastmod>2025-03-05</lastmod> + <lastmod>2025-03-07</lastmod> </url> <url> <loc>https://wg-easy.github.io/wg-easy/development/getting-started/</loc> - <lastmod>2025-03-05</lastmod> + <lastmod>2025-03-07</lastmod> </url> <url> <loc>https://wg-easy.github.io/wg-easy/development/advanced/api/</loc> - <lastmod>2025-03-05</lastmod> + <lastmod>2025-03-07</lastmod> </url> <url> <loc>https://wg-easy.github.io/wg-easy/development/advanced/config/optional-config/</loc> - <lastmod>2025-03-05</lastmod> + <lastmod>2025-03-07</lastmod> </url> <url> <loc>https://wg-easy.github.io/wg-easy/development/advanced/migrate/from-14-to-15/</loc> - <lastmod>2025-03-05</lastmod> + <lastmod>2025-03-07</lastmod> </url> <url> <loc>https://wg-easy.github.io/wg-easy/development/contributing/general/</loc> - <lastmod>2025-03-05</lastmod> + <lastmod>2025-03-07</lastmod> </url> <url> <loc>https://wg-easy.github.io/wg-easy/development/contributing/issues-and-pull-requests/</loc> - <lastmod>2025-03-05</lastmod> + <lastmod>2025-03-07</lastmod> </url> <url> <loc>https://wg-easy.github.io/wg-easy/development/examples/tutorials/basic-installation/</loc> - <lastmod>2025-03-05</lastmod> + <lastmod>2025-03-07</lastmod> </url> <url> <loc>https://wg-easy.github.io/wg-easy/development/examples/tutorials/dockerless/</loc> - <lastmod>2025-03-05</lastmod> + <lastmod>2025-03-07</lastmod> </url> <url> <loc>https://wg-easy.github.io/wg-easy/development/examples/tutorials/podman/</loc> - <lastmod>2025-03-05</lastmod> + <lastmod>2025-03-07</lastmod> </url> </urlset> \ No newline at end of file diff --git a/development/sitemap.xml.gz b/development/sitemap.xml.gz index bf46b174..293c4c69 100644 Binary files a/development/sitemap.xml.gz and b/development/sitemap.xml.gz differ