Původně jsem si chtěl pronajmout malé VPS. Potřeboval jsem někde nechat nepřetržitě běžet Python skript, který ověřuje domény pro CyberSquatting.cz. Po zvažování virtuálního serveru a miniPC jsem nakonec koupil Raspberry Pi 4 se 2 GB RAM. Teď mám na skříni vlastní dedikovaný server za 2 840 Kč.
Je to další pokračování mého návratu k CyberSquatting.cz. Minule jsem psal hlavně o zachráněných datech a hledání českých domén. Jenže čím víc názvů roboti najdou, tím víc práce čeká na jejich ověření. A notebook, který večer vypnu, není úplně ideální základ nepřetržitého provozu.
Procesor většinu času čeká
V podkladech pro ověřování už pracuji s přibližně 1,3 milionu domén. Samotný nález názvu ale neříká, jestli je doména stále registrovaná. K tomu potřebuji kontrolu přes RDAP, případně WHOIS. RDAP zjednodušeně umožňuje získat registrační údaje ve formátu, se kterým se skriptu dobře pracuje.
Na nápad poskládat katalog z veřejných zdrojů jsem si přitom zadělal už v článku z roku 2012 o chybějícím seznamu .cz domén. Dnes mám mnohem víc nalezených názvů, ale pořád musím rozlišovat mezi historickým nálezem, fungujícím DNS a potvrzením registrace.
Ověřování navíc nejde bezhlavě zrychlovat (je to i v zadání projektu - smím používat jen veřejné zdroje a vše dělám legálně). To znamená respektovat omezení dotazovací služby, čekat na odpovědi a řešit neúspěšné pokusy. Při mém nastavení vycházela jedna kontrola přibližně na dvě až tři sekundy. U milionového seznamu už to znamená týdny práce, i kdyby skript neměl žádné přestávky.
Doposud jsem ho spouštěl na notebooku. Část kontrol probíhá také na webserveru, ale tam jde přibližně o jednu doménu za minutu. Potřeboval jsem proto další zařízení, které může pracovat i v době, kdy notebook nepotřebuji. Výkonný procesor ani velká paměť přitom nejsou zásadní. Tahle práce je hlavně o čekání na síť.
Od VPS přes miniPC k malé krabičce
Nejdřív jsem se díval po levném VPS, například u Hetzneru. Pro podobný skript by to bylo pohodlné řešení. Hardware a připojení bych nechal na provozovateli datacentra a sám řešil hlavně systém a aplikaci.
Jenže by přibyl další pravidelný poplatek. Žádná dramatická částka, ale CyberSquatting je můj soukromý projekt a těch drobných služeb mám víc. Každá stojí pár eur měsíčně a dohromady už to nějaké peníze jsou. Začal jsem tedy přemýšlet, jestli bych pro tuhle jednu úlohu nevyužil něco doma.
Další možnost bylo malé repasované PC. Výkonu by mělo dost, obvykle i SSD a více paměti. Pokud bych chtěl provozovat několik náročnějších služeb, bylo by zajímavé. Já ale potřeboval hlavně jednoduchého workera, tedy skript, který si vyzvedne práci, provede ji a odešle výsledek.
Nakonec jsem vybral Raspberry Pi 4 Model B se 2 GB RAM. V Alze jsem za sestavu zaplatil:
| Komponenta | Moje pořizovací cena |
|---|---|
| Raspberry Pi 4 Model B, 2 GB RAM | 1 899 Kč |
| Napájecí zdroj USB-C | 279 Kč |
| Hliníkové pouzdro JOY-IT | 263 Kč |
| ADATA Premier microSD 32 GB | 399 Kč |
| Celkem | 2 840 Kč |

Za podobné peníze bych možná našel i výkonnější použitý počítač. Tady mě ale zajímala malá krabička, tichý provoz bez ventilátoru a nízké nároky na elektřinu. Bez měření příkonu konkrétní sestavy nemá smysl počítat přesnou návratnost proti VPS. Pořizovací cena rozhodně není celý účet za domácí provoz.
Nejdřív bylo potřeba dostat se dovnitř
Na kartu jsem nahrál 64bitový Raspberry Pi OS Lite, tedy systém bez grafického prostředí. Nastavil jsem síť a přístup přes SSH pomocí klíče. Raspberry Pi naběhlo, odpovídalo na síti a port pro SSH byl otevřený. Jen mě nechtělo přihlásit.
Nějakou dobu jsme s ChatGPT hledali příčinu. Ten mě tlačil do přeinstalování a že s tím nejde nic dělat. No vzpomněl jsem si na lekce z TryHackMe a prsotě vytáhli microSD, připojili ji přes WSL do Linuxu a našel prázdný soubor authorized_keys. Právě v něm má být veřejný klíč, podle kterého server pozná oprávněného uživatele. Imager přitom při přípravě karty ukazoval, že je klíč nastavený.
Po jeho ručním doplnění přihlášení fungovalo. Nejsložitější částí zprovoznění mého nového serveru tak nakonec bylo dostat se na něj.
Codex mi postavil i malou administraci
S dalším nastavením a nasazením mi pomohl Codex. Vznikl také PythonWorker Manager, jednoduchá lokální administrace na Windows. Přes SSH si z Raspberry Pi načte diagnostiku a ukáže mi stav stroje i samotného ověřování.
Na jednom místě tak vidím paměť, běh systému, stav služby, počet potvrzených domén, rychlost a chyby. Nemusím kvůli každé kontrole otevírat terminál a skládat několik příkazů. Diagnostika se obnovuje při otevřené stránce nebo na vyžádání. Kvůli dashboardu neběží na Raspberry Pi další monitorovací agent.

Samotný worker je samostatná služba systemd. Spouští se automaticky po startu systému a nepotřebuje otevřené SSH spojení ani dashboard. Když zavřu prohlížeč a vypnu Windows, Raspberry Pi dál pracuje. Codex používám k úpravám a správě, samotné ověřování pak zajišťuje obyčejný Python skript.
Aby microSD nemusela celý den zapisovat
U úložiště jsem měl větší obavy než u výkonu. Původní skripty vytvářely logy, archivní soubory a ukládaly průběžný stav. Pro zařízení, které má dlouhodobě běžet z běžné microSD karty, jsem chtěl průběžné zápisy omezit.
Upravili jsme proto rozdělení práce. Server CyberSquatting.cz drží centrální frontu a výsledky. Raspberry Pi si přes API vyzvedne dávku domén, ověří ji a výsledky odešle zpět. Nepotřebuje vlastní databázi ani trvale ukládané rozpracované dávky. Pracovní stav, dočasné soubory a logy workera zůstávají v operační paměti.
Při testech a sledovaném provozu Codex u samotného workera ověřil 0 bajtů diskových zápisů. To je údaj za sledovaný proces a dobu měření. Operační systém, instalace nebo aktualizace na kartu samozřejmě zapisovat mohou. Neznamená to ani záruku, že karta nikdy neodejde.
Když zařízení vypadne, nedokončená práce se po vypršení rezervace vrátí do centrální fronty. Po opětovném spuštění si worker vyzvedne další dávku. Stejnou frontu používá i ověřování na webserveru a další worker, kterého mohu spustit na notebooku.
Krátký test vypadal lépe než delší průměr
První měření po něco více než čtyřech hodinách ukázalo 5 927 potvrzených domén a průměrnou rychlost 1 448 domén za hodinu. Systém tehdy využíval přibližně 217 MiB RAM, CPU ukazovalo 7,3 % a teplota byla 57,5 °C. Swap se nepoužíval a diagnostika nehlásila omezování výkonu. Na moji úlohu tedy paměť ani procesor nevypadaly jako překážka.
Novější snímek z 10. listopadu 2026 kolem 22:43 už zachycuje worker po dvou dnech, čtyřech hodinách a 24 minutách. Má 39 937 potvrzených domén, průměr od startu 761,9 za hodinu a krátkodobou rychlost přibližně 1 245 za hodinu. Průměr zahrnuje také čekání a startovní prodlevy. Na snímku je zároveň 532 zaznamenaných chyb. to samo o sobě neříká, kolik různých domén zůstalo neověřených. Na projektu po večerech pracuji, jsou to často velké zásahy, takže pár těch chyb jde určitě na vrub i mě.

Ten rozdíl je docela dobrá připomínka, proč nepřepočítávat celý projekt podle nejhezčích prvních hodin. Při stálých 1 400 kontrolách za hodinu by 1,3 milionu kontrol trvalo přibližně 39 dní. Při delším zachyceném průměru kolem 762 za hodinu už zhruba 71 dní. Obojí je jen přepočet pro představu, nikoliv termín dokončení: fronta se mění, část práce dělají další ověřovače a některé kontroly se mohou opakovat.
Dedikáč na skříni mi zatím stačí
VPS tím samozřejmě neztrácí smysl. Pro veřejný server nebo službu, na jejíž dostupnosti záleží, bych řešil jiné požadavky než u domácího sběrače dat. Tady stačí výpadek internetu či elektřiny a práce se zastaví. Hardware i jeho údržba jsou moje starost.
Jenže tenhle worker nepotřebuje přijímat spojení z internetu. Sám si stahuje práci a odesílá výsledky. Krátký výpadek mohu tolerovat a notebook už kvůli němu nechávám zapnutý jen tehdy, když chci přidat dalšího ověřovače.
Takže původně jsem chtěl malý virtuální server. Nakonec mám na skříni vlastní krabičku se 2 GB RAM, která pomáhá CyberSquatting.cz ověřovat domény, zatímco já můžu řešit něco jiného. Po letech hraní si s doménami jsem si k nim pořídil i vlastní dedikáč. A zatím mi na něj stačí místo na skříni.
