mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2026-03-22 00:16:18 +00:00
add github page
This commit is contained in:
11
docs/de/categories/index.html
Normal file
11
docs/de/categories/index.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<!doctype html><html lang=de><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Categories · wireguard_webadmin</title><meta name=description content="Self-hosted VPN management and Zero Trust access control."><link rel=alternate hreflang=en-us href=https://wireguard-webadmin.com/categories/><link rel=alternate hreflang=pt-BR href=https://wireguard-webadmin.com/pt-br/categories/><link rel=alternate hreflang=es href=https://wireguard-webadmin.com/es/categories/><link rel=alternate hreflang=fr href=https://wireguard-webadmin.com/fr/categories/><link rel=alternate hreflang=de href=https://wireguard-webadmin.com/de/categories/><link rel=alternate hreflang=x-default href=https://wireguard-webadmin.com/><meta property="og:type" content="website"><meta property="og:url" content="https://wireguard-webadmin.com/de/categories/"><meta property="og:title" content="Categories · wireguard_webadmin"><meta property="og:description" content="Self-hosted VPN management and Zero Trust access control."><meta property="og:image" content="https://wireguard-webadmin.com/og-image.png"><meta property="og:image:width" content="1280"><meta property="og:image:height" content="800"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Categories · wireguard_webadmin"><meta name=twitter:description content="Self-hosted VPN management and Zero Trust access control."><meta name=twitter:image content="https://wireguard-webadmin.com/og-image.png"><link rel=icon type=image/svg+xml href=/favicon.svg><link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap" rel=stylesheet><link rel=stylesheet href=/css/main.min.css></head><body><header class=site-header><div class=container><nav class=nav-inner><a href=/de/ class=nav-logo>wireguard_<span>webadmin</span></a>
|
||||
<button class=hamburger aria-label="Toggle menu" aria-expanded=false>
|
||||
<span></span><span></span><span></span></button><ul class=nav-links><li><a href=/de/>Start</a></li><li><a href=/de/zero-trust/>Zero Trust</a></li><li><a href=/de/deployment/>Installation</a></li><li><a href=/de/get-involved/>Mitmachen</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener class=nav-github><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.374.0.0 5.373.0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931.0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176.0.0 1.008-.322 3.301 1.23A11.509 11.509.0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221.0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>
|
||||
GitHub</a></li><li class=nav-lang-sep></li><li class=lang-dropdown><button class=lang-btn aria-expanded=false>
|
||||
🇩🇪 DE
|
||||
<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><path d="M2 3.5l3 3 3-3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg></button><ul class=lang-menu><li><a href=/categories/ hreflang=en><span class=lang-flag>🇬🇧</span>
|
||||
<span>English</span></a></li><li><a href=/pt-br/categories/ hreflang=pt-br><span class=lang-flag>🇧🇷</span>
|
||||
<span>Português</span></a></li><li><a href=/es/categories/ hreflang=es><span class=lang-flag>🇪🇸</span>
|
||||
<span>Español</span></a></li><li><a href=/fr/categories/ hreflang=fr><span class=lang-flag>🇫🇷</span>
|
||||
<span>Français</span></a></li><li><a href=/de/categories/ hreflang=de class=lang-active><span class=lang-flag>🇩🇪</span>
|
||||
<span>Deutsch</span></a></li></ul></li></ul></nav></div></header><main><div class=container style="padding:4rem 0"><h1>Categories</h1></div></main><footer class=site-footer><div class=container><div class=footer-inner><div class=footer-logo>wireguard_<span>webadmin</span></div><ul class=footer-links><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener>GitHub</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin/discussions target=_blank rel=noopener>Discussions</a></li><li><a href=/de/zero-trust/>Zero Trust</a></li><li><a href=/de/deployment/>Deployment</a></li><li><a href=/de/get-involved/>Get Involved</a></li></ul><div class=footer-built>entwickelt von <a href=https://github.com/eduardogsilva target=_blank rel=noopener>@eduardogsilva</a></div></div></div></footer><script>document.querySelectorAll(".tab-btn").forEach(e=>{e.addEventListener("click",()=>{const t=e.closest(".tab-group");t.querySelectorAll(".tab-btn").forEach(e=>e.classList.remove("active")),t.querySelectorAll(".tab-panel").forEach(e=>e.classList.remove("active")),e.classList.add("active"),t.querySelector("#"+e.dataset.tab).classList.add("active")})});const hamburger=document.querySelector(".hamburger"),navLinks=document.querySelector(".nav-links");hamburger&&(hamburger.addEventListener("click",e=>{e.stopPropagation();const t=navLinks.classList.toggle("open");hamburger.classList.toggle("open",t),hamburger.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{!navLinks.contains(e.target)&&!hamburger.contains(e.target)&&(navLinks.classList.remove("open"),hamburger.classList.remove("open"),hamburger.setAttribute("aria-expanded",!1))}));const langBtn=document.querySelector(".lang-btn"),langDropdown=document.querySelector(".lang-dropdown");if(langBtn&&(langBtn.addEventListener("click",e=>{e.stopPropagation();const t=langDropdown.classList.toggle("open");langBtn.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{langDropdown.contains(e.target)||(langDropdown.classList.remove("open"),langBtn.setAttribute("aria-expanded",!1))}),langDropdown.querySelectorAll(".lang-menu a").forEach(e=>{e.addEventListener("click",()=>localStorage.setItem("lang-manual","1"))})),location.pathname==="/"&&!localStorage.getItem("lang-manual")){const t=(navigator.language||navigator.userLanguage||"en").toLowerCase(),n=[{prefix:"pt",url:"/pt-br/"},{prefix:"es",url:"/es/"},{prefix:"fr",url:"/fr/"},{prefix:"de",url:"/de/"}],e=n.find(e=>t.startsWith(e.prefix));e&&location.replace(e.url)}</script></body></html>
|
||||
1
docs/de/categories/index.xml
Normal file
1
docs/de/categories/index.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on wireguard_webadmin</title><link>https://wireguard-webadmin.com/de/categories/</link><description>Recent content in Categories on wireguard_webadmin</description><generator>Hugo</generator><language>de</language><atom:link href="https://wireguard-webadmin.com/de/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
|
||||
21
docs/de/deployment/index.html
Normal file
21
docs/de/deployment/index.html
Normal file
File diff suppressed because one or more lines are too long
11
docs/de/get-involved/index.html
Normal file
11
docs/de/get-involved/index.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<!doctype html><html lang=de><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Mitmachen · wireguard_webadmin</title><meta name=description content="Möglichkeiten, zu wireguard_webadmin beizutragen: Fehler melden, Code schreiben oder das Projekt einfach weiterempfehlen."><link rel=alternate hreflang=en-us href=https://wireguard-webadmin.com/get-involved/><link rel=alternate hreflang=pt-BR href=https://wireguard-webadmin.com/pt-br/get-involved/><link rel=alternate hreflang=es href=https://wireguard-webadmin.com/es/get-involved/><link rel=alternate hreflang=fr href=https://wireguard-webadmin.com/fr/get-involved/><link rel=alternate hreflang=de href=https://wireguard-webadmin.com/de/get-involved/><link rel=alternate hreflang=x-default href=https://wireguard-webadmin.com/><meta property="og:type" content="website"><meta property="og:url" content="https://wireguard-webadmin.com/de/get-involved/"><meta property="og:title" content="Mitmachen · wireguard_webadmin"><meta property="og:description" content="Möglichkeiten, zu wireguard_webadmin beizutragen: Fehler melden, Code schreiben oder das Projekt einfach weiterempfehlen."><meta property="og:image" content="https://wireguard-webadmin.com/og-image.png"><meta property="og:image:width" content="1280"><meta property="og:image:height" content="800"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Mitmachen · wireguard_webadmin"><meta name=twitter:description content="Möglichkeiten, zu wireguard_webadmin beizutragen: Fehler melden, Code schreiben oder das Projekt einfach weiterempfehlen."><meta name=twitter:image content="https://wireguard-webadmin.com/og-image.png"><link rel=icon type=image/svg+xml href=/favicon.svg><link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap" rel=stylesheet><link rel=stylesheet href=/css/main.min.css></head><body><header class=site-header><div class=container><nav class=nav-inner><a href=/de/ class=nav-logo>wireguard_<span>webadmin</span></a>
|
||||
<button class=hamburger aria-label="Toggle menu" aria-expanded=false>
|
||||
<span></span><span></span><span></span></button><ul class=nav-links><li><a href=/de/>Start</a></li><li><a href=/de/zero-trust/>Zero Trust</a></li><li><a href=/de/deployment/>Installation</a></li><li><a href=/de/get-involved/ aria-current=page>Mitmachen</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener class=nav-github><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.374.0.0 5.373.0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931.0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176.0.0 1.008-.322 3.301 1.23A11.509 11.509.0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221.0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>
|
||||
GitHub</a></li><li class=nav-lang-sep></li><li class=lang-dropdown><button class=lang-btn aria-expanded=false>
|
||||
🇩🇪 DE
|
||||
<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><path d="M2 3.5l3 3 3-3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg></button><ul class=lang-menu><li><a href=/get-involved/ hreflang=en><span class=lang-flag>🇬🇧</span>
|
||||
<span>English</span></a></li><li><a href=/pt-br/get-involved/ hreflang=pt-br><span class=lang-flag>🇧🇷</span>
|
||||
<span>Português</span></a></li><li><a href=/es/get-involved/ hreflang=es><span class=lang-flag>🇪🇸</span>
|
||||
<span>Español</span></a></li><li><a href=/fr/get-involved/ hreflang=fr><span class=lang-flag>🇫🇷</span>
|
||||
<span>Français</span></a></li><li><a href=/de/get-involved/ hreflang=de class=lang-active><span class=lang-flag>🇩🇪</span>
|
||||
<span>Deutsch</span></a></li></ul></li></ul></nav></div></header><main><section class=page-hero><div class=container><div class=section-label>Open Source</div><h1>Mitmachen</h1><p class=section-sub style=margin-top:1rem>wireguard_webadmin wird offen entwickelt. Jeder Beitrag hilft, egal wie groß oder klein er ist.</p></div></section><div class=page-content><div class=container><div class=involve-grid><div class="involve-card involve-card--highlight"><div class=involve-card-icon>⭐</div><h3>Repository mit einem Stern markieren</h3><p>Das Einfachste, was Sie tun können. Es hilft dem Projekt, von anderen Sysadmins entdeckt zu werden, die genau nach so etwas suchen.</p><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener class="btn btn-primary">Auf GitHub markieren</a></div><div class=involve-card><div class=involve-card-icon>🐛</div><h3>Fehler melden</h3><p>Etwas funktioniert nicht? Öffnen Sie ein Issue auf GitHub. Kein Template nötig, beschreiben Sie einfach, was Sie gesehen haben und wie man es reproduzieren kann.</p><a href=https://github.com/eduardogsilva/wireguard_webadmin/issues target=_blank rel=noopener class="btn btn-outline">Issue öffnen</a></div><div class=involve-card><div class=involve-card-icon>🔧</div><h3>Code beitragen</h3><p>Pull Requests sind willkommen. Bei allem, was nicht ganz trivial ist, öffnen Sie bitte zuerst ein Issue, damit wir uns abstimmen können, bevor Sie Zeit in Code investieren. Gute Einstiege sind mit <code>good first issue</code> markierte Tickets, Bugfixes mit klarer Reproduktion und zusätzliche Tests.</p><a href=https://github.com/eduardogsilva/wireguard_webadmin/pulls target=_blank rel=noopener class="btn btn-outline">Offene PRs ansehen</a></div><div class=involve-card><div class=involve-card-icon>💬</div><h3>An der Diskussion teilnehmen</h3><p>Sie betreiben ein interessantes Setup? Sind auf einen Sonderfall gestoßen? GitHub Discussions ist der richtige Ort für Fragen, Ideen und Anwendungsfälle, die nicht sauber in ein Issue passen.</p><a href=https://github.com/eduardogsilva/wireguard_webadmin/discussions target=_blank rel=noopener class="btn btn-outline">Zu Discussions</a></div></div><div class=involve-footer><h4>Erzählen Sie anderen davon</h4><p>Schreiben Sie einen Blogbeitrag. Teilen Sie es mit Ihrem Team. Erwähnen Sie das Projekt dort, wo jemand fragt, wie man WireGuard verwalten kann. Solche organische Reichweite ist wertvoller als jede Werbekampagne.</p></div></div></div></main><footer class=site-footer><div class=container><div class=footer-inner><div class=footer-logo>wireguard_<span>webadmin</span></div><ul class=footer-links><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener>GitHub</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin/discussions target=_blank rel=noopener>Discussions</a></li><li><a href=/de/zero-trust/>Zero Trust</a></li><li><a href=/de/deployment/>Deployment</a></li><li><a href=/de/get-involved/>Get Involved</a></li></ul><div class=footer-built>entwickelt von <a href=https://github.com/eduardogsilva target=_blank rel=noopener>@eduardogsilva</a></div></div></div></footer><script>document.querySelectorAll(".tab-btn").forEach(e=>{e.addEventListener("click",()=>{const t=e.closest(".tab-group");t.querySelectorAll(".tab-btn").forEach(e=>e.classList.remove("active")),t.querySelectorAll(".tab-panel").forEach(e=>e.classList.remove("active")),e.classList.add("active"),t.querySelector("#"+e.dataset.tab).classList.add("active")})});const hamburger=document.querySelector(".hamburger"),navLinks=document.querySelector(".nav-links");hamburger&&(hamburger.addEventListener("click",e=>{e.stopPropagation();const t=navLinks.classList.toggle("open");hamburger.classList.toggle("open",t),hamburger.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{!navLinks.contains(e.target)&&!hamburger.contains(e.target)&&(navLinks.classList.remove("open"),hamburger.classList.remove("open"),hamburger.setAttribute("aria-expanded",!1))}));const langBtn=document.querySelector(".lang-btn"),langDropdown=document.querySelector(".lang-dropdown");if(langBtn&&(langBtn.addEventListener("click",e=>{e.stopPropagation();const t=langDropdown.classList.toggle("open");langBtn.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{langDropdown.contains(e.target)||(langDropdown.classList.remove("open"),langBtn.setAttribute("aria-expanded",!1))}),langDropdown.querySelectorAll(".lang-menu a").forEach(e=>{e.addEventListener("click",()=>localStorage.setItem("lang-manual","1"))})),location.pathname==="/"&&!localStorage.getItem("lang-manual")){const t=(navigator.language||navigator.userLanguage||"en").toLowerCase(),n=[{prefix:"pt",url:"/pt-br/"},{prefix:"es",url:"/es/"},{prefix:"fr",url:"/fr/"},{prefix:"de",url:"/de/"}],e=n.find(e=>t.startsWith(e.prefix));e&&location.replace(e.url)}</script></body></html>
|
||||
14
docs/de/index.html
Normal file
14
docs/de/index.html
Normal file
File diff suppressed because one or more lines are too long
55
docs/de/index.xml
Normal file
55
docs/de/index.xml
Normal file
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>wireguard_webadmin</title><link>https://wireguard-webadmin.com/de/</link><description>Recent content on wireguard_webadmin</description><generator>Hugo</generator><language>de</language><atom:link href="https://wireguard-webadmin.com/de/index.xml" rel="self" type="application/rss+xml"/><item><title>Installationsanleitung</title><link>https://wireguard-webadmin.com/de/deployment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://wireguard-webadmin.com/de/deployment/</guid><description><h2 id="voraussetzungen">Voraussetzungen</h2>
|
||||
<ul>
|
||||
<li>Ein Linux-Server, der von dem Ort aus erreichbar ist, von dem Sie ihn verwalten</li>
|
||||
<li><a href="https://docs.docker.com/engine/install/">Docker</a> und <a href="https://docs.docker.com/compose/install/">Docker Compose</a> installiert</li>
|
||||
<li>Ein Domainname, der auf die IP Ihres Servers zeigt</li>
|
||||
<li>Die Ports <strong>80</strong> und <strong>443</strong> offen für Caddy sowie der WireGuard-UDP-Port offen (standardmäßig <strong>51820</strong>)</li>
|
||||
</ul>
|
||||
<div class="callout">
|
||||
<p><strong>Caddy benötigt einen gültigen DNS-Namen</strong>, intern oder öffentlich, der auf Ihren Server zeigt, damit SSL-Zertifikate automatisch bezogen und erneuert werden können.</p>
|
||||
</div>
|
||||
<hr>
|
||||
<h2 id="bereitstellung">Bereitstellung</h2>
|
||||
<div class="tab-group">
|
||||
<div class="tabs">
|
||||
<button class="tab-btn active" data-tab="dep-step-1">1. Verzeichnis erstellen</button>
|
||||
<button class="tab-btn" data-tab="dep-step-2">2. Compose-Datei abrufen</button>
|
||||
<button class="tab-btn" data-tab="dep-step-3">3. .env konfigurieren</button>
|
||||
<button class="tab-btn" data-tab="dep-step-4">4. Starten</button>
|
||||
</div>
|
||||
<div class="tab-wrap">
|
||||
<div class="tab-panel active" id="dep-step-1">
|
||||
<pre><code>mkdir wireguard_webadmin && cd wireguard_webadmin</code></pre>
|
||||
</div>
|
||||
<div class="tab-panel" id="dep-step-2">
|
||||
<pre><code>wget -O docker-compose.yml \
|
||||
https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml</code></pre>
|
||||
</div>
|
||||
<div class="tab-panel" id="dep-step-3">
|
||||
<p>Erstellen Sie im selben Verzeichnis eine Datei namens <code>.env</code>. Setzen Sie <code>SERVER_ADDRESS</code> auf Ihre Domain:</p></description></item><item><title>Mitmachen</title><link>https://wireguard-webadmin.com/de/get-involved/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://wireguard-webadmin.com/de/get-involved/</guid><description><div class="involve-grid">
|
||||
<div class="involve-card involve-card--highlight">
|
||||
<div class="involve-card-icon">⭐</div>
|
||||
<h3>Repository mit einem Stern markieren</h3>
|
||||
<p>Das Einfachste, was Sie tun können. Es hilft dem Projekt, von anderen Sysadmins entdeckt zu werden, die genau nach so etwas suchen.</p>
|
||||
<a href="https://github.com/eduardogsilva/wireguard_webadmin" target="_blank" rel="noopener" class="btn btn-primary">Auf GitHub markieren</a>
|
||||
</div>
|
||||
<div class="involve-card">
|
||||
<div class="involve-card-icon">🐛</div>
|
||||
<h3>Fehler melden</h3>
|
||||
<p>Etwas funktioniert nicht? Öffnen Sie ein Issue auf GitHub. Kein Template nötig, beschreiben Sie einfach, was Sie gesehen haben und wie man es reproduzieren kann.</p>
|
||||
<a href="https://github.com/eduardogsilva/wireguard_webadmin/issues" target="_blank" rel="noopener" class="btn btn-outline">Issue öffnen</a>
|
||||
</div>
|
||||
<div class="involve-card">
|
||||
<div class="involve-card-icon">🔧</div>
|
||||
<h3>Code beitragen</h3>
|
||||
<p>Pull Requests sind willkommen. Bei allem, was nicht ganz trivial ist, öffnen Sie bitte zuerst ein Issue, damit wir uns abstimmen können, bevor Sie Zeit in Code investieren. Gute Einstiege sind mit <code>good first issue</code> markierte Tickets, Bugfixes mit klarer Reproduktion und zusätzliche Tests.</p></description></item><item><title>Zero-Trust-Anwendungsgateway</title><link>https://wireguard-webadmin.com/de/zero-trust/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://wireguard-webadmin.com/de/zero-trust/</guid><description><h2 id="was-bedeutet-zero-trust-hier">Was bedeutet Zero Trust hier?</h2>
|
||||
<p>Traditionelle Netzwerksicherheit geht davon aus, dass alles innerhalb Ihres Netzwerks vertrauenswürdig ist.
|
||||
Zero Trust dreht dieses Modell um: <strong>Keine Anfrage wird standardmäßig vertraut</strong>, selbst wenn sie aus dem VPN kommt.</p>
|
||||
<p>In wireguard_webadmin sitzt das Zero-Trust-Application-Gateway vor Ihren internen Diensten.
|
||||
Jede Anfrage muss sich authentifizieren, bevor sie die Anwendung erreicht. Der Dienst selbst muss niemals direkt veröffentlicht werden.</p>
|
||||
<hr>
|
||||
<h2 id="so-läuft-eine-anfrage-ab">So läuft eine Anfrage ab</h2>
|
||||
<div class="flow-cards">
|
||||
<div class="flow-card">
|
||||
<div class="flow-card-header"><span class="flow-card-num">1</span> <strong>Client erreicht das Gateway</strong></div>
|
||||
<p>Der öffentliche Endpunkt empfängt die Anfrage anstelle des internen Dienstes.</p></description></item></channel></rss>
|
||||
1
docs/de/sitemap.xml
Normal file
1
docs/de/sitemap.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://wireguard-webadmin.com/de/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/"/></url><url><loc>https://wireguard-webadmin.com/de/categories/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/categories/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/categories/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/categories/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/categories/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/categories/"/></url><url><loc>https://wireguard-webadmin.com/de/deployment/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/deployment/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/deployment/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/deployment/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/deployment/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/deployment/"/></url><url><loc>https://wireguard-webadmin.com/de/get-involved/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/get-involved/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/get-involved/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/get-involved/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/get-involved/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/get-involved/"/></url><url><loc>https://wireguard-webadmin.com/de/tags/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/tags/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/tags/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/tags/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/tags/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/tags/"/></url><url><loc>https://wireguard-webadmin.com/de/zero-trust/</loc><xhtml:link rel="alternate" hreflang="en-us" href="https://wireguard-webadmin.com/zero-trust/"/><xhtml:link rel="alternate" hreflang="pt-BR" href="https://wireguard-webadmin.com/pt-br/zero-trust/"/><xhtml:link rel="alternate" hreflang="es" href="https://wireguard-webadmin.com/es/zero-trust/"/><xhtml:link rel="alternate" hreflang="fr" href="https://wireguard-webadmin.com/fr/zero-trust/"/><xhtml:link rel="alternate" hreflang="de" href="https://wireguard-webadmin.com/de/zero-trust/"/></url></urlset>
|
||||
11
docs/de/tags/index.html
Normal file
11
docs/de/tags/index.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<!doctype html><html lang=de><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Tags · wireguard_webadmin</title><meta name=description content="Self-hosted VPN management and Zero Trust access control."><link rel=alternate hreflang=en-us href=https://wireguard-webadmin.com/tags/><link rel=alternate hreflang=pt-BR href=https://wireguard-webadmin.com/pt-br/tags/><link rel=alternate hreflang=es href=https://wireguard-webadmin.com/es/tags/><link rel=alternate hreflang=fr href=https://wireguard-webadmin.com/fr/tags/><link rel=alternate hreflang=de href=https://wireguard-webadmin.com/de/tags/><link rel=alternate hreflang=x-default href=https://wireguard-webadmin.com/><meta property="og:type" content="website"><meta property="og:url" content="https://wireguard-webadmin.com/de/tags/"><meta property="og:title" content="Tags · wireguard_webadmin"><meta property="og:description" content="Self-hosted VPN management and Zero Trust access control."><meta property="og:image" content="https://wireguard-webadmin.com/og-image.png"><meta property="og:image:width" content="1280"><meta property="og:image:height" content="800"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Tags · wireguard_webadmin"><meta name=twitter:description content="Self-hosted VPN management and Zero Trust access control."><meta name=twitter:image content="https://wireguard-webadmin.com/og-image.png"><link rel=icon type=image/svg+xml href=/favicon.svg><link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap" rel=stylesheet><link rel=stylesheet href=/css/main.min.css></head><body><header class=site-header><div class=container><nav class=nav-inner><a href=/de/ class=nav-logo>wireguard_<span>webadmin</span></a>
|
||||
<button class=hamburger aria-label="Toggle menu" aria-expanded=false>
|
||||
<span></span><span></span><span></span></button><ul class=nav-links><li><a href=/de/>Start</a></li><li><a href=/de/zero-trust/>Zero Trust</a></li><li><a href=/de/deployment/>Installation</a></li><li><a href=/de/get-involved/>Mitmachen</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener class=nav-github><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.374.0.0 5.373.0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931.0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176.0.0 1.008-.322 3.301 1.23A11.509 11.509.0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221.0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>
|
||||
GitHub</a></li><li class=nav-lang-sep></li><li class=lang-dropdown><button class=lang-btn aria-expanded=false>
|
||||
🇩🇪 DE
|
||||
<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><path d="M2 3.5l3 3 3-3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg></button><ul class=lang-menu><li><a href=/tags/ hreflang=en><span class=lang-flag>🇬🇧</span>
|
||||
<span>English</span></a></li><li><a href=/pt-br/tags/ hreflang=pt-br><span class=lang-flag>🇧🇷</span>
|
||||
<span>Português</span></a></li><li><a href=/es/tags/ hreflang=es><span class=lang-flag>🇪🇸</span>
|
||||
<span>Español</span></a></li><li><a href=/fr/tags/ hreflang=fr><span class=lang-flag>🇫🇷</span>
|
||||
<span>Français</span></a></li><li><a href=/de/tags/ hreflang=de class=lang-active><span class=lang-flag>🇩🇪</span>
|
||||
<span>Deutsch</span></a></li></ul></li></ul></nav></div></header><main><div class=container style="padding:4rem 0"><h1>Tags</h1></div></main><footer class=site-footer><div class=container><div class=footer-inner><div class=footer-logo>wireguard_<span>webadmin</span></div><ul class=footer-links><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener>GitHub</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin/discussions target=_blank rel=noopener>Discussions</a></li><li><a href=/de/zero-trust/>Zero Trust</a></li><li><a href=/de/deployment/>Deployment</a></li><li><a href=/de/get-involved/>Get Involved</a></li></ul><div class=footer-built>entwickelt von <a href=https://github.com/eduardogsilva target=_blank rel=noopener>@eduardogsilva</a></div></div></div></footer><script>document.querySelectorAll(".tab-btn").forEach(e=>{e.addEventListener("click",()=>{const t=e.closest(".tab-group");t.querySelectorAll(".tab-btn").forEach(e=>e.classList.remove("active")),t.querySelectorAll(".tab-panel").forEach(e=>e.classList.remove("active")),e.classList.add("active"),t.querySelector("#"+e.dataset.tab).classList.add("active")})});const hamburger=document.querySelector(".hamburger"),navLinks=document.querySelector(".nav-links");hamburger&&(hamburger.addEventListener("click",e=>{e.stopPropagation();const t=navLinks.classList.toggle("open");hamburger.classList.toggle("open",t),hamburger.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{!navLinks.contains(e.target)&&!hamburger.contains(e.target)&&(navLinks.classList.remove("open"),hamburger.classList.remove("open"),hamburger.setAttribute("aria-expanded",!1))}));const langBtn=document.querySelector(".lang-btn"),langDropdown=document.querySelector(".lang-dropdown");if(langBtn&&(langBtn.addEventListener("click",e=>{e.stopPropagation();const t=langDropdown.classList.toggle("open");langBtn.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{langDropdown.contains(e.target)||(langDropdown.classList.remove("open"),langBtn.setAttribute("aria-expanded",!1))}),langDropdown.querySelectorAll(".lang-menu a").forEach(e=>{e.addEventListener("click",()=>localStorage.setItem("lang-manual","1"))})),location.pathname==="/"&&!localStorage.getItem("lang-manual")){const t=(navigator.language||navigator.userLanguage||"en").toLowerCase(),n=[{prefix:"pt",url:"/pt-br/"},{prefix:"es",url:"/es/"},{prefix:"fr",url:"/fr/"},{prefix:"de",url:"/de/"}],e=n.find(e=>t.startsWith(e.prefix));e&&location.replace(e.url)}</script></body></html>
|
||||
1
docs/de/tags/index.xml
Normal file
1
docs/de/tags/index.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tags on wireguard_webadmin</title><link>https://wireguard-webadmin.com/de/tags/</link><description>Recent content in Tags on wireguard_webadmin</description><generator>Hugo</generator><language>de</language><atom:link href="https://wireguard-webadmin.com/de/tags/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
|
||||
16
docs/de/zero-trust/index.html
Normal file
16
docs/de/zero-trust/index.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<!doctype html><html lang=de><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><title>Zero-Trust-Anwendungsgateway · wireguard_webadmin</title><meta name=description content="Erfahren Sie, wie wireguard_webadmin Zero-Trust-Zugriffskontrolle implementiert, um interne Apps wie Grafana, Proxmox und mehr sicher zu veröffentlichen."><link rel=alternate hreflang=en-us href=https://wireguard-webadmin.com/zero-trust/><link rel=alternate hreflang=pt-BR href=https://wireguard-webadmin.com/pt-br/zero-trust/><link rel=alternate hreflang=es href=https://wireguard-webadmin.com/es/zero-trust/><link rel=alternate hreflang=fr href=https://wireguard-webadmin.com/fr/zero-trust/><link rel=alternate hreflang=de href=https://wireguard-webadmin.com/de/zero-trust/><link rel=alternate hreflang=x-default href=https://wireguard-webadmin.com/><meta property="og:type" content="website"><meta property="og:url" content="https://wireguard-webadmin.com/de/zero-trust/"><meta property="og:title" content="Zero-Trust-Anwendungsgateway · wireguard_webadmin"><meta property="og:description" content="Erfahren Sie, wie wireguard_webadmin Zero-Trust-Zugriffskontrolle implementiert, um interne Apps wie Grafana, Proxmox und mehr sicher zu veröffentlichen."><meta property="og:image" content="https://wireguard-webadmin.com/og-image.png"><meta property="og:image:width" content="1280"><meta property="og:image:height" content="800"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Zero-Trust-Anwendungsgateway · wireguard_webadmin"><meta name=twitter:description content="Erfahren Sie, wie wireguard_webadmin Zero-Trust-Zugriffskontrolle implementiert, um interne Apps wie Grafana, Proxmox und mehr sicher zu veröffentlichen."><meta name=twitter:image content="https://wireguard-webadmin.com/og-image.png"><link rel=icon type=image/svg+xml href=/favicon.svg><link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap" rel=stylesheet><link rel=stylesheet href=/css/main.min.css></head><body><header class=site-header><div class=container><nav class=nav-inner><a href=/de/ class=nav-logo>wireguard_<span>webadmin</span></a>
|
||||
<button class=hamburger aria-label="Toggle menu" aria-expanded=false>
|
||||
<span></span><span></span><span></span></button><ul class=nav-links><li><a href=/de/>Start</a></li><li><a href=/de/zero-trust/ aria-current=page>Zero Trust</a></li><li><a href=/de/deployment/>Installation</a></li><li><a href=/de/get-involved/>Mitmachen</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener class=nav-github><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.374.0.0 5.373.0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931.0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176.0.0 1.008-.322 3.301 1.23A11.509 11.509.0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221.0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>
|
||||
GitHub</a></li><li class=nav-lang-sep></li><li class=lang-dropdown><button class=lang-btn aria-expanded=false>
|
||||
🇩🇪 DE
|
||||
<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><path d="M2 3.5l3 3 3-3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg></button><ul class=lang-menu><li><a href=/zero-trust/ hreflang=en><span class=lang-flag>🇬🇧</span>
|
||||
<span>English</span></a></li><li><a href=/pt-br/zero-trust/ hreflang=pt-br><span class=lang-flag>🇧🇷</span>
|
||||
<span>Português</span></a></li><li><a href=/es/zero-trust/ hreflang=es><span class=lang-flag>🇪🇸</span>
|
||||
<span>Español</span></a></li><li><a href=/fr/zero-trust/ hreflang=fr><span class=lang-flag>🇫🇷</span>
|
||||
<span>Français</span></a></li><li><a href=/de/zero-trust/ hreflang=de class=lang-active><span class=lang-flag>🇩🇪</span>
|
||||
<span>Deutsch</span></a></li></ul></li></ul></nav></div></header><main><section class=page-hero><div class=container><div class=section-label>Zero Trust</div><h1>Zero-Trust-Anwendungsgateway</h1><p class=section-sub style=margin-top:1rem>Veröffentlichen Sie interne Dienste sicher, ohne sie dem Internet direkt auszusetzen.</p></div></section><div class=page-content><div class=container><h2 id=was-bedeutet-zero-trust-hier>Was bedeutet Zero Trust hier?</h2><p>Traditionelle Netzwerksicherheit geht davon aus, dass alles innerhalb Ihres Netzwerks vertrauenswürdig ist.
|
||||
Zero Trust dreht dieses Modell um: <strong>Keine Anfrage wird standardmäßig vertraut</strong>, selbst wenn sie aus dem VPN kommt.</p><p>In wireguard_webadmin sitzt das Zero-Trust-Application-Gateway vor Ihren internen Diensten.
|
||||
Jede Anfrage muss sich authentifizieren, bevor sie die Anwendung erreicht. Der Dienst selbst muss niemals direkt veröffentlicht werden.</p><hr><h2 id=so-läuft-eine-anfrage-ab>So läuft eine Anfrage ab</h2><div class=flow-cards><div class=flow-card><div class=flow-card-header><span class=flow-card-num>1</span> <strong>Client erreicht das Gateway</strong></div><p>Der öffentliche Endpunkt empfängt die Anfrage anstelle des internen Dienstes.</p></div><div class=flow-card><div class=flow-card-header><span class=flow-card-num>2</span> <strong>Browser-Validierung</strong></div><p>Altcha-Proof-of-Work kann automatisierten Missbrauch noch vor Beginn des Logins herausfordern.</p></div><div class=flow-card><div class=flow-card-header><span class=flow-card-num>3</span> <strong>Identitätsprüfungen</strong></div><p>Zugangsdaten, TOTP und Richtlinien für die Quell-IP werden geprüft.</p></div><div class=flow-card><div class=flow-card-header><span class=flow-card-num>4</span> <strong>An Upstream weiterleiten</strong></div><p>Nur freigegebene Anfragen werden an Grafana, Proxmox oder eine andere interne App weitergeleitet.</p></div></div><hr><h2 id=authentifizierungsmethoden>Authentifizierungsmethoden</h2><div class=auth-list><div class=auth-row><div class=auth-row-name>TOTP / 2FA</div><div class=auth-row-desc>Zeitbasierte Einmalpasswörter. Funktioniert mit jeder TOTP-App, etwa Google Authenticator, Aegis oder Authy.</div></div><div class=auth-row><div class=auth-row-name>Lokale Zugangsdaten</div><div class=auth-row-desc>Benutzername und Passwort werden direkt in wireguard_webadmin verwaltet. Kein externer IdP nötig.</div></div><div class=auth-row><div class=auth-row-name>IP-ACL</div><div class=auth-row-desc>Whitelist für bestimmte IPs oder Subnetze. VPN-Peers können anhand ihrer Tunnel-Adresse automatisch als vertrauenswürdig gelten.</div></div><div class=auth-row><div class=auth-row-name>OIDC <span class=auth-coming>demnächst verfügbar</span></div><div class=auth-row-desc>Delegieren Sie die Authentifizierung an Keycloak, Authentik, Google Workspace oder einen anderen OIDC-kompatiblen Anbieter.</div></div></div><hr><h2 id=schutz-vor-brute-force-altcha-proof-of-work>Schutz vor Brute Force: Altcha Proof-of-Work</h2><p>Bevor überhaupt ein Login-Formular angezeigt wird, muss der Browser eine leichte rechnerische Aufgabe lösen
|
||||
(<a href=https://altcha.org/ target=_blank rel=noopener>Altcha</a>).</p><p>Das erzeugt praktisch keine Reibung für echte Nutzerinnen und Nutzer, da moderne Hardware die Aufgabe in Millisekunden löst,
|
||||
macht automatisierte Credential-Stuffing-Angriffe im großen Maßstab aber rechnerisch teuer.</p><div class=callout><p><strong>Mehrschichtiger Schutz:</strong> Ein Rate Limiting ist bereits aktiv. Proof-of-Work ergänzt es: Während Rate Limiting das Anfragevolumen pro IP begrenzt, fügt Altcha für jede Anfrage einen Rechenaufwand hinzu, der verteilte Angriffe teuer macht, unabhängig davon, wie viele Quell-IPs beteiligt sind.</p></div><hr><h2 id=anwendungsfälle>Anwendungsfälle</h2><ul><li>Stellen Sie <strong>Grafana</strong> Ihrem Team bereit, ohne Port 3000 ins Internet zu öffnen</li><li>Veröffentlichen Sie eine <strong>Proxmox</strong>-Webkonsole hinter TOTP, die nur aus Ihrem VPN erreichbar ist</li><li>Teilen Sie eine <strong>selbst gehostete App</strong> mit einem Kunden oder einer Kundin über zeitlich begrenzte Zugangsdaten</li><li>Schützen Sie jeden <strong>internen HTTP-Dienst</strong>, ohne seine Konfiguration anzufassen</li></ul><div class="callout green"><p><strong>Keine Änderungen an der App erforderlich.</strong> Der Gatekeeper proxyt die Anfrage transparent weiter.
|
||||
Ihr interner Dienst muss keine Authentifizierung implementieren, das übernimmt das Gateway.</p></div><hr><p>VPN-Verwaltung und Application Gateway laufen als ein einziger selbst gehosteter Stack. Kein Konto bei einem Drittanbieter, keine Abhängigkeit von ausgehenden Tunneln, kein Traffic, der Ihre Infrastruktur verlässt.</p></div></div></main><footer class=site-footer><div class=container><div class=footer-inner><div class=footer-logo>wireguard_<span>webadmin</span></div><ul class=footer-links><li><a href=https://github.com/eduardogsilva/wireguard_webadmin target=_blank rel=noopener>GitHub</a></li><li><a href=https://github.com/eduardogsilva/wireguard_webadmin/discussions target=_blank rel=noopener>Discussions</a></li><li><a href=/de/zero-trust/>Zero Trust</a></li><li><a href=/de/deployment/>Deployment</a></li><li><a href=/de/get-involved/>Get Involved</a></li></ul><div class=footer-built>entwickelt von <a href=https://github.com/eduardogsilva target=_blank rel=noopener>@eduardogsilva</a></div></div></div></footer><script>document.querySelectorAll(".tab-btn").forEach(e=>{e.addEventListener("click",()=>{const t=e.closest(".tab-group");t.querySelectorAll(".tab-btn").forEach(e=>e.classList.remove("active")),t.querySelectorAll(".tab-panel").forEach(e=>e.classList.remove("active")),e.classList.add("active"),t.querySelector("#"+e.dataset.tab).classList.add("active")})});const hamburger=document.querySelector(".hamburger"),navLinks=document.querySelector(".nav-links");hamburger&&(hamburger.addEventListener("click",e=>{e.stopPropagation();const t=navLinks.classList.toggle("open");hamburger.classList.toggle("open",t),hamburger.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{!navLinks.contains(e.target)&&!hamburger.contains(e.target)&&(navLinks.classList.remove("open"),hamburger.classList.remove("open"),hamburger.setAttribute("aria-expanded",!1))}));const langBtn=document.querySelector(".lang-btn"),langDropdown=document.querySelector(".lang-dropdown");if(langBtn&&(langBtn.addEventListener("click",e=>{e.stopPropagation();const t=langDropdown.classList.toggle("open");langBtn.setAttribute("aria-expanded",t)}),document.addEventListener("click",e=>{langDropdown.contains(e.target)||(langDropdown.classList.remove("open"),langBtn.setAttribute("aria-expanded",!1))}),langDropdown.querySelectorAll(".lang-menu a").forEach(e=>{e.addEventListener("click",()=>localStorage.setItem("lang-manual","1"))})),location.pathname==="/"&&!localStorage.getItem("lang-manual")){const t=(navigator.language||navigator.userLanguage||"en").toLowerCase(),n=[{prefix:"pt",url:"/pt-br/"},{prefix:"es",url:"/es/"},{prefix:"fr",url:"/fr/"},{prefix:"de",url:"/de/"}],e=n.find(e=>t.startsWith(e.prefix));e&&location.replace(e.url)}</script></body></html>
|
||||
Reference in New Issue
Block a user