Files

196 lines
6.8 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>WG Tunnel F-Droid Repository</title>
<meta
name="description"
content="Official F-Droid repository for WG Tunnel. Get stable and nightly Android builds directly from the developer."
/>
<meta property="og:title" content="WG Tunnel F-Droid Repository" />
<meta
property="og:description"
content="Add this repository in F-Droid to install WG Tunnel and WG Tunnel Nightly."
/>
<meta property="og:site_name" content="WG Tunnel" />
<link rel="icon" href="fdroid/repo/icons/icon.png" type="image/png" />
<link rel="stylesheet" href="assets/site.css" />
</head>
<body>
<main class="wrap">
<header>
<p class="eyebrow">WG Tunnel</p>
<h1>F-Droid repository</h1>
<p class="lede">
Official WG Tunnel builds for F-Droid. Add this repo to get stable and
nightly updates straight from the developer and sooner than app
stores.
</p>
</header>
<section>
<h2>Apps</h2>
<!-- This apps list is auto-generated. Do not edit -->
<div class="apps">
<a class="app-card" href="https://github.com/wgtunnel/android">
<img
src="fdroid/repo/com.zaneschepke.wireguardautotunnel/en-US/icon.png"
alt="WG Tunnel icon"
/>
<div>
<h3>WG Tunnel</h3>
<p>An advanced, open-source client for WireGuard and AmneziaWG on Android.</p>
</div>
<span class="version">5.7.5</span>
</a>
<a class="app-card" href="https://github.com/wgtunnel/android">
<img
src="fdroid/repo/com.zaneschepke.wireguardautotunnel.nightly/en-US/icon.png"
alt="WG Tunnel Nightly icon"
/>
<div>
<h3>WG Tunnel Nightly</h3>
<p>An advanced, open-source client for WireGuard and AmneziaWG on Android.</p>
</div>
<span class="version">5.7.6-nightly+git.513510f</span>
</a>
</div>
<!-- end apps list -->
</section>
<section>
<h2>How to add this repository</h2>
<ol class="steps">
<li>
Install an F-Droid client like
<a href="https://f-droid.org/">official F-Droid</a> or <a href="https://droidify.app/">Droid-ify</a>.
</li>
<li>Tap the button below to add this repo in your client (fingerprint included).</li>
</ol>
<p>
<a
class="add-repo"
href="fdroidrepos://raw.githubusercontent.com/wgtunnel/fdroid/main/fdroid/repo?fingerprint=0890C5D44C0109E366801C39840325E810E21B270B9D2AEC53CE0D6C5FC849DB"
>
Add repository in F-Droid
</a>
</p>
<p class="note">Or scan the QR code, or copy the HTTPS URL.</p>
<div class="qr">
<a href="qrcode.png" title="Enlarge QR code">
<img src="qrcode.png" alt="QR code for the WG Tunnel F-Droid repository" />
</a>
</div>
<p class="note">Manual URL:</p>
<div class="repo-block">
<div class="repo-code"><code>https://raw.githubusercontent.com/wgtunnel/fdroid/main/fdroid/repo?fingerprint=0890C5D44C0109E366801C39840325E810E21B270B9D2AEC53CE0D6C5FC849DB</code></div>
<button
class="copy-button"
type="button"
aria-label="Copy repository URL"
title="Copy to clipboard"
>
<svg
class="copy-icon"
width="16"
height="16"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<rect x="9" y="9" width="13" height="13" rx="2"></rect>
<path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path>
</svg>
<span class="copy-label">Copy</span>
</button>
</div>
<div class="copy-message" role="status" aria-live="polite">
<svg
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
aria-hidden="true"
>
<path d="M20 6 9 17l-5-5"></path>
</svg>
<span>Copied to clipboard</span>
</div>
<br/>
<div class="alert-success">
<strong>🎉 You can now install WG Tunnel apps!</strong><br />
</div>
</section>
<script>
const copyButton = document.querySelector(".copy-button");
const repoCode = document.querySelector(".repo-code code");
const copyMessage = document.querySelector(".copy-message");
copyButton.addEventListener("click", async () => {
const text = repoCode.textContent.trim();
try {
await navigator.clipboard.writeText(text);
copyButton.classList.add("copied");
copyButton.querySelector(".copy-label").textContent = "Copied";
copyMessage.classList.add("visible");
setTimeout(() => {
copyButton.classList.remove("copied");
copyButton.querySelector(".copy-label").textContent = "Copy";
copyMessage.classList.remove("visible");
}, 2000);
} catch {
const textarea = document.createElement("textarea");
textarea.value = text;
textarea.style.position = "fixed";
textarea.style.opacity = "0";
document.body.appendChild(textarea);
textarea.select();
try {
document.execCommand("copy");
copyButton.classList.add("copied");
copyButton.querySelector(".copy-label").textContent = "Copied";
copyMessage.classList.add("visible");
setTimeout(() => {
copyButton.classList.remove("copied");
copyButton.querySelector(".copy-label").textContent = "Copy";
copyMessage.classList.remove("visible");
}, 2000);
} finally {
textarea.remove();
}
}
});
</script>
<footer>
<a href="https://wgtunnel.com">App website</a>
<a href="https://github.com/wgtunnel/fdroid">GitHub repository</a>
<a href="https://github.com/wgtunnel/android">Android app source</a>
</footer>
</main>
</body>
</html>