Files
felhom.eu/website/letoltes.html
T
admin eb1ae37095
gates / gates (push) Successful in 23s
ISO 1.29.0 source + an English download page (R-559 slice 4, source only)
THE IMAGE IS NOT BUILT AND NOT PUBLISHED BY THIS COMMIT. Publishing to
iso.felhom.eu is public and irreversible and its runbook requires a proof
install on BOTH menu entries plus the 16-criterion gate run against the exact
uploaded bytes. That is the operator's step. The download pages therefore still
name 1.28.0 - the image that is actually published - and a new site gate
refuses the two pages naming different files or hashes.

Three texts a person meets before any dashboard become bilingual: Hungarian
block first, byte for byte as before, then English, inside the same frame. The
pairing banner, the bound banner, /etc/issue (and the postinst's byte-coupled
copy), plus an English half on the GRUB entries.

The Hungarian is a GOLDEN, not a grep: test/golden/*.hu.txt were captured from
the script at 183727db9c before one English line existed, and the harness
asserts each banner's first N lines are exactly the golden. Red-proofed by one
changed byte, by an "a" planted in the English block, and by an over-wide line.

R-586, found on the way in: running the harness UNCHANGED at the base commit
failed two R-496 checks. The script paints with `>`, which truncates a FILE but
is a no-op on a console device; ISO 1.28.0's new bound banner (c033b3b) paints
straight after the pairing one and wiped it before the check read it. c033b3b
did not touch the harness, and nobody saw it because the harness is in no gate
and no CI run. Fixed with a FIFO; production code untouched. The harness being
ungated is still open.

The release gate's G16 required every Felhom string to be Hungarian and would
have STOPPED this publication. Operator ruling 1b of 2026-09-17 supersedes that
scope, so G16 is rewritten rather than waived: Hungarian FIRST, pinned by the
golden, each secret named once per language.

letoltes.html changes by four lines only. The English link is not in the nav -
the nav is a shared block site_gates.py pins across every page, and the gate
convicted the first attempt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-09-18 17:40:29 +02:00

164 lines
8.0 KiB
HTML

<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Letöltés — a Felhom telepítő | Felhom.eu</title>
<meta name="description" content="A Felhom otthoni szerver telepítője: letöltés, ellenőrző összeg, és mire figyelj a telepítés előtt.">
<meta name="robots" content="noindex, follow">
<link rel="canonical" href="https://felhom.eu/letoltes">
<link rel="alternate" hreflang="hu" href="https://felhom.eu/letoltes">
<link rel="alternate" hreflang="en" href="https://felhom.eu/en/download">
<link rel="alternate" hreflang="x-default" href="https://felhom.eu/letoltes">
<meta property="og:type" content="website">
<meta property="og:url" content="https://felhom.eu/letoltes">
<meta property="og:title" content="A Felhom telepítő letöltése">
<meta property="og:description" content="Letöltés, ellenőrző összeg, és mire figyelj a telepítés előtt.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="A Felhom telepítő letöltése">
<meta name="twitter:description" content="Letöltés, ellenőrző összeg, és mire figyelj a telepítés előtt.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png">
<!-- shared assets: bump ?v= together on any site.css/icons.svg change -->
<link rel="stylesheet" href="/assets/site.css?v=2">
<link rel="icon" type="image/png" href="/assets/logo_favicon_2.svg">
<script defer src="https://stats.felhom.eu/script.js" data-website-id="d419db57-5e1c-48df-bdb3-c29f25fb1661"></script>
</head>
<body class="page-letoltes">
<nav>
<div class="container">
<a href="/" class="logo">
<img src="/assets/logo.png" alt="Felhom.eu logo">
<span class="logo-text">felhom.eu</span>
</a>
<ul class="nav-links">
<li><a href="/#szolgaltatasok">Szolgáltatások</a></li>
<li><a href="/alkalmazasok">Alkalmazások</a></li>
<li><a href="/technologiak">Technológiák</a></li>
<li><a href="/biztonsagimentes">Mentések</a></li>
<li><a href="/gyik">GYIK</a></li>
<li><a href="/kapcsolat">Kapcsolat</a></li>
</ul>
<button class="hamburger" id="hamburger" aria-label="Menü megnyitása" aria-expanded="false">
<span class="hamburger-box">
<span class="hamburger-line"></span>
<span class="hamburger-line"></span>
<span class="hamburger-line"></span>
</span>
</button>
</div>
</nav>
<div class="mobile-overlay" id="mobileOverlay"></div>
<main>
<section class="page-header">
<div class="container">
<h1>A Felhom <span>telepítő</span></h1>
<p>Ez az oldal annak szól, aki az üzemeltetőtől telepítési útmutatót kapott. A telepítő egy teljes gépet alakít át Felhom szerverré.</p>
<p><a href="/en/download" lang="en" hreflang="en">English</a></p>
</div>
</section>
<section class="content-section">
<div class="container">
<div class="info-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-triangle-alert"/></svg> Mielőtt letöltöd</h3>
<p>A telepítés <strong>minden adatot töröl</strong> a lemezről, amelyet kiválasztasz. A telepítő soha nem választ helyetted: felsorolja a lemezeket méretükkel és típusukkal, és azt írja felül, amelyiket te kijelölöd.</p>
<p>Húzd ki a gépből a mentésre használt külső lemezt, mielőtt elkezded. Ha nem vagy biztos benne, melyik a jó lemez, <strong>állj meg, és hívd az üzemeltetőt</strong>.</p>
<p>A lépéseket az üzemeltetőtől kapott útmutató írja le, képernyőről képernyőre. Az útmutató nélkül ne kezdd el.</p>
</div>
</div>
</section>
<section class="content-section alt-bg">
<div class="container">
<div class="section-header">
<h2>Letöltés</h2>
<p>Felhom telepítő 1.28.0 (Proxmox VE 9.2 alapon)</p>
</div>
<div class="info-card">
<p><a href="https://iso.felhom.eu/felhom-installer-1.28.0-pve9.2-1.iso"><strong>felhom-installer-1.28.0-pve9.2-1.iso</strong></a> — 1,6 GB (1 705 322 496 bájt)</p>
<p>Ellenőrző összeg (SHA-256):</p>
<div class="highlight-box">
<p><code>a4cd9b6ddcb55bae3700ab307084d2b699330cc20710688d5816318f04f6d635</code></p>
</div>
<p>Ugyanez letölthető fájlként is: <a href="https://iso.felhom.eu/felhom-installer-1.28.0-pve9.2-1.iso.sha256">felhom-installer-1.28.0-pve9.2-1.iso.sha256</a></p>
<p>Ellenőrzés Linuxon vagy Macen: <code>sha256sum felhom-installer-1.28.0-pve9.2-1.iso</code>. Windowson PowerShellben: <code>Get-FileHash felhom-installer-1.28.0-pve9.2-1.iso</code>. A kiírt számsornak meg kell egyeznie a fentivel. Ha nem egyezik, ne használd a fájlt, és töltsd le újra.</p>
<p>A letöltött fájlt egy legalább 4 GB-os USB kulcsra kell írni (például a Balena Etcher vagy a Rufus programmal). Az útmutató ezt is leírja.</p>
</div>
</div>
</section>
</main>
<footer>
<div class="container">
<p>© 2026 felhom.eu — Saját felhőd, saját szabályaid</p>
</div>
</footer>
<script>
(function() {
var hamburger = document.getElementById('hamburger');
var navLinks = document.querySelector('.nav-links');
var overlay = document.getElementById('mobileOverlay');
var body = document.body;
if (!hamburger || !navLinks || !overlay) {
console.warn('[mobile-menu] Missing elements:', {
hamburger: !!hamburger,
navLinks: !!navLinks,
overlay: !!overlay
});
return;
}
function openMenu() {
hamburger.classList.add('is-active');
navLinks.classList.add('is-open');
overlay.classList.add('is-visible');
body.classList.add('menu-open');
hamburger.setAttribute('aria-expanded', 'true');
hamburger.setAttribute('aria-label', 'Menü bezárása');
}
function closeMenu() {
hamburger.classList.remove('is-active');
navLinks.classList.remove('is-open');
overlay.classList.remove('is-visible');
body.classList.remove('menu-open');
hamburger.setAttribute('aria-expanded', 'false');
hamburger.setAttribute('aria-label', 'Menü megnyitása');
}
hamburger.addEventListener('click', function() {
if (navLinks.classList.contains('is-open')) {
closeMenu();
} else {
openMenu();
}
});
overlay.addEventListener('click', closeMenu);
navLinks.querySelectorAll('a').forEach(function(link) {
link.addEventListener('click', closeMenu);
});
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape' && navLinks.classList.contains('is-open')) {
closeMenu();
}
});
window.addEventListener('resize', function() {
if (window.innerWidth > 900 && navLinks.classList.contains('is-open')) {
closeMenu();
}
});
})();
</script>
</body>
</html>