Obnova z FTP záloh stažených 24. 9. 2026. Každý ročník je samostatný statický web v public/2022, public/2023 a public/2024. V prohlížeči ani při běžném nasazení se nepoužívá WordPress, CMS, databáze nebo vzdálené API. Ročník 2026 má vlastní repozitář a tento projekt ho nemění.
- 2022: hlavní stránka, články a záznamy, kategorie a jejich stránkování, autorův přehled a původní obsah programu na hlavní stránce.
- 2023: hlavní stránka, blogový článek, obchodní podmínky, fotogalerie a samostatná aplikace programu na
/program/včetně detailů přednášek. - 2024: hlavní stránka, právní stránky a program na
/program/včetně detailů, přepínání tabulky/seznamu, oblíbených a tiskové verze/program/print/.
Původní ZIPy obsahují také poškozené stránky (Cloudflare 520), chybové soubory místo fontů, metadata macOS a u roku 2024 vnořenou kopii ZIPu. Tyto soubory se nezveřejňují jako obsah. Nedochované veřejné stránky, například cookies či prodej vstupenek, zobrazují stručnou informaci o chybějící záloze. Jejich text nebyl domýšlen ani přebírán z jiného ročníku.
U roku 2024 v záloze chybí 14 partnerských log. Zůstaly zachované jejich názvy a odkazy; obrázky nahrazují textové názvy. Stejně pojmenované obrázky dostupné v dalších dodaných zálohách byly zkopírované lokálně. Chybějící font ikon byl obnoven v původní verzi z oficiálního zdroje, viz recovered/README.md. Některé generované CSS soubory ročníků 2023 a 2024 rovněž obsahovaly jen chybovou odpověď a jsou vynechány; přesný seznam je v reportu obnovy.
Analytika, nákupní/formulářové skripty a automatické externí embedy jsou odstraněné. Mapy a videa zůstávají běžnými odkazy; načtou se až po kliknutí. Menu, FAQ a fotogalerie používají lokální obsluhu bez WordPressu. Součástí archivu jsou lokální fonty. Odkazy na třetí strany jsou zachované, jejich obsah se nearchivuje.
Přehled zdrojů, kontrolní součty a seznam nedochovaných souborů: reports/source-manifest.json a reports/restoration.json.
bun install --frozen-lockfile
python3 -m http.server 4222 --directory public/2022Otevři http://localhost:4222. Pro další ročník změň adresář. Weby lze obsluhovat libovolným statickým HTTP serverem.
bunx playwright install chromium
bun run testTest spustí vlastní lokální servery a projde skutečné HTML stránky, obrázky, mobilní menu, FAQ, fotogalerii a programové modaly. Blokuje externí domény a zápisové/API požadavky a selže při rozbitých souborech nebo chybách JavaScriptu. S nainstalovaným Chrome můžeš použít PLAYWRIGHT_CHANNEL=chrome bun run test.
Cílové projekty a domény:
| Adresář | Pages projekt | Doména |
|---|---|---|
public/2022 |
cryptobyte-static-2022 |
2022.cryptobyte.cz |
public/2023 |
cryptobyte-static-2023 |
2023.cryptobyte.cz |
public/2024 |
cryptobyte-static-2024 |
2024.cryptobyte.cz |
Workflow .github/workflows/archives.yml ověřuje každý ročník samostatně. Žádný backend se nenasazuje. Soubory _headers používají no-transform, aby Cloudflare nevkládal analytiku.
Pro nasazení jsou potřeba repository secrets CLOUDFLARE_ACCOUNT_ID a CLOUDFLARE_API_TOKEN se stejným cílovým účtem jako u archivu 2026. Token potřebuje Account → Cloudflare Pages → Edit a Zone → DNS → Edit pro cryptobyte.cz. Token se nezapisuje do webových souborů ani logů.
První deploy: Actions → Verify and deploy archives → Run workflow, ponechat deploy zapnuté. Workflow vytvoří chybějící Pages projekty, nahraje statické soubory a přepojí pouze odpovídající roční subdomény. Předchozí DNS záznamy se uloží do artefaktu běhu pro případ návratu. Při neočekávané kombinaci DNS záznamů nebo existujícím projektu s Git integrací skončí bezpečně chybou.
Po prvním úspěšném ověření nastav repository variable CLOUDFLARE_DEPLOY_ENABLED=true; další push do main pak automaticky nasadí všechny tři archivy. Bez této proměnné push spouští pouze testy. Pull requesty nikdy nenasazují.
Veřejný web lze ověřit stejným testem:
ARCHIVE_YEAR=2022 ARCHIVE_ORIGIN=https://2022.cryptobyte.cz bun run testBěžné spuštění ani nasazení tuto přípravu nepotřebuje – hotové statické soubory jsou verzované. Pro opakovanou obnovu:
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python scripts/prepare_archives.py /cesta/k/ftp-backups-2026-09-24Příprava ověřuje SHA-256 zdrojových ZIPů a používá verzované doplňky z recovered/. Při prvním získání fontů potřebuje internet; jejich lokální kopie následně používá přímo. Původní ZIPy nemění.