Files
felhom.eu/website/teszteles.html
T
admin 6059505216
gates / gates (push) Failing after 13m11s
website: M3 goes live - the whole site switches to the controller's shell at once
Part D. Every public page now wears the controller's frame around the website's
own content. One commit, as asked: never half old, half new.

  20 pages switched (12 Hungarian incl. the hidden prices page, 8 English)
  website/preview/ deleted entirely - A, M1, M2 and M3 studies all gone
  robots.txt: the Disallow: /preview/ line removed with them
  site.css?v=22 / shell.css?v=22 on every page

PROVED before pushing, not after:
  * HEAD TAGS: title, meta description, keywords, author, robots, canonical, every
    hreflang, all seven Open Graph tags, all four Twitter tags and the JSON-LD
    captured on all 19 pages before the switch and compared after. The ONLY
    difference anywhere is the dash substitution inside the two FAQ pages'
    FAQPage JSON-LD - verified by applying the same substitution to the "before"
    copy and getting an exact match. Nothing else moved.
  * VISIBLE TEXT: identical to the live pages word for word, legal texts identical
    with no substitution permitted at all.
  * No page is left noindex (the two download pages' noindex,follow is their own,
    pre-existing and unchanged), no page mentions /preview/, every page has a
    footer, no page overflows at 390px.

THE HEAD-TAG DIFF EARNED ITS PLACE. The home page was about to ship carrying
`noindex, nofollow` from the preview, and had lost meta keywords, meta author, all
seven Open Graph tags, all four Twitter tags and the LocalBusiness JSON-LD -
because its head was hand-built while every other page carried its live one over.
The diff caught it; nothing on the rendered page would have. The generator now
uses the live head for EVERY page including the home one.

szolgaltatasok-nonpublic.html was converted too. It is in no menu and was not in
the brief's list, but leaving one page on the old chrome would have left the site
half-switched - which is the one thing part D was not allowed to do.

scripts/site_gates.py: SHELL is now the real page set; MOCKUPS is empty; gate 3's
old nav/footer loop keeps working for any page added later WITHOUT the shell, and
skips the ones that have it.
2026-10-11 15:57:35 +02:00

325 lines
21 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="hu" class="no-js">
<head>
<script>document.documentElement.className=document.documentElement.className.replace('no-js','js');</script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tesztelőket keresünk — otthoni szerver, saját felhő ingyen kipróbálva | Felhom.eu</title>
<meta name="description" content="Keresünk magyar háztartásokat, akik kipróbálják az otthoni szerverünket. A teszt alatt nincs díj, a beállítást mi végezzük, és a domaint is mi fizetjük két évre. Legfeljebb 5 háztartás.">
<meta name="keywords" content="otthoni szerver teszt, tesztelő jelentkezés, saját felhő, NAS otthonra, zárt teszt, otthoni szerver ingyen">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://felhom.eu/teszteles">
<link rel="alternate" hreflang="hu" href="https://felhom.eu/teszteles">
<link rel="alternate" hreflang="en" href="https://felhom.eu/en/testing">
<link rel="alternate" hreflang="x-default" href="https://felhom.eu/teszteles">
<meta property="og:type" content="article">
<meta property="og:url" content="https://felhom.eu/teszteles">
<meta property="og:title" content="Tesztelőket keresünk — saját felhő otthon, a teszt alatt ingyen">
<meta property="og:description" content="A fotóid és a dokumentumaid a saját gépeden, nálad. A beállítást mi végezzük, a domaint két évre mi fizetjük. Legfeljebb 5 háztartás.">
<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="Tesztelőket keresünk — saját felhő otthon">
<meta name="twitter:description" content="A teszt alatt nincs díj. A beállítást mi végezzük, a domaint két évre mi fizetjük.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Tesztelőket keresünk a Felhom zárt tesztjéhez",
"description": "Mi kell hozzá, mit kapsz, mit kérünk, és hogyan jelentkezhetsz a Felhom zárt tesztjébe.",
"author": {"@type": "Organization", "name": "Felhom.eu"},
"publisher": {"@type": "Organization", "name": "Felhom.eu", "logo": {"@type": "ImageObject", "url": "https://felhom.eu/assets/logo.png"}},
"mainEntityOfPage": "https://felhom.eu/teszteles"
}
</script>
<!-- shared assets: bump ?v= together on any site.css/icons.svg change -->
<link rel="stylesheet" href="/assets/site.css?v=22">
<link rel="stylesheet" href="/assets/shell.css?v=22">
<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="shell page-teszteles">
<header class="mobile-topbar">
<a href="/" class="mobile-topbar-logo"><img src="/assets/logo_notext_white.svg" alt="Felhom.eu"></a>
<button type="button" class="nav-burger" id="navBurger" aria-expanded="false" aria-controls="sidebar" aria-label="Menü">
<span class="hamburger-box"><span class="hamburger-line"></span><span class="hamburger-line"></span><span class="hamburger-line"></span></span>
</button>
</header>
<div class="nav-backdrop" id="navBackdrop" hidden></div>
<nav class="sidebar" id="sidebar">
<div class="sidebar-header">
<a href="/" class="sidebar-logo-link">
<img src="/assets/logo_notext_white.svg" alt="" class="sidebar-logo" aria-hidden="true">
<img src="/assets/logo-wordmark.png" alt="felhom.eu" class="sidebar-word">
</a>
</div>
<ul class="nav-links">
<li><a href="/"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-home"/></svg>Kezdőlap</a></li>
<li><a href="/#szolgaltatasok"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-rocket"/></svg>Szolgáltatások</a></li>
<li class="nav-group">
<button type="button" class="nav-group-toggle" aria-expanded="false" aria-controls="nav-group-apps"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-package"/></svg>Alkalmazások<svg class="ico nav-chevron" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-chevron-down"/></svg></button>
<ul id="nav-group-apps" class="nav-links nav-links-sub nav-links-nested">
<li><a href="/alkalmazasok">Minden alkalmazás</a></li>
<li><a href="/alkalmazasok#fajlkezeles-irodai">Fájlkezelés &amp; Irodai</a></li>
<li><a href="/alkalmazasok#media-szorakozas">Média &amp; Szórakozás</a></li>
<li><a href="/alkalmazasok#otthon-eletmod">Otthon &amp; Életmód</a></li>
<li><a href="/alkalmazasok#produktivitas-tudaskezeles">Produktivitás &amp; Tudáskezelés</a></li>
<li><a href="/alkalmazasok#rendszer-fejlesztes">Rendszer &amp; Fejlesztés</a></li>
</ul>
</li>
<li><a href="/technologiak"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-layers"/></svg>Technológiák</a></li>
<li><a href="/biztonsagimentes"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-shield-check"/></svg>Biztonsági mentés</a></li>
</ul>
<div class="sidebar-bottom">
<a href="/teszteles" class="btn btn-outline sidebar-cta">Jelentkezem tesztelőnek →</a>
<div class="nav-group-label">A Felhomról</div>
<ul class="nav-links nav-links-sub">
<li><a href="/#hogyan-mukodik">Hogyan működik</a></li>
<li><a href="/gyik">GYIK</a></li>
<li><a href="/kapcsolat">Kapcsolat</a></li>
</ul>
<div class="sidebar-footer">
<details class="lang-globe"><summary class="lang-globe-btn" aria-label="Nyelv" title="Nyelv"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-globe"/></svg></summary><ul class="lang-globe-menu"><li><a href="/teszteles" lang="hu" hreflang="hu" class="lang-globe-item current" aria-current="true">Magyar</a></li><li><a href="/en/testing" lang="en" hreflang="en" class="lang-globe-item">English</a></li></ul></details>
</div>
</div>
</nav>
<main class="content">
<div class="page-header">
<h1>Legyél <span>tesztelő</span></h1>
</div>
<p class="page-lede">Néhány magyar háztartással most kezdjük el élesben használni a rendszert. A teszt alatt nincs díj, a beállítást mi végezzük, és a domaint is mi fizetjük. Cserébe azt kérjük, mondd el, mi nem jó.</p>
<!-- Kinek szól -->
<section class="content-section">
<div class="container">
<div class="section-header">
<h2>Kinek <span>szól</span></h2>
<p>Nem informatikusokat keresünk – családokat, akik tényleg használni fogják</p>
</div>
<div class="info-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-home"/></svg> Egy magyar háztartás, aki haza akarja tenni az adatait</h3>
<p>Ha a fényképeid, a beszkennelt papírjaid és a filmjeid ma egy külföldi szolgáltatónál vannak, és szeretnéd, hogy inkább nálad, a saját gépeden legyenek – téged keresünk.</p>
<p><strong>Informatikai tudás nem kell.</strong> A szervert mi állítjuk be nálad, és mi is üzemeltetjük. Neked a böngészőből kell használnod, úgy, mint bármelyik másik oldalt.</p>
<div class="highlight-box">
<p>Ami viszont kell: <strong>türelem</strong>. Ez teszt, nem kész termék. Találni fogsz hibát – pont ez a lényege.</p>
</div>
</div>
</div>
</section>
<!-- Mi kell hozzá -->
<section class="content-section alt-bg">
<div class="container">
<div class="section-header">
<h2>Mi kell <span>hozzá</span></h2>
<p>Három dolog – és a harmadikat mi fizetjük</p>
</div>
<div class="info-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-cpu"/></svg> 1. Egy gép, ami bekapcsolva tud maradni</h3>
<!-- source: website/gyik.html FAQ „Milyen gépre van szükségem?" (quoted, not invented) -->
<p>A szerver a lakásodban áll, és folyamatosan megy – ezért fontos, hogy csendes és takarékos legyen. A GYIK-ből idézve: <em>„A legtöbb otthoni felhasználónak egy mini PC (pl. Intel N100 processzorral, 16-32 GB RAM-mal) tökéletesen megfelel. Ezek csendesek, energiatakarékosak (15-35W fogyasztás), és kompaktak – elfér a polcon a router mellett."</em></p>
<!-- source: website/gyik.html FAQ „Használhatom a már meglévő régi gépemet?" (quoted) -->
<p>Régi géped is lehet jó: <em>„Sok esetben igen! Egy korábbi asztali PC kiváló szerver lehet. Az egyeztetés során felmérjük, hogy a meglévő géped alkalmas-e a tervezett feladatokra (elég RAM, tároló kapacitás, megbízhatóság). Fontos szempont a fogyasztás és a zajszint – egy régi gamer PC működik ugyan, de havi szinten jóval többet fogyaszt, mint egy modern mini PC."</em></p>
<p>Ha nincs géped, az nem kizáró ok – az egyeztetésen átbeszéljük, mi a legjobb a te helyzetedben. Részletesebb konfigurációk a <a href="/technologiak">Technológiák</a> oldalon.</p>
</div>
<div class="info-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-radio-tower"/></svg> 2. Otthoni internet</h3>
<!-- source: website/gyik.html FAQ „Milyen internet kapcsolat szükséges?" (quoted) -->
<p>A GYIK-ből idézve: <em>„Otthoni használathoz (helyi hálózaton belül) bármilyen internet elég, mert az alkalmazások a helyi hálózatodon futnak – nem az interneten keresztül. […] Ha távolról is el szeretnéd érni a szerveredet (pl. munkahelyről vagy nyaralásból), akkor a feltöltési sebesség (upload) számít: minimum 10 Mbps ajánlott, de minél több, annál jobb."</em></p>
</div>
<div class="info-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-globe"/></svg> 3. Egy domain – amit mi fizetünk</h3>
<!-- source: operator ruling D1, 2026-10-10 (CONTEXT.md); documentation/architecture/01-topology-and-trust.md §7 -->
<p>A szerveredet és az alkalmazásaidat a <strong>saját domainedről</strong> érjük el – nem egy felhom.eu alatti névről. Így a vezérlőpultod <code>felhom.a-te-domained.hu</code> lesz, és minden alkalmazás egy saját aldomaint kap.</p>
<div class="highlight-box">
<p><strong>A domain a te nevedre szól, és a díját a teszt alatt mi fizetjük – két évre.</strong> A domain tehát a tiéd: ha a teszt véget ér, vagy ha kiszállsz, <strong>a domain nálad marad</strong>, és onnantól te fizeted tovább. Nem kérjük vissza, és nem visszük magunkkal.</p>
</div>
<p>A domain DNS-beállításait a teszt alatt mi kezeljük, egy olyan hozzáféréssel, ami <strong>kizárólag ezt az egy domaint látja</strong> – máshoz nem ér hozzá.</p>
</div>
</div>
</section>
<!-- Mit kapsz -->
<section class="content-section">
<div class="container">
<div class="section-header">
<h2>Mit <span>kapsz</span></h2>
<p>Ugyanaz a lista, ami a teszt feltételeinek 3. pontjában áll – se több, se kevesebb</p>
</div>
<div class="info-card">
<!-- source: documentation/legal/feltetelek-1.0.md §3 (same promises, no new ones) -->
<ul>
<li>Egy <strong>otthoni szervert beállítunk</strong> nálad, és működőképes állapotba hozzuk.</li>
<li><strong>Alkalmazásokat telepítünk</strong> rá a katalógusunkból, a vezérlőpulton keresztül.</li>
<li>Az alkalmazások <strong>elérhetők lesznek az interneten</strong> is.</li>
<li><strong>Figyeljük a szervert.</strong> Ha baj van, szólunk.</li>
<li><strong>Mentés készül</strong> több szinten: a szerveren, és titkosítva egy távoli tárhelyen is.</li>
<li><strong>Frissítjük</strong> az alkalmazásokat és a rendszert, jellemzően éjszaka, egy általad beállítható időablakban.</li>
<li>És a fentiek szerint: <strong>a domaint két évre mi fizetjük.</strong></li>
</ul>
<p>Hogy mit <strong>nem</strong> ígérünk – rendelkezésre állást és válaszidőt nem vállalunk –, azt a <a href="/feltetelek">teszt feltételei</a> 5. pontja írja le. Érdemes elolvasni, mielőtt jelentkezel.</p>
</div>
</div>
</section>
<!-- Mit kérünk -->
<section class="content-section alt-bg">
<div class="container">
<div class="section-header">
<h2>Mit <span>kérünk</span></h2>
<p>Pénzt nem – se tőled, se felénk</p>
</div>
<div class="info-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-message-square"/></svg> Mondd el, mi nem jó</h3>
<p>Ez az egyetlen, amit cserébe kérünk. Mi zavaró, mi érthetetlen, mi nem működik. Egy „ezt a gombot nem találtam" ér nekünk a legtöbbet – abból tudjuk, mit kell kijavítani.</p>
<h3 style="margin-top: 24px;"><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-shield-check"/></svg> Tarts meg egy saját másolatot</h3>
<!-- source: documentation/legal/feltetelek-1.0.md §4 („Ezért kérünk valamit") -->
<p>A teszt feltételeiből: <strong>amit nem veszíthetsz el, abból tarts meg egy saját másolatot magadnál is. Ne a teszt legyen az egyetlen helye.</strong> Mentés készül és teszteljük is, de egy teszt alatt bármi elromolhat.</p>
</div>
</div>
</section>
<!-- Hány helyünk van -->
<section class="content-section">
<div class="container">
<div class="section-header">
<h2>Hány <span>helyünk van</span></h2>
</div>
<div class="info-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-users"/></svg> Legfeljebb 5 háztartás</h3>
<!-- source: operator ruling D2, 2026-10-10 (CONTEXT.md) -->
<p>A zárt tesztben <strong>legfeljebb 5 háztartás</strong> vesz részt. Ez azért ilyen kevés, mert egy ember üzemelteti a rendszert, és minden tesztelőre akarunk időt fordítani. A teszt <strong>most indul</strong>, így jelenleg <strong>mind az 5 hely szabad</strong>.</p>
<p>Ha betelik, azt megírjuk – és szólunk, amikor újra szabadul egy hely.</p>
</div>
</div>
</section>
<!-- Jelentkezés -->
<section class="cta-section">
<div class="container">
<h2>Érdekel? <span>Jelentkezz</span></h2>
<p>Írj egy üzenetet – <strong>nem kötelez semmire</strong>, először csak beszélgetünk. Átbeszéljük, van-e megfelelő géped, és mire használnád.</p>
<a href="/kapcsolat?tema=zart-teszt" class="cta-button">Jelentkezem tesztelőnek →</a>
</div>
</section>
<!-- Mit olvass el -->
<section class="content-section alt-bg">
<div class="container">
<div class="section-header">
<h2>Mit érdemes <span>elolvasni</span></h2>
</div>
<div class="info-card">
<ul>
<li><a href="/feltetelek">A zárt teszt feltételei</a> – mit kapsz, mit nem ígérünk, és hogyan tudsz kiszállni.</li>
<li><a href="/adatkezeles">Adatkezelési tájékoztató</a> – milyen adatot kezelünk, meddig, és miért.</li>
<li><a href="/gyik">GYIK</a> – a géptől a mentésekig a leggyakoribb kérdések.</li>
</ul>
</div>
</div>
</section>
</main>
<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>
<footer>
<div class="container">
<p>© 2026 felhom.eu – Saját felhőd, saját szabályaid</p>
<p class="footer-legal">Üzemeltető: Nagyfenyvesi Viktor · <a href="mailto:info@felhom.eu">info@felhom.eu</a> · <a href="/adatkezeles">Adatkezelési tájékoztató</a> · <a href="/feltetelek">Feltételek</a></p>
</div>
</footer>
<script>
(function(){
var b=document.getElementById('navBurger'),s=document.getElementById('sidebar'),k=document.getElementById('navBackdrop');
if(!b||!s||!k)return;
function open(){s.classList.add('is-open');k.hidden=false;document.body.classList.add('nav-open');b.setAttribute('aria-expanded','true');}
function close(){s.classList.remove('is-open');k.hidden=true;document.body.classList.remove('nav-open');b.setAttribute('aria-expanded','false');}
b.addEventListener('click',function(){s.classList.contains('is-open')?close():open();});
k.addEventListener('click',close);
document.addEventListener('keydown',function(e){if(e.key==='Escape'&&s.classList.contains('is-open')){close();b.focus();}});
s.querySelectorAll('a').forEach(function(l){l.addEventListener('click',close);});
window.addEventListener('resize',function(){if(window.innerWidth>768)close();});
})();
document.addEventListener('click',function(e){
var btn=e.target.closest?e.target.closest('.nav-group-toggle'):null;
if(!btn)return;
var g=btn.closest('.nav-group');if(!g)return;
var willOpen=!g.classList.contains('is-open');
document.querySelectorAll('.nav-group.is-open').forEach(function(x){
x.classList.remove('is-open');
var t=x.querySelector('.nav-group-toggle');if(t)t.setAttribute('aria-expanded','false');
});
if(willOpen){g.classList.add('is-open');btn.setAttribute('aria-expanded','true');}
});
</script>
</body>
</html>