Files
claude-desktop-debian/index.html
aaddrick 68fddb6345 chore(gh-pages): orphan reset to drop historical binary bloat (#449)
All .deb/.rpm binaries now flow through the Cloudflare Worker at
pkg.claude-desktop-debian.dev (#493); gh-pages serves metadata only.
The accumulated history was ~1.2 GB of blob objects that will never
be served again — and won't re-accumulate post-Phase-4a, since the
strip step in update-apt-repo / update-dnf-repo removes .deb and
.rpm files from the local tree before commit.

History before this reset preserved at tag gh-pages-archive-pre-449.
2026-04-23 16:48:48 -04:00

279 lines
10 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Claude Desktop APT Repository</title>
<style>
:root {
--bg: #1a1a2e;
--card: #16213e;
--accent: #e94560;
--text: #eaeaea;
--text-dim: #a0a0a0;
--code-bg: #0f0f1a;
--success: #4ade80;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.6;
min-height: 100vh;
padding: 2rem;
}
.container {
max-width: 800px;
margin: 0 auto;
}
h1 {
font-size: 2.5rem;
margin-bottom: 0.5rem;
}
.subtitle {
color: var(--text-dim);
margin-bottom: 2rem;
}
.card {
background: var(--card);
border-radius: 12px;
padding: 1.5rem;
margin-bottom: 1.5rem;
}
h2 {
color: var(--accent);
font-size: 1.2rem;
margin-bottom: 1rem;
}
.step {
margin-bottom: 1.25rem;
}
.step:last-child {
margin-bottom: 0;
}
.step-label {
font-size: 0.85rem;
color: var(--text-dim);
margin-bottom: 0.5rem;
}
.code-block {
background: var(--code-bg);
border-radius: 8px;
overflow: hidden;
}
.code-header {
display: flex;
justify-content: flex-end;
padding: 0.5rem 0.75rem;
background: rgba(255,255,255,0.03);
border-bottom: 1px solid rgba(255,255,255,0.05);
}
pre {
background: transparent;
padding: 1rem;
overflow-x: auto;
font-size: 0.85rem;
line-height: 1.6;
margin: 0;
}
code {
font-family: 'SF Mono', Monaco, 'Courier New', monospace;
color: #dcdcaa;
}
.copy-btn {
background: transparent;
border: 1px solid var(--text-dim);
color: var(--text-dim);
padding: 0.3rem 0.6rem;
border-radius: 5px;
cursor: pointer;
font-size: 0.7rem;
transition: all 0.2s;
display: flex;
align-items: center;
gap: 0.3rem;
}
.copy-btn:hover {
border-color: var(--text);
color: var(--text);
background: rgba(255,255,255,0.05);
}
.copy-btn.copied {
border-color: var(--success);
color: var(--success);
}
.copy-btn svg {
width: 12px;
height: 12px;
}
a {
color: var(--accent);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
.links {
display: flex;
gap: 1.5rem;
flex-wrap: wrap;
}
.architectures {
display: flex;
gap: 0.5rem;
margin-top: 0.5rem;
}
.arch {
background: var(--code-bg);
padding: 0.25rem 0.75rem;
border-radius: 6px;
font-family: monospace;
font-size: 0.85rem;
}
.distro-link {
background: var(--code-bg);
padding: 0.75rem 1rem;
border-radius: 8px;
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-top: 0.5rem;
}
footer {
margin-top: 3rem;
text-align: center;
color: var(--text-dim);
font-size: 0.9rem;
}
</style>
</head>
<body>
<div class="container">
<h1>Claude Desktop APT Repository</h1>
<p class="subtitle">Unofficial Linux packages for Claude Desktop</p>
<div class="card">
<h2>Quick Install</h2>
<div class="step">
<div class="step-label">1. Add the GPG key</div>
<div class="code-block">
<div class="code-header">
<button class="copy-btn" onclick="copyCode(this)">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" />
</svg>
Copy
</button>
</div>
<pre><code>curl -fsSL https://aaddrick.github.io/claude-desktop-debian/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/claude-desktop.gpg</code></pre>
</div>
</div>
<div class="step">
<div class="step-label">2. Add the repository</div>
<div class="code-block">
<div class="code-header">
<button class="copy-btn" onclick="copyCode(this)">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" />
</svg>
Copy
</button>
</div>
<pre><code>echo "deb [signed-by=/usr/share/keyrings/claude-desktop.gpg arch=amd64,arm64] https://aaddrick.github.io/claude-desktop-debian stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list</code></pre>
</div>
</div>
<div class="step">
<div class="step-label">3. Install</div>
<div class="code-block">
<div class="code-header">
<button class="copy-btn" onclick="copyCode(this)">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" />
</svg>
Copy
</button>
</div>
<pre><code>sudo apt update && sudo apt install claude-desktop</code></pre>
</div>
</div>
</div>
<div class="card">
<h2>Supported Architectures</h2>
<div class="architectures">
<span class="arch">amd64</span>
<span class="arch">arm64</span>
</div>
</div>
<div class="card">
<h2>Updates</h2>
<p style="margin-bottom: 1rem;">Once installed, Claude Desktop updates automatically with your system:</p>
<div class="code-block">
<div class="code-header">
<button class="copy-btn" onclick="copyCode(this)">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" />
</svg>
Copy
</button>
</div>
<pre><code>sudo apt update && sudo apt upgrade</code></pre>
</div>
</div>
<div class="card">
<h2>Other Distributions</h2>
<p>Using Fedora or RHEL?</p>
<a href="rpm/" class="distro-link">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z"/>
</svg>
DNF Repository (Fedora/RHEL)
</a>
</div>
<div class="card">
<h2>Links</h2>
<div class="links">
<a href="https://github.com/aaddrick/claude-desktop-debian">GitHub Repository</a>
<a href="https://github.com/aaddrick/claude-desktop-debian/releases">Releases</a>
<a href="https://github.com/aaddrick/claude-desktop-debian/issues">Report Issues</a>
<a href="KEY.gpg">GPG Public Key</a>
</div>
</div>
<footer>
<p>This is an unofficial project. Claude Desktop is a product of <a href="https://www.anthropic.com">Anthropic</a>.</p>
</footer>
</div>
<script>
function copyCode(button) {
const codeBlock = button.closest('.code-block').querySelector('code');
const text = codeBlock.textContent;
navigator.clipboard.writeText(text).then(() => {
const originalText = button.innerHTML;
button.innerHTML = `
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
</svg>
Copied!
`;
button.classList.add('copied');
setTimeout(() => {
button.innerHTML = originalText;
button.classList.remove('copied');
}, 2000);
});
}
</script>
</body>
</html>