mirror of
https://github.com/pvrzz/portage-site.git
synced 2026-08-12 03:46:30 +00:00
177 lines
9.1 KiB
HTML
177 lines
9.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Download Portage</title>
|
|
<meta name="description" content="Download Portage for Chrome and Firefox. Export and import your browser data locally securely.">
|
|
<meta name="theme-color" content="#18181b">
|
|
<link rel="icon" href="media/logo.png">
|
|
<link rel="stylesheet" href="styles.css">
|
|
<script src="site.js" defer></script>
|
|
</head>
|
|
<body>
|
|
<nav class="nav">
|
|
<div class="nav-inner">
|
|
<a class="brand" href="index.html">
|
|
<span class="mk"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 18V6"/><path d="m4 10 4-4 4 4"/><path d="M16 6v12"/><path d="m12 14 4 4 4-4"/></svg></span>
|
|
Portage
|
|
</a>
|
|
<div class="links">
|
|
<a class="navlink" href="index.html#features">Features</a>
|
|
<a class="navlink" href="index.html#matrix">What transfers</a>
|
|
<a href="https://github.com/pvrzz/Portage/" target="_blank" rel="noopener" class="navlink">GitHub</a>
|
|
<button class="theme-toggle" id="themeToggle" aria-label="Toggle theme"></button>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<header class="page-head reveal">
|
|
<div class="wrap">
|
|
<h1>Install Portage</h1>
|
|
<p>Download the latest release directly from GitHub.</p>
|
|
</div>
|
|
</header>
|
|
|
|
<section style="padding-top: 20px;">
|
|
<div class="wrap reveal">
|
|
<div class="dl-grid">
|
|
|
|
<div class="dl-card">
|
|
<div class="top">
|
|
<div class="logo">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
<circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="4"/><line x1="21.17" y1="8" x2="12" y2="8"/><line x1="3.95" y1="6.06" x2="8.54" y2="14"/><line x1="10.88" y1="21.94" x2="15.46" y2="14"/>
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h3>Chrome</h3>
|
|
<div class="ver" id="ver-chrome">Fetching latest...</div>
|
|
</div>
|
|
</div>
|
|
<a href="https://github.com/pvrzz/Portage/releases/latest" id="btn-chrome" class="btn btn-primary">Download for Chrome</a>
|
|
|
|
<div class="note">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>
|
|
<span>Loaded as an unpacked extension. Data swap APIs are fully supported.</span>
|
|
</div>
|
|
|
|
<ul class="steps">
|
|
<li>Unzip the downloaded <code>portage_chrome.zip</code> file.</li>
|
|
<li>Navigate to <code>chrome://extensions</code> in your URL bar.</li>
|
|
<li>Enable <strong>Developer mode</strong> in the top right corner.</li>
|
|
<li>Click <strong>Load unpacked</strong> and select the unzipped folder.</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="dl-card">
|
|
<div class="top">
|
|
<div class="logo">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
<circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/>
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h3>Firefox</h3>
|
|
<div class="ver" id="ver-firefox">Fetching latest...</div>
|
|
</div>
|
|
</div>
|
|
<a href="https://github.com/pvrzz/Portage/releases/latest" id="btn-firefox" class="btn btn-primary">Install Portage (.xpi)</a>
|
|
<a href="https://github.com/pvrzz/Portage/releases/latest" id="btn-firefox-zip" class="btn btn-ghost">Download unsigned (.zip)</a>
|
|
|
|
<div class="note">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z"/></svg>
|
|
<span>Signed by Mozilla. Installs permanently — no developer mode needed.</span>
|
|
</div>
|
|
|
|
<ul class="steps">
|
|
<li>Click <strong>Install Portage (.xpi)</strong> above.</li>
|
|
<li>Firefox will prompt — click <strong>Continue to Installation</strong>.</li>
|
|
<li>Click <strong>Add</strong> to confirm.</li>
|
|
</ul>
|
|
|
|
<details class="dev-toggle">
|
|
<summary>Developer install (unsigned source)</summary>
|
|
<ul class="steps">
|
|
<li>Download the unsigned <code>.zip</code> using the button above.</li>
|
|
<li>Unzip it somewhere you'll remember.</li>
|
|
<li>Navigate to <code>about:debugging#/runtime/this-firefox</code>.</li>
|
|
<li>Click <strong>Load Temporary Add-on...</strong> and select <code>manifest.json</code> from the unzipped folder.</li>
|
|
</ul>
|
|
<p class="dev-note">Temporary add-ons are removed when Firefox restarts.</p>
|
|
</details>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="star-band reveal">
|
|
<a href="https://github.com/pvrzz/Portage" target="_blank" rel="noopener" class="ghstar">
|
|
<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-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.52 11.52 0 0 1 12 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.222 0 1.606-.014 2.898-.014 3.293 0 .322.216.694.825.576C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>
|
|
Star Portage on GitHub
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<footer class="foot">
|
|
<div class="foot-inner">
|
|
<a class="brand" href="index.html">
|
|
<span class="mk"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 18V6"/><path d="m4 10 4-4 4 4"/><path d="M16 6v12"/><path d="m12 14 4 4 4-4"/></svg></span>
|
|
Portage
|
|
</a>
|
|
<div class="spacer"></div>
|
|
<div class="links2">
|
|
<a href="https://github.com/pvrzz/Portage/" target="_blank" rel="noopener">GitHub</a>
|
|
<a href="https://github.com/pvrzz/Portage/releases" target="_blank" rel="noopener">Releases</a>
|
|
</div>
|
|
<span class="made">made by <a href="https://pvrz.lol/" target="_blank" rel="noopener">pvrz</a> <span class="heart"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z"/></svg></span></span>
|
|
</div>
|
|
</footer>
|
|
|
|
<script>
|
|
document.addEventListener("DOMContentLoaded", async () => {
|
|
const REPO = "pvrzz/Portage";
|
|
const verChrome = document.getElementById("ver-chrome");
|
|
const verFirefox = document.getElementById("ver-firefox");
|
|
const btnChrome = document.getElementById("btn-chrome");
|
|
const btnFirefox = document.getElementById("btn-firefox");
|
|
const btnFirefoxZip = document.getElementById("btn-firefox-zip");
|
|
|
|
try {
|
|
const res = await fetch(`https://api.github.com/repos/${REPO}/releases/latest`);
|
|
if (!res.ok) throw new Error("GitHub API failed");
|
|
|
|
const data = await res.json();
|
|
const tag = data.tag_name || "Latest";
|
|
|
|
let chromeUrl = data.html_url;
|
|
let firefoxXpiUrl = data.html_url;
|
|
let firefoxZipUrl = data.html_url;
|
|
|
|
if (data.assets && data.assets.length > 0) {
|
|
const cAsset = data.assets.find(a => a.name === "portage_chrome.zip");
|
|
if (cAsset) chromeUrl = cAsset.browser_download_url;
|
|
|
|
const xpiAsset = data.assets.find(a => a.name.endsWith(".xpi"));
|
|
if (xpiAsset) firefoxXpiUrl = xpiAsset.browser_download_url;
|
|
|
|
const fAsset = data.assets.find(a => a.name === "portage_firefox.zip");
|
|
if (fAsset) firefoxZipUrl = fAsset.browser_download_url;
|
|
}
|
|
|
|
verChrome.textContent = tag;
|
|
verFirefox.textContent = tag;
|
|
btnChrome.href = chromeUrl;
|
|
btnFirefox.href = firefoxXpiUrl;
|
|
btnFirefoxZip.href = firefoxZipUrl;
|
|
|
|
} catch (err) {
|
|
console.warn("Could not fetch release data:", err);
|
|
verChrome.textContent = "Latest Release";
|
|
verFirefox.textContent = "Latest Release";
|
|
}
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|