<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Development - Hard Wired</title>
	<atom:link href="https://www.hardwired.dev/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hardwired.dev</link>
	<description></description>
	<lastBuildDate>Thu, 29 Oct 2026 21:21:30 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>

<image>
	<url>https://www.hardwired.dev/wp-content/uploads/2022/10/android-chrome-256x256-1-150x150.png</url>
	<title>Development - Hard Wired</title>
	<link>https://www.hardwired.dev</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Sbohem, kapitáne. Patrick Stewart odešel ve věku 86 let</title>
		<link>https://www.hardwired.dev/2026/10/29/sbohem-kapitane-patrick-stewart-odesel-ve-veku-86-let/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Thu, 29 Oct 2026 21:00:51 +0000</pubDate>
				<category><![CDATA[3D Tisk]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[HAM]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[IOT]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Printables]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[Raspberry web server]]></category>
		<category><![CDATA[Různé]]></category>
		<category><![CDATA[SDR]]></category>
		<category><![CDATA[UFO]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Avengers: Doomsday]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[herec]]></category>
		<category><![CDATA[Jean-Luc Picard]]></category>
		<category><![CDATA[nekrolog]]></category>
		<category><![CDATA[PADD]]></category>
		<category><![CDATA[Patrick Stewart]]></category>
		<category><![CDATA[Profesor X]]></category>
		<category><![CDATA[Royal Shakespeare Company]]></category>
		<category><![CDATA[sci-fi]]></category>
		<category><![CDATA[Star Trek]]></category>
		<category><![CDATA[Star Trek: Nová generace]]></category>
		<category><![CDATA[Star Trek: Picard]]></category>
		<category><![CDATA[vzpomínka]]></category>
		<category><![CDATA[X-Men]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=3135</guid>

					<description><![CDATA[<p>963,Ve středu 28. října zemřel v Los Angeles sir Patrick Stewart. Kluk z Yorkshiru, který vyrůstal v domě bez koupelny, &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/10/29/sbohem-kapitane-patrick-stewart-odesel-ve-veku-86-let/">Sbohem, kapitáne. Patrick Stewart odešel ve věku 86 let</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>963,<strong>Ve středu 28. října zemřel v Los Angeles sir Patrick Stewart. Kluk z Yorkshiru, který vyrůstal v domě bez koupelny, zahrál nejlidštějšího kapitána sci-fi a pro celou generaci techniků se stal velitelem, kterého by si přáli mít nad sebou. Vzpomínka na herce, jenž lodi velel hlasem, ne pěstí.</strong></p>
<p>„Make it so.“ Tři slova, kterými kapitán Jean-Luc Picard posílal posádku Enterprise do práce. Patrick Stewart si je později půjčil i do názvu svých pamětí. A dnes večer, když jsem dočetla zprávu o jeho smrti, mi došlo, že ta věta patří i nám, co něco pájíme, ladíme a kompilujeme. Rozhodni se, řekni to nahlas a pak to udělej.</p>
<p>Stewart zemřel ve středu doma v Los Angeles, v péči své ženy Sunny. Bylo mu 86 let. Podle prohlášení rodiny prošel krátkou a těžkou cestou Alzheimerovy choroby a demence s Lewyho tělísky, informují TV Insider a ČTK.</p>
<h2>Kluk bez koupelny</h2>
<p>Narodil se 13. července 1940 v Mirfieldu, dělnickém městečku v západním Yorkshiru. Doma neměli záchod ani koupelnu. Otec, vyznamenaný voják, se z války vrátil s traumatem, o víkendech pil a bil matku, která pracovala v textilce. Stewart to bez obalu popsal v pamětech Making It So z roku 2023. Deníku The Guardian tehdy řekl, že pochopit otcův vliv na sebe mu trvalo 25 až 30 let terapie.</p>
<p>Únik našel na jevišti. U Shakespeara si jako školák umínil, že jednou bude hrát v Royal Shakespeare Company. V roce 1966 se tam dostal a zůstal čtrnáct let. Hrál Macbetha, Othella, Prospera i Shylocka, píše Guardian.</p>
<p>Hollywood si ho našel, až když mu bylo 47.</p>
<h2>Kapitán, který nejdřív poslouchal</h2>
<p>Picard nebyl Kirk. Neskákal po každém mimozemšťanovi na planetě z papírmaše. Sedl si do zasedačky, vyslechl Data, Geordiho i doktorku Crusherovou, a teprve pak rozhodl. Kdo kdy pracoval v technickém týmu, ten typ zná jen z vyprávění: šéf, který technikovi věří, ale odpovědnost za rozhodnutí si nechá u sebe.</p>
<p>Star Trek: Nová generace běžela sedm sezon, od roku 1987 do roku 1994, a Stewart v ní natočil 176 epizod. Přidal čtyři celovečerní filmy a v letech 2020 až 2023 tři řady seriálu Star Trek: Picard, u kterého byl i výkonným producentem.</p>
<p>Ze 176 epizod si každý fanoušek nese svou. Moje je The Inner Light, kde Picard během jediného dílu prožije celý cizí život a na konci mu zůstane jen flétna. A pak „There are four lights!“ z dvojdílu Chain of Command. Lepší lekci o tom, že pravda se nemění podle toho, kdo zrovna drží ovladač, televize nenatočila.</p>
<h2>Tablet z rozpočtové nouze</h2>
<p>Na palubě Enterprise-D se pracovalo s PADDy, tenkými dotykovými deskami, které vypadaly podezřele jako dnešní tablety. Vznikly ze šetření. Art director seriálu Michael Okuda vysvětloval pro Ars Technica, že nakreslit ovládání jako grafiku vyšlo štábu levněji než kupovat elektroniku. A když se ho někdo ptal, kde je tlačítko pro akci, se kterou nepočítal, odpověděl, že je v softwaru. To bylo v roce 1987.</p>
<p>Doug Drexler, který na trekových rekvizitách pracoval desítky let, o prvním iPadu prohlásil, že je to „pravý startrekový sen“, píše Time.</p>
<p>Mimochodem, Picard nosil PADDy po hromadách. Tvůrci tak divákům ukazovali, že má práce nad hlavu, připomíná Inverse. Dnes by stačil jeden tablet a tři nedočtené kanály na Slacku (pokrok je pokrok).</p>
<p>LeVar Burton, seriálový Geordi La Forge, k tomu pro Adweek řekl, že věří v jednoho konkrétního kluka: ten koukal na původní Star Trek, vyrostl, stal se inženýrem a navrhl véčkový telefon. Kolik takových kluků a holek vyrostlo u Nové generace, nikdo nespočítá. Pár jich čte tenhle web.</p>
<h2>Hlas, který znáte, i když nevíte odkud</h2>
<p>V roce 2000 nasedl Stewart do vozíku Profesora X a ve filmové sérii X-Men si podmanil další generaci. Proti němu stál jeho blízký přítel Ian McKellen jako Magneto. Roli si zopakoval mimo jiné v Loganovi a objeví se v ní ještě jednou, ve filmu Avengers: Doomsday, který jde do kin 18. prosince.</p>
<p>Hráči ho znají z The Elder Scrolls IV: Oblivion, kde jako císař umírá hned v úvodu, a z Castlevania: Lords of Shadow. Picarda namluvil v zhruba deseti trekových hrách, uvádí Game Informer. V roce 2010 ho královna Alžběta II. pasovala na rytíře za zásluhy o drama.</p>
<p>Rodinné prohlášení, které citoval server Variety, připomíná i to, o čem se v nekrolozích mluví méně. Stewart celý život podporoval oběti domácího násilí, uprchlíky, péči o duševní zdraví válečných veteránů a ochranu zvířat, hlavně svých adoptovaných pitbulů. Kdo zná jeho dětství, tomu první položka na seznamu nepřijde náhodná.</p>
<p>Jonathan Frakes, jeho první důstojník Riker, sdílel nekrolog s jedinou větou: „Rest in peace my friend.“ Marvel Studios o něm napsali, že byl jedinečný talent, velkorysý kolega a skutečný gentleman.</p>
<p>Picard by teď nejspíš řekl, ať se vrátíme k práci. Tak dobře, kapitáne.</p>
<p>S úctou a pokorou<br />
Valentino Hesse</p>
<p>Make it so.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F10%2F29%2Fsbohem-kapitane-patrick-stewart-odesel-ve-veku-86-let%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/10/29/sbohem-kapitane-patrick-stewart-odesel-ve-veku-86-let/">Sbohem, kapitáne. Patrick Stewart odešel ve věku 86 let</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rozbor reálného DESFire dumpu: co Flipper vyčte a co ne</title>
		<link>https://www.hardwired.dev/2026/10/27/rozbor-realneho-desfire-dumpu-co-flipper-vycte-a-co-ne/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Tue, 27 Oct 2026 21:00:01 +0000</pubDate>
				<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[desfire]]></category>
		<category><![CDATA[flipper]]></category>
		<category><![CDATA[Flipper zero]]></category>
		<category><![CDATA[nfc]]></category>
		<category><![CDATA[rfid]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=3131</guid>

					<description><![CDATA[<p>Třetí díl série o klonování DESFiru. V prvních dvou jsme rozebrali teorii a praxi zálohy. Teď je na stole skutečný dump pravé Mifare &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/10/27/rozbor-realneho-desfire-dumpu-co-flipper-vycte-a-co-ne/">Rozbor reálného DESFire dumpu: co Flipper vyčte a co ne</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p><em>Třetí díl série o klonování DESFiru. V prvních dvou jsme rozebrali teorii a praxi zálohy. Teď je na stole skutečný dump pravé Mifare DESFire karty z Flipper Zero a projdeme ho řádek po řádku: co z karty vypadlo, kde se čtečka zastavila a co o zabezpečení systému prozradí i to málo, co jde přečíst bez klíče. A protože Flipper umí DESFire i víc než jen přečíst obálku, přidávám detailní rozbor a návod k aplikaci DFC. UID v ukázce je anonymizovaný, změnil jsem jeho poslední bajt.</em></p>
<p>Teoretický rozbor je jedna věc, reálný výpis z karty druhá. Vzal jsem pravou DESFire kartu, ke které mám přístup, přiložil ji na Flipper Zero a nechal ji přečíst. Výsledkem je soubor <code>.nfc</code>, který se vejde na jednu obrazovku a který ilustruje obě předchozí části líp než jakýkoli diagram.</p>
<p>Ukazuje totiž přesně to rozhraní, o kterém byla celou dobu řeč: hranici mezi tím, co z DESFiru dostaneš zadarmo, a tím, co je zamčené za kryptografií.</p>
<p>Rozeberme ho.</p>
<h2>Co máme na stole</h2>
<p>Tady je celý dump. UID jsem anonymizoval změnou posledního bajtu, jinak je přesně takový, jak ho Flipper vyčetl.</p>
<pre><code>Filetype: Flipper NFC device
Version: 4
# Device type can be ISO14443-3A, ISO14443-3B, ISO14443-4A, ISO14443-4B, ISO15693-3, FeliCa, NTAG/Ultralight, Mifare Classic, Mifare Plus, Mifare DESFire, SLIX, ST25TB, NTAG4xx, Type 4 Tag, EMV
Device type: Mifare DESFire
# UID is common for all formats
UID: 04 80 C4 1A 28 25 00
# ISO14443-3A specific data
ATQA: 03 44
SAK: 20
# ISO14443-4A specific data
T0: 75
TA(1): 77
TB(1): 81
TC(1): 02
T1...Tk: 80
# Mifare DESFire specific data
PICC Version: 04 01 01 33 00 1A 05 04 01 01 03 00 1A 05 04 80 C4 1A 28 25 00 21 52 59 30 30 91 26
PICC Free Memory: 8032
PICC Change Key ID: 00
PICC Config Changeable: true
PICC Free Create Delete: true
PICC Free Directory List: true
PICC Key Changeable: true
PICC Flags: 00
PICC Max Keys: 01
PICC Key 0 Version: 00
Application Count: 1
Application IDs: A1 70 F4
Application a170f4 Change Key ID: 00
Application a170f4 Config Changeable: false
Application a170f4 Free Create Delete: false
Application a170f4 Free Directory List: false
Application a170f4 Key Changeable: false
Application a170f4 Flags: 00
Application a170f4 Max Keys: 00</code></pre>
<p>Na první pohled nic dramatického. Na druhý pohled učebnice.</p>
<h2>Co karta prozradila o sobě</h2>
<p>Než se dostaneme k tomu, co Flipper nepřečetl, projděme to, co přečetl. Už z hlaviček se dá karta přesně zařadit.</p>
<p><code>Device type: Mifare DESFire</code> potvrzuje, že jde o pravou DESFire, ne o magic kartu, která by se za Classic jen vydávala. <code>UID: 04 80 C4 1A 28 25 00</code> je sedmibajtové a začíná bajtem <code>04</code>, což je výrobní kód NXP. UID je pevné a čitelné, takže Random ID tahle karta zapnuté nemá a je sledovatelná podle svého čísla.</p>
<p><code>SAK: 20</code> je drobnost, na které stojí půlka prvního článku. Hodnota <code>0x20</code> znamená, že karta podporuje ISO 14443-4, tedy že jede přes RATS a ATS do přenosového protokolu T=CL, a ne jen přes antikolizi jako Mifare Classic. Řádky ATS pod tím (<code>T0: 75</code>, <code>TA(1): 77</code> a dál) jsou právě ta odpověď na RATS, kde se dohodne rámcování a rychlost. Tohle je ta vrstva -4 černé na bílém.</p>
<p>Z <code>PICC Version</code> se dá vyčíst generace a velikost. Bajt velikosti úložiště <code>1A</code> odpovídá osmi kilobajtům, což sedí na <code>PICC Free Memory: 8032</code>. Hlavní verze hardwaru <code>33</code> ukazuje na generaci EV3 (0x01 je EV1, 0x12 EV2, 0x33 EV3); pro stoprocentní jistotu stačí kartu hodit do NXP TagInfo, ale vychází to na EV3. Konec řetězce <code>Version</code> nese UID znovu a za ním výrobní dávku a datum.</p>
<p>Shrnuto: osmikilová DESFire EV3 od NXP, bez Random ID.</p>
<p>To všechno Flipper zjistil, aniž by znal jediný klíč.</p>
<h2>Kde se Flipper zastavil</h2>
<p>A tady přichází pointa.</p>
<p>Všimni si, kde výpis končí.</p>
<pre><code>Application IDs: A1 70 F4
Application a170f4 Config Changeable: false
Application a170f4 Free Create Delete: false
Application a170f4 Free Directory List: false
Application a170f4 Key Changeable: false
Application a170f4 Max Keys: 00</code></pre>
<p>Seznam aplikací Flipper dostal, je tam jedna s AID <code>a170f4</code>. Ale uvnitř té aplikace nevidíš nic. Žádné soubory, žádný obsah, žádné klíče. <code>Max Keys: 00</code> neznamená, že aplikace nemá klíče, ale že se k nim Flipper nedostal. Narazil na hranici aplikace a bez autentizačního klíče neprošel.</p>
<p>Proč vůbec dostal ten seznam aplikací? Kvůli jednomu nastavení o pár řádků výš, <code>PICC Free Directory List: true</code>, které listing aplikací bez autentizace povoluje. Kdyby bylo <code>false</code>, neviděl by ani AID.</p>
<p>A přesně tohle je závěr druhého článku na živém vzorku. Stock NFC aplikace přečetla obálku, dovnitř dopisu se nepodívala. Soubor <code>.nfc</code> není klon a funkčním klonem se nestane. Kdybys to UID zapsal na sedmibajtovou magic kartu, projdeš jedině u systému, který věří pouhému UID a nic neověřuje. U skutečné DESFire autentizace magic karta mlčí, protože nemá čím odpovědět na výzvu.</p>
<h2>Co z toho čte bezpečák</h2>
<p>Teď to zajímavé, protože i ta neautentizovaná hlavička dokáže o nasazení hodně napovědět. Podívej na nastavení na úrovni celé karty.</p>
<pre><code>PICC Key 0 Version:       00
PICC Config Changeable:   true
PICC Free Create Delete:  true
PICC Free Directory List: true
PICC Key Changeable:      true</code></pre>
<p>Nejsilnější signál je verze master klíče. <code>PICC Key 0 Version: 00</code> skoro vždy znamená, že master klíč nikdo nerotoval a sedí tam pořád výchozí hodnota, tedy samé nuly. K tomu <code>Free Create Delete: true</code>, což dovoluje zakládat a mazat aplikace bez autentizace master klíčem. Dohromady je úroveň PICC měkká: výchozí master klíč a volná správa aplikací. Kdo se autentizuje tím výchozím klíčem, může na kartě aplikace přidávat nebo rovnou mazat. Data v uzamčené aplikaci <code>a170f4</code> sice nepřečte, na to potřebuje aplikační klíč, ale integrita a dostupnost celé karty na tom stojí vratce.</p>
<p>Kontrast se samotnou aplikací je přitom poučný. Aplikace <code>a170f4</code> je zamčená slušně:</p>
<pre><code>Application a170f4 Config Changeable:  false
Application a170f4 Free Create Delete:  false
Application a170f4 Free Directory List: false
Application a170f4 Key Changeable:      false</code></pre>
<p>Config neměnný, klíče neměnné, listing i create/delete zakázané. Kdo tu aplikaci personalizoval, udělal na její úrovni hygienu správně. Jenže PICC kolem ní nechal rozvolněný. A to je přesně ten mismatch z prvního dílu: kryptografie čipu drží, slabina je v personalizaci, ne v křemíku.</p>
<p>DESFire tady nechybuje. Obrany, které karta nabízí, musí někdo zapnout a nastavit. Random ID je vypnuté, master klíč nerotovaný, správa aplikací volná. Žádná z těch věcí není porucha karty, všechny jsou rozhodnutím při nasazení.</p>
<h2>Jenže Flipper umí DESFire i víc: aplikace DFC</h2>
<p>Dump výš vylezl ze stock NFC aplikace, která se u DESFiru zastaví na obálce. To ale není poslední slovo Flipperu. V katalogu je komunitní aplikace DFC (DESFire-compatible) od autora cindersocket, fork <code>seos_compatible</code> od Erica Bettse, která mluví nativním DESFire command setem a jde dál. S jedním velkým ale, na které si dej pozor, než si z toho uděláš falešný obrázek.</p>
<p>DFC neláme. Nerecovruje klíče, nekrákuje AES, žádný nested útok jako u Classic. Klíč si musíš přinést. Buď ho máš, protože čteš svou kartu, nebo credential napíšeš ručně ze známých klíčů. Emulace jede výhradně s klíči, které do credentialu vložíš. Je to nástroj pro práci s vlastními kartami, ne bypass cizích, a na kartu bez klíče se nedostane o nic víc než stock appka. Na náš uzamčený <code>a170f4</code> by si DFC bez jeho klíče taky vylámal zuby.</p>
<p>Co tedy DFC s klíči umí:</p>
<ul>
<li><strong>Čte</strong> DESFire karty. Autentizuje se v režimech legacy DES, ISO 3DES, AES i EV2 a na straně čtečky sáhne klíčem 0 do primární aplikace a přečte její nakonfigurované soubory.</li>
<li><strong>Emuluje</strong> uloženou credential, takže se Flipper vydává za DESFire kartu. K emulaci použije jen klíče uložené přímo v té credentialu.</li>
<li><strong>Emuluje prázdný DESFire</strong> (režim Blank Card). Když do něj čtečka při zápisu něco pošle, po odchodu z emulace tě to vyzve uložit zachycená data jako credential.</li>
</ul>
<p>Credential je textový soubor <code>.dfc</code> (nebo předkompilovaný binární <code>.dfcb</code>) a nese UID, AID, key settings, autentizační mód a klíče i soubory po slotech. To je přesně ta logická struktura z druhého dílu, jen v jiném kabátě: místo abys obsah zapsal zpět na prázdnou kartu, necháš ho emulovat Flipper.</p>
<p>Tím se zpřesňuje jedna věta z celé série. Psal jsem ve smyslu „Flipper DESFire nedá“. Teď přesněji: <strong>Flipper DESFire nenaláme, ale s aplikací DFC a se znalostí klíčů ho přečte i emuluje.</strong> Hranice se neposunula o kousek dál k prolomení, posunula se jen o to, co dovede handheld, když klíče už máš v ruce. Jedno upozornění k aktuálnosti: DFC staví na EV1 a EV2 příkazech, pokrytí EV2 a EV3 hardwaru se teprve ověřuje na fyzických čtečkách a radiová kompatibilita není zaručená. Není to oficiální nástroj NXP a autor sám nedává záruku funkčnosti.</p>
<h2>DFC krok za krokem</h2>
<p>Takhle s tím zacházíš, když chceš číst nebo emulovat vlastní kartu.</p>
<p><strong>Instalace.</strong> Nejjednodušší je nainstalovat DFC přímo z katalogu přes Flipper Lab (<code>lab.flipper.net/apps/dfc</code>). Kdo chce stavět ze zdrojáku, naklonuje repozitář, dotáhne submoduly a sestaví přes <code>ufbt</code>:</p>
<pre><code>git submodule sync --recursive
git submodule update --init --recursive
ufbt</code></pre>
<p><strong>Čtení vlastní karty.</strong> Přilož kartu na Flipper a nech DFC přečíst primární aplikaci. Aplikace se autentizuje klíčem 0 a stáhne nakonfigurované soubory. Přečtená karta se uloží jako credential i se svým AID, key settings, autentizačním módem a klíči a soubory po slotech. Soubory credentialů patří na kartu do <code>SD Card/apps_data/dfc/</code>.</p>
<p><strong>Emulace.</strong> Vyber uloženou credential a Flipper se začne vydávat za tu kartu. K autentizaci vůči čtečce použije jen klíče, které credential obsahuje; žádné jiné nemá odkud vzít. Tohle je ten „funkční klon“, který na magic kartě z principu nejde, ale na emulátoru se správnými klíči ano.</p>
<p><strong>Blank Card.</strong> Když chceš vidět, co ti do karty zapíše cizí čtečka, zvol Blank Card. Flipper bude emulovat zapisovatelný prázdný DESFire (ve výchozím stavu s nulovým DES klíčem na úrovni PICC, AID <code>00 00 00</code>). Pokud čtečka během emulace zapíše data, po odchodu z emulačního okna tě to vyzve uložit je jako <code>.dfc</code>.</p>
<p><strong>Formát a limity credentialu.</strong> Textový <code>.dfc</code> se při načtení zkompiluje do binárního tvaru, případně rovnou podáš <code>.dfcb</code>. UID musí mít 7 bajtů a začínat <code>04</code>. Jedna credential pojme nejvýš 4 aplikace, 16 souborů, 3 KiB dat celkem, 2 KiB v jednom souboru a 512 bajtů na klíče; samotný soubor <code>.dfc</code> nebo <code>.dfcb</code> nesmí přesáhnout 16 KiB. U velkých textových credentialů hrozí, že kompilace na zařízení vyčerpá heap, takže je zkompiluj radši na počítači:</p>
<pre><code>python3 tests/compile_dfcb.py path/to/card.dfc path/to/card.dfcb</code></pre>
<p><strong>Ověření na hostu.</strong> Repozitář má k tomu dva testovací skripty. <code>probe_dfcb.py</code> pustí <code>.dfcb</code> proti virtuální kartě jádra přímo na počítači, nahlásí nepodporované credentials a vypíše APDU odpovědi; netestuje UI, NFC listener ani radiové časování, jen logiku. Výchozí APDU přečtou verzi a seznam aplikací, další hex APDU můžeš doplnit a proběhnou v pořadí v jedné relaci:</p>
<pre><code>python3 tests/probe_dfcb.py path/to/card.dfcb
python3 tests/probe_dfcb.py path/to/card.dfcb 9060000000 90AF000000</code></pre>
<p>Druhý skript, <code>probe_pcsc_mac_read.py</code>, je manuální hardwarová zkouška na macOS s PC/SC čtečkou a vyžaduje pythoní knihovnu <code>cryptography</code>. Nejdřív na Flipperu rozjeď emulaci credentialu, pak probe vybere aplikaci 0, autentizuje se ISO 2K3DES klíčem 1, přečte celý soubor 0 a ověří data i MAC v odpovědi. Aplikaci, soubor, klíč a čtečku přepíšeš přepínači <code>--application</code>, <code>--file</code>, <code>--key</code> a <code>--reader</code>:</p>
<pre><code>python3 tests/probe_pcsc_mac_read.py path/to/card.dfc</code></pre>
<p>Ber to jako experimentální nástroj. U EV2 a EV3 karet si funkčnost ověř na své konkrétní čtečce, protože hardwarové pokrytí se teprve dolaďuje.</p>
<h2>Co si z toho vzít</h2>
<p>Tenhle jeden výpis uzavírá celou sérii, protože v něm je vidět obojí najednou. Pevná část i měkká část DESFiru v jednom souboru.</p>
<p>Pevná část: stock NFC aplikace se k ničemu zabezpečenému nedostala a bez klíčů by aplikaci <code>a170f4</code> neotevřel ani DFC. AES a tříprůchodová autentizace odvedly svoje, zamčená aplikace zůstala zamčená, naklonovat obsah na magic kartu nejde. Pokud systém kontroluje víc než UID, tahle karta je proti nástrojům bez klíčů tichá.</p>
<p>Měkká část: i tak výpis prozradil, že nasazení není dotažené. Verze master klíče <code>00</code> a volné create/delete jsou věci, které si v auditu přístupového systému přečteš jako první, a ani k tomu nepotřebuješ klíče. Útočník je čte stejně snadno jako ty.</p>
<p>A DFC do toho vnáší třetí rovinu. Se svými klíči Flipper DESFire přečte i emuluje, takže patří do výbavy na práci s vlastními kartami vedle Proxmarku a hostových knihoven z druhého dílu. Co nedokáže ani on, je dostat se do karty bez klíče. Přesně v tom je celá pointa série.</p>
<p>Flipper tu kartu nenaklonoval a bez klíčů ji nenaklonuje ani s DFC. Ale přečetl dost na to, aby ukázal, kde by se v nasazení dalo zatlačit, a s DFC zase dost na to, aby se tvoje vlastní karty daly emulovat. Kde končí jedno a začíná druhé, rozhoduje jediná věc: jestli ten klíč máš.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F10%2F27%2Frozbor-realneho-desfire-dumpu-co-flipper-vycte-a-co-ne%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/10/27/rozbor-realneho-desfire-dumpu-co-flipper-vycte-a-co-ne/">Rozbor reálného DESFire dumpu: co Flipper vyčte a co ne</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jak si zálohovat DESFire kartu a obnovit ji na prázdnou</title>
		<link>https://www.hardwired.dev/2026/10/27/jak-si-zalohovat-desfire-kartu-a-obnovit-ji-na-prazdnou/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Tue, 27 Oct 2026 20:07:40 +0000</pubDate>
				<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[desfire]]></category>
		<category><![CDATA[Flipper zero]]></category>
		<category><![CDATA[nfc]]></category>
		<category><![CDATA[proxmark]]></category>
		<category><![CDATA[rfid]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=3128</guid>

					<description><![CDATA[<p>Navazující díl k rozboru klonování DESFiru. V minulém článku padlo, že funkční kopii dostaneš jedině na prázdnou DESFire kartu, kterou si znovu &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/10/27/jak-si-zalohovat-desfire-kartu-a-obnovit-ji-na-prazdnou/">Jak si zálohovat DESFire kartu a obnovit ji na prázdnou</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p><em>Navazující díl k rozboru klonování DESFiru. V minulém článku padlo, že funkční kopii dostaneš jedině na prázdnou DESFire kartu, kterou si znovu napersonalizuješ. Tady je přesně ten postup: logický dump přes Proxmark3 a python-desfire, bezpečné odložení klíčů a obnova struktury i dat na čistý čip. Včetně toho, co tahle záloha není a kdy ti nepomůže.</em></p>
<p>Rovnou na úvod: je to runbook na zálohu a obnovu karty, ke které máš klíče, protože je tvoje. Žádné klonování cizích karet. Počítej s hodinou práce u první karty, pak už to jde rychleji. Co budeš na konci umět: přečíst celou strukturu DESFiru, uložit ji i s daty do souboru, založit ji znovu na prázdném čipu a nastavit zpět klíče.</p>
<p>Než se do toho pustíš, přečti si sekci o hranicích. Ušetří ti to zklamání, že „záloha“ nefunguje tam, kde fungovat ani nemůže.</p>
<h2>Co budeš potřebovat</h2>
<p>Hardware: čtečku, která umí ISO 14443-4 a autentizaci k DESFiru, a dvě karty. Zdrojovou DESFire kartu se svými klíči a prázdnou (blank) DESFire kartu stejné nebo vyšší generace a aspoň stejné paměti. Blank znamená kartu ve výrobním stavu, kde jsou všechny klíče na samých nulách; prodávají se jako „DESFire EV1/EV2/EV3 blank“.</p>
<p>Software podle toho, co preferuješ. Buď Proxmark3 s firmwarem Iceman (fork RfidResearchGroup), kde je celá rodina příkazů <code>hf mfdes</code>. Nebo PC/SC čtečku (ACR122U, ACR1252U, Omnikey) a Python s knihovnou python-desfire. Obojí umí jak čtení, tak personalizaci, takže si vyber podle toho, co máš po ruce.</p>
<p>A hlavně klíče. Bez klíčů s právem číst se k obsahu nedostaneš a žádný z dále popsaných kroků nemá smysl. To je vlastnost, ne chyba.</p>
<h2>Hranice, které musíš znát předem</h2>
<p>Záloha DESFiru má tři tvrdá omezení a je lepší je vědět teď než po hodině práce.</p>
<p><strong>UID se nepřenese.</strong> Pravá DESFire karta má sedmibajtové UID zapečené z výroby a nejde přepsat. Prázdná karta má svoje vlastní. Obnovená karta tedy ponese jiné UID než originál, a to nezměníš. Magic DESFire s přepisovatelnou identitou neexistuje, jak padlo v minulém díle.</p>
<p><strong>Systém s diverzifikací klíčů ti obnovenou kartu nevezme.</strong> Pokud přístupový systém odvozuje klíče z UID (diverzifikace podle AN10922), čtečka si pro nové UID spočítá jiný klíč, než jaký má tvoje obnovená karta. Autentizace selže. Obejít to jde jedině tak, že vlastníš site klíč celého systému a dopočítáš diverzifikované klíče pro nové UID, což dává smysl jen u systému, který sám provozuješ. Pro cizí přístupový systém tohle není cesta.</p>
<p><strong>Přečteš jen to, na co máš právo.</strong> Každý soubor má přístupová práva navázaná na konkrétní klíče. Když tvůj klíč smí číst jen některé soubory, zbytek zůstane skrytý, i když kartu „otevřeš“.</p>
<p>Z toho plyne, k čemu záloha reálně slouží: k archivaci obsahu tvé vlastní karty, k migraci nebo havarijní obnově v systému, který si personalizuješ sám, a k laboratorní práci. Ber ji jako zálohu dat a struktury, ne jako výrobu náhradní přístupové karty do cizí budovy.</p>
<p>Jedna věc k bezpečnosti ještě předtím, než začneš sypat příkazy. Klíče drž mimo dump. Data a struktura můžou do obyčejného souboru, klíče patří do šifrovaného trezoru. Dump s klíči v plaintextu je ta nejhorší možná poznámka pod čarou.</p>
<h2>Krok 1: Inventura karty</h2>
<p>Napřed si kartu zmapuj, ať víš, co vůbec zálohuješ. Přilož zdrojovou kartu na Proxmark a projdi ji shora dolů.</p>
<pre><code>hf mfdes info
hf mfdes getuid</code></pre>
<p><code>info</code> vypíše generaci, velikost paměti a volné místo, <code>getuid</code> skutečné UID (u karty se zapnutým Random ID ho vydá až po autentizaci, takže případně přidej secure channel a klíč). Dál si nech vypsat aplikace a soubory:</p>
<pre><code>hf mfdes lsapp --files
hf mfdes lsfiles --aid 123456 -t aes</code></pre>
<p><code>lsapp --files</code> ukáže všechny aplikace podle jejich tříbajtového AID i s jejich soubory. Pokud jsou klíče nestandardní, autentizuj se jimi; <code>--no-auth</code> zkusí listing bez autentizace, pokud to karta v nastavení dovolí. U každého souboru si zjisti jeho nastavení, protože bez něj kartu věrně neobnovíš:</p>
<pre><code>hf mfdes getfilesettings --aid 123456 --fid 01</code></pre>
<p>Zapiš si typ souboru (Standard, Backup, Value, Linear Record, Cyclic Record), komunikační režim (Plain, MACed, plně šifrovaný), přístupová práva a velikost. Tohle je kostra, kterou budeš na prázdné kartě stavět znovu. U Value souboru si navíc poznamenej dolní a horní limit a aktuální hodnotu, u záznamových souborů počet a velikost záznamů.</p>
<p>Když klíče neznáš celé a chceš je dohledat ze slovníku, pomůže detekce, ale u vlastní karty bys klíče měl mít:</p>
<pre><code>hf mfdes detect --save --dict mfdes_default_keys</code></pre>
<h2>Krok 2: Logický dump</h2>
<p>Teď vyčteš obsah. Nejjednodušší je dump po aplikaci:</p>
<pre><code>hf mfdes dump --aid 123456</code></pre>
<p><code>dump</code> projde soubory v aplikaci a vypíše jejich obsah. Pro jednotlivý soubor nebo pro přesnou kontrolu použij <code>read</code> s typem souboru:</p>
<pre><code>hf mfdes read --aid 123456 --fid 01
hf mfdes read --aid 123456 --fid 02 --type record
hf mfdes read --aid 123456 --fid 03 --type value</code></pre>
<p><code>read</code> bez typu se pokusí typ odhadnout, u záznamových a hodnotových souborů ale radši typ uveď. Výstup si ulož do strukturovaného souboru, ideálně JSON, kde každý soubor nese svoje AID, FID, typ, komunikační režim, práva, velikost a surová data v hexu. Klíče do tohohle souboru nepatří, ty jdou zvlášť.</p>
<p>Takhle vznikne tvoje záloha: popis struktury plus obsah. Co s ní uděláš dál, je obnova na prázdný čip.</p>
<h2>Krok 3: Příprava prázdné karty</h2>
<p>Prázdnou kartu uveď do známého stavu. Pokud v ní něco je, naformátuj ji, a pamatuj, že k formátu potřebuješ PICC master klíč (u čisté karty samé nuly):</p>
<pre><code>hf mfdes auth -n 0 -t aes -k 00000000000000000000000000000000
hf mfdes formatpicc</code></pre>
<p>Po formátu máš čistý PICC s jednou prázdnou kořenovou aplikací a výchozími klíči. Na téhle základně postavíš kopii struktury.</p>
<h2>Krok 4: Obnova struktury a dat</h2>
<p>Teď znovu založíš aplikace a soubory podle toho, cos zapsal v kroku 1, a naliješ do nich data z kroku 2. Konkrétní vlajky příkazů <code>createapp</code> a <code>createfile</code> se mezi verzemi firmwaru liší, takže si u své verze vždy ověř přesný tvar přes <code>hf mfdes createapp -h</code> a <code>hf mfdes createfile -h</code>. Orientačně to vypadá takhle:</p>
<pre><code>hf mfdes createapp --aid 123456 --dfname hesse --ks1 0B --ks2 AE
hf mfdes createfile --aid 123456 --fid 01 --amode encrypt --size 000020</code></pre>
<p><code>--ks1</code> a <code>--ks2</code> kódují nastavení klíčů aplikace, tedy počet klíčů, jejich typ a oprávnění; <code>--amode</code> je komunikační režim souboru, <code>--size</code> velikost v bajtech. Hodnoty musí sedět na to, cos vyčetl z originálu, jinak nedostaneš věrnou kopii. Value a záznamové soubory se zakládají vlastními příkazy s limity a počtem záznamů.</p>
<p>Když struktura stojí, zapiš data:</p>
<pre><code>hf mfdes write --aid 123456 --fid 01 -d 0102030405060708...
hf mfdes write --aid 123456 --fid 02 --type record -d 0102030405 --updaterec 0
hf mfdes write --aid 123456 --fid 01 --type data -d 01020304 --commit</code></pre>
<p>U Backup souborů nezapomeň na <code>--commit</code>, bez něj zůstane zápis jen v dočasném bufferu a po odpojení karty se ztratí. U Value souborů se hodnota nenastavuje přímo, ale přes počáteční hodnotu při založení, případně přes credit a debit.</p>
<h2>Krok 5: Nastavení klíčů</h2>
<p>Tohle je nejchoulostivější krok celé obnovy, protože tady si můžeš kartu zamknout. Dokud jsi pracoval s výchozími nulovými klíči, šlo všechno hladce. Teď je vyměníš za ty původní.</p>
<pre><code>hf mfdes changekey --aid 123456 -n 1 -t aes -k 00000000000000000000000000000000 --newkey 00112233445566778899AABBCCDDEEFF --newver 01</code></pre>
<p>Drž se tří pravidel. Klíče měň odspodu, aplikační klíče před aplikačním master klíčem, a aplikační master klíč před PICC master klíčem; jakmile změníš klíč, kterým ses autentizoval, musíš se autentizovat znovu tím novým. Verzi klíče (<code>--newver</code>) nastav na stejnou hodnotu jako na originálu, jinak ti pozdější autentizace nemusí projít. A než přepíšeš poslední master klíč, dvakrát si ověř, že ho máš zapsaný správně, protože špatně zadaný master klíč znamená kartu, do které se už nedostaneš.</p>
<p>Jemnější nuance: změna klíče číslo 0 (master klíč aplikace) používá jiné krypto než změna ostatních klíčů a může zároveň měnit nastavení aplikace. Proto ji nech až úplně nakonec a odděleně.</p>
<h2>Celý cyklus v Pythonu</h2>
<p>Kdo nechce ťukat do Proxmarku ručně, zvládne totéž skriptem přes python-desfire na PC/SC čtečce. Knihovna umí čtení i personalizaci, takže pokryje obě fáze. Čtecí část vypadá v jádru takhle:</p>
<pre><code class="language-python">from desfire import DESFire, PCSCDevice
from smartcard.System import readers

conn = readers()[0].createConnection()
conn.connect()
card = DESFire(PCSCDevice(conn.component))

card.authenticate(0x000000, picc_master_key)   # PICC master
dump = {&quot;uid&quot;: card.get_real_uid(), &quot;apps&quot;: []}

for aid in card.get_application_ids():
    card.select_application(aid)
    card.authenticate(aid, app_keys[aid])
    app = {&quot;aid&quot;: aid, &quot;files&quot;: []}
    for fid in card.get_file_ids():
        settings = card.get_file_settings(fid)
        data = card.read_file_data(fid)
        app[&quot;files&quot;].append({&quot;fid&quot;: fid, &quot;settings&quot;: settings, &quot;data&quot;: data})
    dump[&quot;apps&quot;].append(app)
# dump ulož do JSON; klíče (app_keys) drž mimo tenhle soubor</code></pre>
<p>Obnova na prázdnou kartu je zrcadlový postup. Autentizuješ se výchozím nulovým klíčem, založíš aplikaci, přepneš se do ní, vytvoříš soubory podle uložených nastavení, zapíšeš data a nakonec vyměníš klíče:</p>
<pre><code class="language-python">blank.authenticate(0x000000, default_key)
blank.create_application(aid, key_settings, num_keys, DESFireKeyType.DF_KEY_AES)
blank.select_application(aid)
blank.authenticate(aid, default_app_key)
blank.create_standard_file(fid, comm_mode, access_rights, file_size)
blank.write_file_data(fid, 0, comm_mode, data)
blank.change_key(key_no, new_key, old_key, key_version)</code></pre>
<p>Přesné signatury metod se mezi verzemi knihovny trochu liší, takže si je ověř v její dokumentaci; logika kroků ale zůstává stejná jako u Proxmarku. Knihovna staví na EV1, pro specifické funkce EV2 a EV3 počítej s tím, že je nemusí pokrývat.</p>
<h2>Když něco nefunguje</h2>
<p>Nejčastější zádrhel je selhání autentizace. Zkontroluj tři věci: správný typ klíče (<code>-t des</code>, <code>2tdea</code>, <code>3tdea</code> nebo <code>aes</code>), správné číslo klíče (<code>-n</code>) a správný secure channel (<code>-s d40</code>, <code>ev1</code>, <code>ev2</code>). Když nesedí byť jen jedno, karta tě odmítne, i když máš klíč správně.</p>
<p>Když čtení projde, ale vrátí nesmysl, nejspíš čteš ve špatném komunikačním režimu. Plně šifrovaný soubor čtený jako Plain vrátí šifrovaný balast, ne data. Ověř si režim z nastavení souboru.</p>
<p>Když se obnovená karta tváří hotově, ale originální systém ji nevezme, vrať se k sekci o hranicích. Buď systém diverzifikuje klíče podle UID, které se změnilo, nebo kontroluje jen UID a tvoje nové mu nesedí. Ani jedno nespravíš na straně karty.</p>
<p>A nejbolestivější případ: autentizace k aplikaci najednou nejde ani tobě. Nejspíš sedí špatná verze klíče nebo ses při změně master klíče přepsal. U vlastní testovací karty z toho ven vede jen formát přes PICC master klíč, pokud ho ještě znáš. Pokud ne, karta je pro tebe ztracená. Proto se master klíče mění jako poslední a s rozmyslem.</p>
<h2>Co sis vlastně zazálohoval</h2>
<p>Na konci máš dvě věci. Soubor s popisem struktury a daty, který přežije kartu, a schopnost tu kartu znovu postavit na čistém čipu. Co nemáš, je identický klon s původním UID, protože ten na pravém DESFiru neexistuje.</p>
<p>A přesně v tom je ta záloha užitečná i poctivá zároveň. Archivuje obsah, umožní migraci ve tvém vlastním systému a zachrání tě, když fyzická karta doslouží. Jen si pamatuj, čím tenhle postup je a čím není, a nebudeš čekat zázrak tam, kde ho DESFire z principu neslíbil.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F10%2F27%2Fjak-si-zalohovat-desfire-kartu-a-obnovit-ji-na-prazdnou%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/10/27/jak-si-zalohovat-desfire-kartu-a-obnovit-ji-na-prazdnou/">Jak si zálohovat DESFire kartu a obnovit ji na prázdnou</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Proč DESFire nenaklonuješ, i když Mifare Classic jde</title>
		<link>https://www.hardwired.dev/2026/10/27/3123/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Tue, 27 Oct 2026 19:43:50 +0000</pubDate>
				<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[desfire]]></category>
		<category><![CDATA[MIFARE DESFire]]></category>
		<category><![CDATA[nfc]]></category>
		<category><![CDATA[rfid]]></category>
		<category><![CDATA[UID]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=3123</guid>

					<description><![CDATA[<p>Proč DESFire nenaklonuješ, i když Mifare Classic jde Magic karty s přepisovatelným UID udělají kopii obyčejné Mifare Classic za pár minut. DESFire &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/10/27/3123/">Proč DESFire nenaklonuješ, i když Mifare Classic jde</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><h1>Proč DESFire nenaklonuješ, i když Mifare Classic jde</h1>
<p><em>Magic karty s přepisovatelným UID udělají kopii obyčejné Mifare Classic za pár minut. DESFire stejný trik nedonese, a není to kvůli tajnému klíči, ale kvůli tomu, jak je karta postavená. Podrobný rozbor: jak DESFire funguje, jak ověřuje, čím se brání útokům a proč celé zabezpečení nakonec stojí a padá se systémem kolem něj.</em></p>
<p>Máš svůj vlastní klíč k DESFire kartě, chceš si ji zálohovat, a po ruce zrovna není prázdný DESFire. Jenom magic karta. Zní to jako banalita.</p>
<p>Přitom se právě na tomhle scénáři nejlíp ukáže, proč jde jedna karta zkopírovat za pár minut a druhá vůbec. Obkreslit UID je málo. Klon musí zreplikovat celé chování karty vůči čtečce, kryptografii nevyjímaje. Projdeme to od začátku: proč je Mifare Classic odsouzená ke klonování, jak je naproti tomu postavený DESFire, jak probíhá jeho ověřování krok za krokem, čím se brání útokům, kde ho jednou v historii zlomili a proč dnešní průšvihy nemají s čipem nic společného.</p>
<h2>Magic karta a otevřený blok 0</h2>
<p>U běžné Mifare Classic je blok 0 uzamčený z výroby. Sedí v něm UID, jednobajtový kontrolní součet BCC a výrobní data, a normální čtečka ho nepřepíše. Magic karty tenhle zámek obcházejí. Způsob obcházení dělí jednotlivé generace a není to jen akademické dělení, protože rozhoduje o tom, jestli tě klon prozradí.</p>
<p>Nejstarší „UID karty“ (Gen1a) poslouchají nestandardní backdoor příkazy. Karta se uspí a pak reaguje na dvojici příkazů (0x40 v sedmibitovém rámci jako buzení, následně 0x43), které odemknou čtení i zápis libovolného bloku včetně nultého, a to bez znalosti jakéhokoli klíče. Na Proxmarku to obsluhují příkazy <code>csetblk</code>, <code>cgetblk</code> a spol. Háček je v tom, že ta samá ochota reagovat na backdoor kartu odhalí: čtečka pošle odemykací sekvenci, karta odpoví, a je jasno.</p>
<p>Gen2 (CUID) backdoor nemá. UID se u ní mění přímým zápisem do bloku 0 jako do kteréhokoli jiného, přes standardní <code>wrbl</code> s vynuceným zápisem. Pozor na BCC: když ho spočítáš špatně, část čteček kartu odmítne nebo rovnou zablokuje. CUID má proti Gen1a výhodu, že na backdoor nereaguje, takže ji sken backdoorem neodhalí. Zrádný je ovšem přístup, kdy se čtečka sama pokusí přepsat blok 0, protože běžná Classic to nedovolí a CUID ano, čímž se prozradí. Na to je FUID, který se po prvním zápisu zamkne natvrdo a od té chvíle je k nerozeznání od pravé Classic. UFUID je mezistupeň: chová se jako CUID, dokud mu nepošleš zamykací sekvenci, a teprve pak ztuhne.</p>
<p>Špičkou je dnes Gen4, prodávaný jako „Ultimate Magic Card“. Funguje jako konfigurovatelná platforma, ne jako jedna pevná emulace. Umí se vydávat za libovolnou Classic (1K, 4K, Mini), za Ultralight i za NTAG, se čtyř-, sedmi- i desetibajtovým UID, a svou konfiguraci chrání heslem. Má takzvaný shadow mode, kdy se po přiložení jednou ukáže jako klon a pak jako zapsaná data, čímž umí obejít i otravnější anti-copy kontroly.</p>
<table>
<thead>
<tr>
<th>Generace</th>
<th>Jak mění UID</th>
<th>Detekce čtečkou</th>
</tr>
</thead>
<tbody>
<tr>
<td>Gen1a</td>
<td>backdoor příkazy (0x40/0x43)</td>
<td>snadná, reaguje na backdoor</td>
</tr>
<tr>
<td>Gen2 / CUID</td>
<td>přímý zápis bloku 0</td>
<td>obtížná, ale pokusem o zápis bloku 0 se prozradí</td>
</tr>
<tr>
<td>FUID</td>
<td>zápis jednou, pak trvalý zámek</td>
<td>žádná, po zamčení jako běžná Classic</td>
</tr>
<tr>
<td>UFUID</td>
<td>jako CUID, pak volitelný zámek</td>
<td>žádná po zamčení</td>
</tr>
<tr>
<td>Gen4 / Ultimate</td>
<td>řízená konfigurace, shadow mode</td>
<td>náročná, novější firmware Proxmarku ji pozná</td>
</tr>
</tbody>
</table>
<p>Všechny tyhle karty mají společné jedno. Emulují Mifare Classic, Ultralight nebo NTAG, tedy typy postavené na prolomené šifře Crypto1 nebo rovnou bez autentizace. A Classic je rozbitá na několika úrovních zároveň. Crypto1 padla akademicky už kolem roku 2008 (Nohl, Garcia a další), útoky Darkside, Nested a HardNested vytáhnou klíče z běžné karty v řádu sekund až minut. Loni to dostalo ještě jeden rozměr: Philippe Teuwen z Quarkslabu v srpnu 2024 popsal hardwarový backdoor ve Fudan FM11RF08S, tedy v „tvrzené“ variantě s šifrovaným statickým nonce, která měla nested útokům odolávat. Backdoor umožňuje autentizovat se neznámým klíčem společným všem těm kartám a vyčíst z karty během pár minut všechny klíče i bez jediného známého klíče. Nástroje skončily v Proxmarku. Jinými slovy: žádná karta z rodiny Classic není bezpečný nosič identity, ať je magic nebo ne.</p>
<p>DESFire mezi nimi nenajdeš.</p>
<p>A to je jádro věci.</p>
<h2>Jak DESFire funguje</h2>
<p>DESFire a Classic spojuje leda ta frekvence 13,56 MHz. Jinak to jsou dva odlišné světy, a začíná to už u komunikační vrstvy. Norma ISO/IEC 14443 má čtyři části: fyziku karty, rádiové rozhraní, inicializaci s antikolizí (část -3, kde se řeší ATQA, SAK a výběr UID) a konečně přenosový protokol (část -4). Mifare Classic končí u části -3 a dál jede proprietární Crypto1, žádný standardní protokol nad tím není. Právě proto „čtení“ Classic znamená jen antikolizi plus Crypto1 a právě proto ji magic karta tak snadno napodobí.</p>
<p>DESFire jede až po vrstvu -4. Po antikolizi pošle čtečka příkaz RATS, karta odpoví svým ATS a tím se dohodne half-duplexní protokol T=CL s datovými rychlostmi od 106 až po 848 kbit/s. Nad ním se posílají APDU podle ISO/IEC 7816-4, stejné stavební kameny jako u kontaktních čipových karet a pasů. Nativní příkazy DESFiru se dají balit do ISO 7816 APDU (wrapped mode, s hlavičkou 0x90), takže s kartou umí mluvit i obyčejná PC/SC čtečka přes standardní rozhraní.</p>
<p>Paměť je hierarchická, jako malý šifrovaný souborový systém. Na nejvyšší úrovni je PICC, tedy celá karta, s master klíčem a globální konfigurací. Pod ním sedí aplikace, každá se svým tříbajtovým identifikátorem AID a vlastní sadou až čtrnácti klíčů. V každé aplikaci je až 32 souborů, a souborů je šest druhů: Standard Data pro statická data, Backup Data s transakční ochranou, Value pro čítače a peněženky, Linear Record a Cyclic Record pro záznamové logy a konečně Transaction MAC, který přibyl v EV3 a podepisuje transakce. Každý soubor má vlastní přístupová práva navázaná na konkrétní klíče, takže čtení může vyžadovat jiný klíč než zápis.</p>
<p>Klíče jsou AES-128, nebo starší DES, 2K3DES a 3K3DES, vždy s verzí klíče. Generace jdou za sebou a drží zpětnou kompatibilitu. D40 je původní z roku 2002, dnes dožilá. EV1 přišel v roce 2008 s certifikací Common Criteria EAL4+ a pamětí 2, 4 nebo 8 kB. EV2 z roku 2016 zvedl laťku na EAL5+, zrušil limit počtu aplikací, přidal rolling keys a sadu obranných mechanismů, ke kterým se dostaneme. EV3 z roku 2020 drží EAL5+, přidává Secure Dynamic Messaging i konfigurovatelné ATS a nabízí paměť až 32 kB. V defaultním stavu se EV3 chová jako EV2 nebo EV1, nové funkce se aktivují až při personalizaci, takže integrátor musí vědomě zapnout, co chce používat.</p>
<h2>Jak DESFire ověřuje</h2>
<p>Tohle je srdce celé věci, a proto se u toho zastavíme podrobně. DESFire používá tříprůchodovou vzájemnou autentizaci (three-pass mutual authentication). Jde o to, že si karta i čtečka navzájem dokážou znalost sdíleného klíče, aniž by klíč nebo jeho prostá podoba kdy proletěly éterem. Zjednodušeně to běží takhle:</p>
<ol>
<li>Čtečka řekne, kterým klíčem se chce autentizovat. Karta vygeneruje náhodné číslo RndB, zašifruje ho klíčem a pošle zpět. Útočník odposlechem dostane jen šifrovaný balast.</li>
<li>Čtečka balast dešifruje, získá RndB, vygeneruje vlastní náhodné RndA, číslo RndB cyklicky posune o bajt (RndB') a dvojici RndA a RndB' zašifruje zpět kartě. Posunutím dokazuje, že RndB rozluštila, tedy že klíč zná.</li>
<li>Karta dešifruje, zkontroluje, že její RndB' sedí, čímž má ověřenou čtečku. Pak posune RndA, zašifruje a pošle zpět. Čtečka ověří, že sedí její RndA, a tím má ověřenou kartu.</li>
</ol>
<p>Z úlomků obou náhodných čísel se nakonec na obou stranách odvodí stejný dočasný session klíč, kterým se šifruje zbytek relace. Odposlech celé výměny útočníkovi nedá nic použitelného, protože náhodná čísla jsou pokaždé jiná a klíč sám se nikdy neposílá.</p>
<p>Varianty se liší kryptem a detaily. Legacy autentizace běží na DES a 3DES, ISO varianta přidává delší náhodná čísla, AES autentizace jede na AES-128. EV2 to posunul k příkazu AuthenticateEV2First: při navázání relace se dohodne transakční identifikátor (TI) a čítač příkazů (CmdCtr), vzniknou oddělené session klíče pro šifrování a pro MAC a každý další příkaz nese narůstající čítač. Tím padá možnost přehrát odposlechnutou výměnu i proskládat cizí příkazy do běžící relace.</p>
<p>Nad samotnou autentizací stojí tři komunikační režimy souborů. V režimu Plain jdou data nechráněně. V režimu MACed se ke každé zprávě připojí CMAC, který hlídá integritu a původ. V plně šifrovaném režimu je obsah zašifrovaný a navíc podepsaný CMAC. Který režim platí, se nastavuje u každého souboru zvlášť, takže veřejný údaj může jet Plain a citlivý plně šifrovaně na stejné kartě.</p>
<p>A právě tady je pointa k tvé záloze. Magic karta nemá kryptoengine. Nemá čím RndB vygenerovat, zašifrovat ani posunout. Ve chvíli, kdy čtečka zahájí tříprůchodovou výměnu, karta mlčí, a tvůj legitimní klíč na tom nic nezmění, protože klíč je klíč <em>k</em> DESFiru, ne něco, čím rozchodíš cizí křemík. Zazálohovat umíš data a strukturu (logický dump po autentizaci), ale funkční kopii dostaneš jedině na prázdnou DESFire kartu, kterou si znovu napersonalizuješ.</p>
<h2>Čím se DESFire brání útokům</h2>
<p>Samotná šifra je jen začátek. DESFire od EV1 výš nese vrstvu obran, které cílí přesně na způsoby, jakými se contactless karty reálně napadají.</p>
<p>Proti postranním útokům stojí hardwarové protiopatření certifikované na úrovni EAL4+ u EV1 a EAL5+ u EV2 a EV3. Common Criteria na téhle úrovni znamená, že se čip musel ubránit i neinvazivnímu měření spotřeby a vyzařování, tedy přesně tomu, co zabilo původní D40. EV2 a EV3 k tomu přidávají LRP (Leakage Resilient Primitive), alternativní režim AES navržený tak, aby z každé operace unikalo do spotřeby co nejméně informace. Útok měřením stop je proti LRP mnohem dražší.</p>
<p>Soukromí řeší Random ID spolu s architekturou virtuální karty (VCA). Se zapnutým Random ID hlásí karta při každém přiložení jiné náhodné číslo místo pevného UID, takže ji nelze sledovat napříč čtečkami. Skutečné UID vydá teprve po úspěšné autentizaci. VCA pak umožňuje, aby se správná aplikace vybrala a identifikovala, aniž by se to zvenčí dalo zneužít ke sledování nositele.</p>
<p>Proti relay útokům, kdy útočník natáhne komunikaci mezi vzdálenou kartou a čtečkou přes dvojici zařízení, stojí Proximity Check. Čtečka pošle kartě sérii výzev a měří, za jak dlouho přijde odpověď. Když je zpoždění větší, než dovoluje rychlost světla na krátkou vzdálenost, relay se prozradí a kontrola selže. Má to jeden háček, ke kterému se vrátím: funguje jen tehdy, když ho někdo v systému zapne.</p>
<p>Transaction MAC dává kartě schopnost podepsat každou transakci kryptografickým otiskem, takže se zpětně pozná neoprávněný zápis, třeba dobití peněženky mimo oficiální terminál. Rolling keys, tedy až šestnáct sad klíčů na aplikaci s rychlým přepínáním, zase dovolují vyměnit klíče v celém systému bez výměny karet. Když se jedna sada zkompromituje, přepne se na další, aniž by lidé museli odevzdat kartičky.</p>
<p>Žádná z těch obran ale neběží sama od sebe. To je přesně ten důvod, proč DESFire padá častěji na nasazení než na matematiku.</p>
<h2>Jediné reálné prolomení za dvacet let</h2>
<p>DESFire padl v historii jednou, a ne přes šifru. Původní MF3ICD40 byl uvnitř asynchronní osmibitový procesor řady 8051 s 3DES jádrem a takzvanou glue logikou, uvedený Philipsem kolem roku 2002, tedy v době, kdy se postranní útoky na čipy ještě nebraly jako běžná hrozba. V říjnu 2011 předvedli David Oswald a Christof Paar z Porúrské univerzity v Bochumi na konferenci CHES, co to znamená. Nešli po matematice 3DES, šli po fyzice čipu: měřili spotřebu a elektromagnetické vyzařování během šifrování (differential power analysis a šablonové útoky). Z řádově 250 tisíc naměřených stop zrekonstruovali tajný klíč, celé asi za sedm hodin, s vybavením za pár tisíc eur.</p>
<p>NXP útok uznal a připomněl, že MF3ICD40 stejně plánoval ukončit ke konci roku 2011. EV1, uvedený už o tři roky dřív, byl proti stejnému postrannímu útoku odolný, a právě proto ta certifikace EAL. Od té doby se žádné veřejné prolomení kryptografie EV1, EV2 ani EV3 neobjevilo. Těžiště se nepřesunulo na kartu.</p>
<p>Přesunulo se na systém kolem ní.</p>
<h2>Co musí umět čtečka</h2>
<p>Častý omyl zní: „přečetl jsem kartu“ u DESFiru neznamená skoro nic. Vyčíst náhodné UID zvládne každá čtečka podle ISO 14443-3. Dostat se k zabezpečenému obsahu je úplně jiná operace a čtečka k ní potřebuje tři věci.</p>
<p>Zaprvé protokol. Musí umět ISO/IEC 14443-4, tedy projít přes RATS a ATS do režimu T=CL, a posílat APDU, ne jen řešit antikolizi. Zadruhé kryptografii. Buď má bezpečnostní modul SAM, kde leží klíče v hardwaru a který provede autentizaci za čtečku, nebo kryptografii dělá host či backend softwarově a klíče jsou uložené v key store řadiče. NXP k tomu dodává moduly MIFARE SAM AV2 a AV3; AV3 pojme až 128 položek pro symetrické klíče, umí offline diverzifikaci klíčů, chráněný kanál mezi hostem a SAM a v takzvaném X-módu i výkonovou spolupráci s čtecím čipem. Zatřetí samotné klíče, bez nich čtečka k šifrovaným souborům prostě nepustí.</p>
<p>V praxi to vypadá takhle. PC/SC čtečky jako ACR122U, postavená na čipu PN532, zvládají APDU passthrough a autentizaci k DESFiru jde dělat softwarově, například přes knihovny python-desfire, libfreefare, TapLinx nebo projekty AndroidCrypto. Novější ACR1252U a ACR1255U nebo čtečky Omnikey míří na DESFire EV1 a EV2 přímo. Proxmark3 má celou rodinu příkazů <code>hf mfdes</code>. V přístupových systémech se klíče často drží v řadiči a čtečka běží v transparentním režimu, typicky přes OSDP. Co nikde nekoupíš, je magic DESFire. Prázdnou kartu k personalizaci ano, ale „otevřenou“ DESFire s přepisovatelnou identitou ne.</p>
<p>A ještě jedna věc, protože se na ní láme většina reálného zabezpečení. Pokud přístupový systém DESFire kartu jen přečte podle UID a dál se spokojí, že se karta ozvala, celá kryptografie je k ničemu. Takový systém pak podvede i obyčejná sedmibajtová magic karta se stejným UID. DESFire reader a UID čtečka jsou dvě různé věci, i když se navenek tváří stejně.</p>
<h2>Kde DESFire přesto padá</h2>
<p>Neprůstřelná karta ještě není neprůstřelný systém. Většina reálných průšvihů s DESFirem se šifrou vůbec nesouvisí.</p>
<p>Nejčastější je výchozí klíč. Čerstvá DESFire aplikace má všechny klíče nastavené na samé nuly. Když je integrátor nezmění, útočník se autentizuje výchozím klíčem a má vystaráno, přečte i přepíše obsah. Druhá klasika je chybějící diverzifikace klíčů. NXP v aplikační nótě AN10922 popisuje, jak z jednoho site klíče odvodit jedinečný klíč pro každou kartu, pomocí AES-CMAC nad UID, AID a číslem klíče. Když to systém neudělá a sype do všech karet stejný klíč, stačí vytáhnout klíč z jediné karty nebo z jediné čtečky a padne celá instalace naráz. A přesně tím směrem dnešní útoky jdou, po extrakci klíčů ze čtečky nebo po kompromitaci site klíče, ne po prolomení čipu.</p>
<p>Nad tím vším visí lidský faktor nasazení. Proximity Check proti relay útokům je skvělá obrana, pokud ji někdo zapne. Random ID chrání soukromí, pokud se aktivuje. Rolling keys umožní rotaci, pokud má systém proceduru, jak ji provést. NXP to sepsal do systémové nóty AN10969, kde kromě diverzifikace doporučuje i detekci podvodných karet, černé a bílé listiny a stínové účty, tedy obranu, která nestojí na kartě, ale na backendu. Školní příklad z praxe: londýnská Oyster přešla na DESFire, zatímco řada jiných dopravních karet zůstala na prolomené Classic, a rozdíl v bezpečnosti nedělá jen čip, ale celý návrh systému.</p>
<p>Bezpečnost DESFire nebydlí v kartě. Bydlí v tom, jak je nasazená.</p>
<p>A proto ti magic karta zálohu neudělá, ne proto, že by byl klíč tak tajný, ale proto, že na magic kartě není co s tím klíčem provést.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F10%2F27%2F3123%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/10/27/3123/">Proč DESFire nenaklonuješ, i když Mifare Classic jde</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tři datacentra za čtyři dny: co drony udělaly s Yandex Cloudem</title>
		<link>https://www.hardwired.dev/2026/10/17/tri-datacentra-za-ctyri-dny-co-drony-udelaly-s-yandex-cloudem/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Sat, 17 Oct 2026 10:28:40 +0000</pubDate>
				<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[dron]]></category>
		<category><![CDATA[infrastruktura]]></category>
		<category><![CDATA[utok]]></category>
		<category><![CDATA[yandex]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=3119</guid>

					<description><![CDATA[<p>V 1:31 moskevského času, v noci na 8. října, se na stavové stránce Yandex Cloudu objevila nenápadná zpráva. V zóně &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/10/17/tri-datacentra-za-ctyri-dny-co-drony-udelaly-s-yandex-cloudem/">Tři datacentra za čtyři dny: co drony udělaly s Yandex Cloudem</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>V 1:31 moskevského času, v noci na 8. října, se na stavové stránce Yandex Cloudu objevila nenápadná zpráva. V zóně dostupnosti ru-central1-b vypadlo napájení a zákazníci mají podle možností přesunout zátěž do jiných zón, informoval server Lenta.ru. Rjazaňský gubernátor Pavel Malkov o pár hodin později mluvil jen o tom, že v Sasovském okrese chytla střecha „jednoho z podniků&quot;, píše Kommersant.</p>
<p>Tím podnikem bylo datacentrum Yandexu. A „jiné zóny&quot; vydržely přesně tři dny.</p>
<p>Do 11. října zasáhly ukrajinské drony tři z velkých datacenter firmy: Sasovo v noci ze 7. na 8. října, Kalugu ráno 9. října a Vladimir v noci na 11. října. Yandex Cloud pak zákazníkům oznámil, že běží v nouzovém režimu, a doporučil jim, ať sáhnou po vlastních plánech obnovy po havárii, uvádí Help Net Security. Válečnou stránku věci nechám jiným. Mě zajímá, co se stane s cloudem, když selže fyzická vrstva, kterou v architektonických diagramech kreslíme jako obláček.</p>
<h2>Co stálo v Sasovu</h2>
<p>Datacentrum v Sasovu běží od roku 2014 v části bývalého závodu Sasta, píše Meduza. Nebyla to žádná okrajová lokalita. Stály tu dva ze tří superpočítačů, na kterých Yandex trénuje neuronové sítě: Červoněnkis s nominálním výkonem 29,42 PFLOPS a Ljapunov s 20,03 PFLOPS. Třetí stroj, Galuškin (20,64 PFLOPS), stojí ve Vladimiru, uvádí server Militarnyi s odvoláním na ruský web T-Invariant.</p>
<p>Podle T-Invariant jsou teď mimo provoz všechny tři. Slovo „zničené&quot; bych zatím nepoužívala. Yandex sám řekl stanici CNBC, že nedokáže potvrdit, jestli jde vybavení v Sasovu obnovit. Satelitní snímky z 12. října ukazují poškozenou zhruba třetinu budovy, píše ukrajinský 24tv. (Moscow Times mimochodem tvrdí, že Galuškina vyřadil už úder na Kalugu. Ostatní zdroje ho drží ve Vladimiru, takže tady se reportéři rozcházejí.)</p>
<p>Zajímavý detail přidal server CNews: datacentrum v Sasovu napájejí dvě nezávislé linky 110 kV. Proti výpadku sítě je to slušná redundance. Proti dronu na střeše žádná.</p>
<h2>Zóna dostupnosti není region</h2>
<p>Tady je jádro celé věci pro každého, kdo kdy kreslil architekturu v cloudu.</p>
<p>Zóny dostupnosti (availability zones) jsou oddělená datacentra s vlastním napájením a chlazením. Vymyslely se proto, aby výpadek jedné budovy nepoložil celou službu. Kdo nasadí aplikaci do dvou nebo tří zón, udělal přesně to, co radí každá certifikace. Úder na Vladimir ale podle Moscow Times shodil zónu ru-central1-a, tedy druhou ze zón Yandex Cloudu během tří dnů. Zbytek infrastruktury firma označila za „nestabilní&quot;.</p>
<p>Model zón dostupnosti počítá s nekorelovanými poruchami: blesk, porucha transformátoru, bagr přes optiku. Útočník, který si vybírá cíle podle mapy, poruchy koreluje schválně. Jeden ze zdrojů Meduzy to popsal až bolestně prakticky: v Rjazaňské, Kalužské ani Vladimirské oblasti se nečekají zemětřesení, takže nikoho nenapadlo platit fyzickou ochranu budov.</p>
<p>Ruský ministr pro digitální rozvoj označil útok za bezprecedentní a jeho úřad teď s ministerstvem obrany řeší, jak datacentra krýt, píše rádio Echo. Protivzdušná obrana jako součást SLA. To v žádném ceníku cloudu zatím nenajdete.</p>
<h2>Kdo všechno visel na Yandexu</h2>
<p>Výpadek vyhledávače nebo hudební služby by byl nepříjemný, ale přežitelný. Horší je, kolik cizích webů má Yandex zašitý uvnitř. Vypadly vestavěné služby jako Yandex ID pro přihlašování, Metrika a AppMetrica, reklamní síť, mapy na cizích webech, SmartCaptcha, Yandex Pay, odložené platby Split a firemní pošta Yandex 360, vyjmenovává Echo.</p>
<p>Po úderu na Sasovo měly problémy weby Ruských drah, operátora MegaFon a několika médií, uvádí ukrajinský server ua.news. Meduza přidává aplikaci řetězce Vkusno i točka, letiště Pulkovo a služby pro kontinuální monitorování glukózy u lidí s diabetem.</p>
<p>Ten poslední příklad stojí za chvilku ticha. Senzor na paži funguje dál, jen data nemají kam odtéct.</p>
<p>Yandex Pro mezitím radil taxikářům, ať jezdí podle Google Maps nebo Waze, a firma omezila stahování z Yandex Disku, aby ušetřila kapacitu pro ostatní služby, píše Meduza. Řízené vypínání méně důležitých funkcí (load shedding) je přesně to, co se v takové chvíli dělat má. Jen to obvykle nevidíte tak naplno.</p>
<h2>Data doma, služba jinde</h2>
<p>Nejlíp mi celou situaci shrnul případ Kazachstánu. Yandex tvrdí, že osobní data kazašských uživatelů zůstala uložená v Kazachstánu. Řidiči přesto nedostávali zakázky a cestující si nemohli objednat taxi, upozorňuje The Times of Central Asia. Problémy hlásili i uživatelé v Arménii, Bělorusku, Gruzii a Srbsku, uvádí Meduza.</p>
<p>Lokalizace dat a lokalizace služby jsou dvě různé věci. Databáze může ležet v Almaty, ale pokud řídicí vrstva (control plane) běží v Rjazaňské oblasti, máte v Almaty jen velmi bezpečně uložený archiv.</p>
<h2>Kam utéct, když nesmíte za hranice</h2>
<p>Ukrajina v únoru 2022, těsně před invazí, narychlo změnila zákon a státní registry přestěhovala do zahraničních cloudů. Rusko tuhle cestu zavřelo samo sobě. Zákon o lokalizaci osobních dat platí od roku 2015 a data ruských občanů musí zůstat na ruských serverech. Yandex se proto domluvil na urychleném přesunu klientských dat a služeb k domácí konkurenci: VK Cloud, Selectel a K2 Cloud, píše Meduza. Záložní plán tedy existuje, jen vede do datacenter, která leží ve stejném dosahu dronů.</p>
<p>Druhý problém je železo. Výměna poškozeného vybavení má podle Meduzy trvat až půl roku. Tom's Hardware upozorňuje, že část komponent už pod sankcemi nemusí jít vůbec sehnat a Yandex může být pro trénink dalších modelů odkázaný na čínskou infrastrukturu. A financovat to bude za klíčovou sazbu centrální banky 14 %, kterou regulátor v září podržel, uvádí server retail.ru.</p>
<h2>Sberbank: další na řadě</h2>
<p>V noci na 14. října zasáhly drony datacentrum Sberbanku v Balakovu v Saratovské oblasti, víc než 650 km od ukrajinských hranic. Komplex byl stále ve výstavbě, část kapacit už ale běžela. Plánovaný příkon je 82 MW, kapacita až 3 000 racků a přes 120 000 serverů a datacentrum mělo hostit i státní platformu GosTech, píše web www1.ru. Sberbank tvrdí, že všechny služby fungují normálně. Uživatelé přesto hlásili nefunkční bankovnictví a platby, informuje Meduza, i když souvislost s útokem nikdo nepotvrdil.</p>
<p>Pro kontext: tohle všechno je odveta. Od 23. září ruské útoky poškodily nebo zničily datacentra nejméně osmi ukrajinských firem, mezi nimi MiroHost, DataGroup a CityHost, uvádí Tom's Hardware.</p>
<h2>A co ty boty?</h2>
<p>Na sítích se rychle rozšířila teorie, že po úderech utichly ruské trollí farmy. Opírá se o graf z Cloudflare Radar, který ukazuje propad automatizovaného provozu ze sítě Yandexu (AS13238). Ilja Lozovskij z OCCRP ale upozornil, že graf měří automatizovaný webový provoz, třeba roboty vyhledávače, a ne boty na sociálních sítích, píše Help Net Security. Když vám spadnou datacentra, crawler vyhledávače přestane crawlovat. To je fyzika, ne kontrarozvědka.</p>
<p>Yandex mezitím na vlastních mapách rozmazal všechna svá cloudová datacentra, píše UNITED24 s odvoláním na web Verstka. Ochrana by fungovala skvěle, kdyby drony navigovaly podle Yandex Map.</p>
<hr />
<h3>Zdroje</h3>
<ul>
<li>Lenta.ru: <a href="https://lenta.ru/news/2026/10/08/long-yandeks-soobschil-o-masshtabnom-sboe-v-rabote-servisov-iz-za-ataki-vsu-chto-izvestno/">https://lenta.ru/news/2026/10/08/long-yandeks-soobschil-o-masshtabnom-sboe-v-rabote-servisov-iz-za-ataki-vsu-chto-izvestno/</a></li>
<li>Kommersant: <a href="https://www.kommersant.ru/doc/9008807">https://www.kommersant.ru/doc/9008807</a></li>
<li>Help Net Security: <a href="https://www.helpnetsecurity.com/2026/10/13/ukraine-drone-strikes-yandex-data-centers/">https://www.helpnetsecurity.com/2026/10/13/ukraine-drone-strikes-yandex-data-centers/</a></li>
<li>Meduza (EN, 8. 10.): <a href="https://meduza.io/en/feature/2026/10/08/ukraine-strikes-yandex-data-center-housing-two-of-the-company-s-supercomputers">https://meduza.io/en/feature/2026/10/08/ukraine-strikes-yandex-data-center-housing-two-of-the-company-s-supercomputers</a></li>
<li>Meduza (EN, 15. 10.): <a href="https://meduza.io/en/feature/2026/10/15/ukrainian-strikes-on-yandex-s-data-centers-could-set-back-russia-s-ai-development-by-years-never-a-rival-to-the-u-s-or-china-in-ai-russia-may-now-fall-behind-kazakhstan-too">https://meduza.io/en/feature/2026/10/15/ukrainian-strikes-on-yandex-s-data-centers-could-set-back-russia-s-ai-development-by-years-never-a-rival-to-the-u-s-or-china-in-ai-russia-may-now-fall-behind-kazakhstan-too</a></li>
<li>Meduza (RU, 12. 10.): <a href="https://meduza.io/feature/2026/10/12/kak-yandeks-spravlyaetsya-s-posledstviyami-udarov-ukrainy-po-svoim-data-tsentram">https://meduza.io/feature/2026/10/12/kak-yandeks-spravlyaetsya-s-posledstviyami-udarov-ukrainy-po-svoim-data-tsentram</a></li>
<li>Meduza (Sberbank): <a href="https://meduza.io/en/news/2026/10/14/users-start-reporting-outages-in-sberbank-services-after-ukrainian-drone-attack-on-company-s-data-center">https://meduza.io/en/news/2026/10/14/users-start-reporting-outages-in-sberbank-services-after-ukrainian-drone-attack-on-company-s-data-center</a></li>
<li>Militarnyi: <a href="https://militarnyi.com/en/news/drone-strikes-may-have-knocked-out-all-three-yandex-supercomputers/">https://militarnyi.com/en/news/drone-strikes-may-have-knocked-out-all-three-yandex-supercomputers/</a></li>
<li>CNBC: <a href="https://www.cnbc.com/2026/10/08/russia-yandex-ukraine-drone-strike-data-center.html">https://www.cnbc.com/2026/10/08/russia-yandex-ukraine-drone-strike-data-center.html</a></li>
<li>24tv.ua (satelitní snímky): <a href="https://24tv.ua/ru/povrezhdenija-data-centra-jandeksa-v-sasovo-sputnikovye-snimki_n3161081">https://24tv.ua/ru/povrezhdenija-data-centra-jandeksa-v-sasovo-sputnikovye-snimki_n3161081</a></li>
<li>The Moscow Times: <a href="https://themoscowtimes.com/2026/10/15/from-wildberries-to-yandex-ukraine-is-turning-russian-business-giants-dominance-into-a-liability-a93976">https://themoscowtimes.com/2026/10/15/from-wildberries-to-yandex-ukraine-is-turning-russian-business-giants-dominance-into-a-liability-a93976</a></li>
<li>CNews: <a href="https://www.cnews.ru/news/top/2026-10-08_sklady_nadoelibombim_data-tsentry">https://www.cnews.ru/news/top/2026-10-08_sklady_nadoelibombim_data-tsentry</a></li>
<li>Echo: <a href="https://echofm.online/stories/vsu-atakovali-tri-data-czentra-yandeksa-za-nedelyu-chto-proishodit-s-servisami-kompanii-i-svyazannymi-s-nej-resursami">https://echofm.online/stories/vsu-atakovali-tri-data-czentra-yandeksa-za-nedelyu-chto-proishodit-s-servisami-kompanii-i-svyazannymi-s-nej-resursami</a></li>
<li>ua.news: <a href="https://ua.news/en/war-vs-rf/tri-data-tsentri-za-tizhden-iak-udari-po-iandeksu-ogolili-zalezhnist-rosiyi-vid-tsifrovoyi-infrastrukturi">https://ua.news/en/war-vs-rf/tri-data-tsentri-za-tizhden-iak-udari-po-iandeksu-ogolili-zalezhnist-rosiyi-vid-tsifrovoyi-infrastrukturi</a></li>
<li>The Times of Central Asia: <a href="https://timesca.com/drone-strikes-on-russian-data-centers-disrupt-yandex-services-across-central-asia/">https://timesca.com/drone-strikes-on-russian-data-centers-disrupt-yandex-services-across-central-asia/</a></li>
<li>Tom's Hardware: <a href="https://www.tomshardware.com/tech-industry/data-centers/ukrainian-drones-hit-russias-yandex-data-centers-housing-two-top-supercomputers-major-outage-follows-retaliatory-strike">https://www.tomshardware.com/tech-industry/data-centers/ukrainian-drones-hit-russias-yandex-data-centers-housing-two-top-supercomputers-major-outage-follows-retaliatory-strike</a></li>
<li>retail.ru (klíčová sazba): <a href="https://www.retail.ru/news/tsb-rf-sokhranil-klyuchevuyu-stavku-na-urovne-14-godovykh-12-sentyabrya-2026-282051/">https://www.retail.ru/news/tsb-rf-sokhranil-klyuchevuyu-stavku-na-urovne-14-godovykh-12-sentyabrya-2026-282051/</a></li>
<li>www1.ru (Sberbank Balakovo): <a href="https://www1.ru/en/news/2026/10/14/bespilotniki-atakovali-krupneisii-data-centr-sberbanka-v-rossii-stoimostiu-v-desiatki-milliardov-rublei.html">https://www1.ru/en/news/2026/10/14/bespilotniki-atakovali-krupneisii-data-centr-sberbanka-v-rossii-stoimostiu-v-desiatki-milliardov-rublei.html</a></li>
<li>Ukrainska Pravda: <a href="https://www.pravda.com.ua/eng/news/2026/10/14/8057949/">https://www.pravda.com.ua/eng/news/2026/10/14/8057949/</a></li>
<li>UNITED24 Media: <a href="https://united24media.com/war-in-ukraine/ukraine-struck-yandex-data-centers-russian-bots-went-silent-now-questions-are-mounting-23339">https://united24media.com/war-in-ukraine/ukraine-struck-yandex-data-centers-russian-bots-went-silent-now-questions-are-mounting-23339</a></li>
<li>Inspirace: InfoTalks s Jiřím Justem, info.cz: <a href="https://www.info.cz/podcasty/infotalks/utoky-na-ruska-datacentra-yandex-jiri-just">https://www.info.cz/podcasty/infotalks/utoky-na-ruska-datacentra-yandex-jiri-just</a></li>
</ul>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F10%2F17%2Ftri-datacentra-za-ctyri-dny-co-drony-udelaly-s-yandex-cloudem%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/10/17/tri-datacentra-za-ctyri-dny-co-drony-udelaly-s-yandex-cloudem/">Tři datacentra za čtyři dny: co drony udělaly s Yandex Cloudem</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Toolchanger YUDX je na GitHubu. Postavit ho zatím nejde</title>
		<link>https://www.hardwired.dev/2026/07/11/toolchanger-yudx-je-na-githubu-postavit-ho-zatim-nejde/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Sat, 11 Jul 2026 09:18:23 +0000</pubDate>
				<category><![CDATA[3D Tisk]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[3D tisk]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[RepRapFirmware]]></category>
		<category><![CDATA[toolchanger]]></category>
		<category><![CDATA[Voron]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=3114</guid>

					<description><![CDATA[<p>Autor vystupující jako Dumpling lab nahrál 13. srpna na GitHub podklady ke svému toolchangeru YUDX pro 3D tiskárny. Balík obsahuje &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/07/11/toolchanger-yudx-je-na-githubu-postavit-ho-zatim-nejde/">Toolchanger YUDX je na GitHubu. Postavit ho zatím nejde</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>Autor vystupující jako Dumpling lab nahrál 13. srpna na GitHub podklady ke svému toolchangeru YUDX pro 3D tiskárny. Balík obsahuje deset STL souborů, tři sestavy ve formátu STEP, čtyři G-kód makra, 42stránkový montážní návod a kusovník v Excelu. Licence je GPL-3.0, repozitář za týden nasbíral 205 hvězd a 39 forků.</p>
<p>Projekt sám o sobě novinka není. Poprvé ho autor ukázal ve videu z 2. prosince 2025 s popiskem, že je vysokoškolák a inspiroval se toolchangerem INDX od Bondtechu. Mezi tou ukázkou a otevřením zdrojáků uplynulo osm měsíců. Prázdný repozitář vznikl 5. srpna, soubory do něj přibyly ve třech commitech 13. srpna, poslední z nich přidal kusovník.</p>
<p>Zveřejněné podklady jsou zajímavější, než by se z ohlasů zdálo – a taky děravější. Prošel jsem repozitář soubor po souboru a porovnal ho s kusovníkem i s montážním návodem. Následující text popisuje, co v balíku je, co v něm není a proč se první lidé, kteří stavbu zkusili, zastavili hned na začátku.</p>
<h2>Retrakce místo serva</h2>
<p>Mechanika YUDX stojí na jednom nápadu, který autor v návodu nazývá metamorfní soukolí. Odjištění nástrojové hlavy nepohání servo ani druhý motor. Obstará ho krokový motor extruderu, tedy stejný, který podává filament.</p>
<p>Uvnitř podávacího kolečka sedí jednosměrné ložisko. Při běžné práci se protáčí a extruder se chová normálně. Když motor zatáhne filament hlouběji, ložisko se zablokuje, pastorek zabere do ozubeného hřebenu vyrobeného drátovým řezáním a celé soukolí se vykývne do strany proti pružině. Podávací kolečka se rozevřou a hlava se uvolní. Chiptron.cz, který o projektu psal 15. srpna, uvádí práh kolem 3 mm retrakce; v makru <code>tfree0.g</code> autor zatahuje ve dvou krocích celkem 7 mm, takže reálná hodnota bude záležet na kalibraci.</p>
<p>Celé odjištění nemá vlastní pohon ani řídicí signál.</p>
<p>Nástrojová hlava obsahuje jen hotend a chlazení. Podávání zůstává na tiskárně a je společné pro všechny hlavy. Tím se YUDX liší od Prusa XL i Snapmakeru U1, kde má každá hlava vlastní motor. Hlavu drží 32 neodymových magnetů 15 × 5 × 3 mm a 32 ocelových kuliček o průměru 4 mm. Návod věnuje celou stranu tomu, jak magnety lepit: úhlopříčně stejné póly, aby se siločáry uzavřely a magnety samy nevypadávaly.</p>
<h2>Tři chybějící STL</h2>
<p>Kusovník uvádí třináct tištěných dílů. Ve složce <code>STLs</code> jich je deset.</p>
<p>Chybí přesně ty tři, které tvoří extruder: <code>outer_shell_of_extruder</code>, <code>gear_container_plastic_part</code> a <code>rack_below_part</code>.</p>
<p>Kdo je chce vytisknout, musí si je vytáhnout ze sestavy <code>YUDX Extruder.STEP</code>. Jenže ta byla exportována ze SolidWorksu 2022 ve schématu AP214 a všechny entity v ní nesou označení <code>NONE</code>. Názvy dílů se do exportu nepřenesly, takže se v CAD hledají ručně podle tvaru.</p>
<p>Podobně skromný je software. Ve složce <code>Gcode</code> leží čtyři soubory. Dva z nich, <code>offest.g</code> a <code>disoffest.g</code>, obsahují osm řádků s nulovými offsety pro nástroje P0 až P7, tedy prázdnou šablonu, kterou si každý musí naměřit sám. Zbylá dvě makra, <code>tfree0.g</code> a <code>tpost0.g</code>, řeší výhradně nástroj číslo nula a nesou komentář, že pro ostatní nástroje si má uživatel upravit hodnotu X. Definice nástrojů pro RepRapFirmware, soubor <code>config.g</code> ani schéma zapojení v repozitáři nejsou. Návod přitom na straně 30 radí dokončit kabeláž a udělat testovací tisk, aniž by kabeláž kdekoli popisoval.</p>
<p>Montážní návod vznikl v PowerPointu 2021 a je to v podstatě fotoseriál se stručnými popisky. Místy je poctivý až odzbrojujícím způsobem: u instalace pružiny autor přiznává, že pružina není v SolidWorksu namodelovaná a na obrázku ji dokreslil ručně. Strana 39 nese jen číslo kroku a jinak je prázdná.</p>
<p>Na německém fóru drucktipps3d.de shrnul uživatel lixtop 17. srpna svůj dojem tak, že stavba zatím možná není. Informace se prý musí skládat z kusovníku, návodu, STEP souborů a videa dohromady, chybí závity a není jasná délka hřídele motoru ani specifikace malého ozubeného kola. Sedí to s tím, co v repozitáři vidím.</p>
<h2>Zakázkové díly za 375 dolarů, hotendy zvlášť</h2>
<p>Nejtvrdší překážkou nejsou chybějící soubory, ale kusovník. YUDX potřebuje tři typy vlastních ozubených kol, šest CNC obráběných dílů, hřeben z drátové řezačky a jednosměrné ložisko označené jako zakázkové. Když sečtu ceny, které autor u těchto položek uvádí, vyjde <strong>375 dolarů, zhruba 7 900 korun</strong>. A to je jen extruder, bez hotendů.</p>
<p>Hotendy jsou v kusovníku uvedené jako osmikusová položka značky Bambu Lab za 160 dolarů. Stojánků pro hlavy je ale sedm, stejně jako čističů trysky a vzduchových vodítek. Mikrospínačů typu dveřní zámek je šestnáct. Souhlas mezi počty položek nesedí a bez videa nebo dotazu na Discordu se z kusovníku skutečný počet hlav neodvodí.</p>
<p>Zvláštní kapitolou je poznámka, kterou autor umístil do hlavičky kusovníku: odkazy na Amazon prý našel Claude Code a mohou být chybné, zpětná vazba vítána. Namátková kontrola mu dává za pravdu, odkaz u magnetů vede na jiný rozměr, než jaký je uvedený v položce i v návodu. Ta otevřenost je sympatická, praktickou použitelnost kusovníku ovšem sráží. Autor tamtéž píše, že v příštích měsících by mohla vyjít hotová stavebnice extruderu.</p>
<h2>Sekunda, kterou nikdo neměřil</h2>
<p>Video, kterým autor zdrojáky ohlásil, se jmenuje „What's Inside the YUDX Extruder? 1S Tool Change System, Now Open Source“. Jedna sekunda na výměnu je autorovo číslo a nezávisle ho zatím nikdo nepotvrdil.</p>
<p>Srovnání je k dispozici jen orientační. Snapmaker U1 slibuje pět sekund, uživatelská měření zveřejněná na fóru Bambu Labu ale mluví o šesti až třinácti sekundách podle toho, jak často se hlavy střídají a jestli se stihnou nahřát. Právě nahřívání řeší YUDX přímo v makrech: <code>tfree0.g</code> končí příkazem <code>G10 R205</code>, který odloženou hlavu drží na 205 °C, a <code>tpost0.g</code> ji před nasazením zvedá na 220 °C. Zaparkovaná tryska nechladne a start po výměně nebrzdí ohřev.</p>
<p>Chiptron dále píše, že autor zmiňuje test dvou tisíc výměn v řadě, test na stringování a tisk válce. Ta čísla pocházejí z autorovy prezentace, ne z nezávislého měření.</p>
<h2>Patent visí ve vzduchu</h2>
<p>Systém INDX, kterým se autor otevřeně inspiroval, vyvinul a patentoval Bondtech; ochrannou známku INDX si firma přihlásila v dubnu 2025. Na Redditu se ve vlákně k YUDX objevila úvaha o možném porušení patentu. Přímo do vlákna jsem se nedostal, odkazuje na něj zmíněné německé fórum.</p>
<p>Protiargument, který tam padl, zní, že Prusa sama vytvořila podmínky pro napodobení. V červenci 2026 vyšlo najevo, že v propagačním modelu INDX pro tisk na stůl zůstala použitelná CAD geometrie pod licencí CC BY-SA 4.0, a maker s přezdívkou NoDoubt424 z ní sestavu rekonstruoval. Prusa soubor později stáhla, jenže tuhle licenci odvolat nelze.</p>
<p>U YUDX ten argument nesedí. Autorovo první video je z prosince 2025, sedm měsíců před únikem, a jeho mechanika nepoužívá indukční ohřev ani bezdrátovou komunikaci, na kterých INDX stojí.</p>
<p>Shoda je na úrovni konceptu, ne řešení.</p>
<p>Licence GPL-3.0 navíc řeší autorská práva ke zveřejněným souborům, patentovou otázku za stavitele nezodpoví.</p>
<p>Co je od 13. srpna venku, není návod ke stavbě, ale doklad, že mechanika existuje a funguje. Mezi tím a stavitelným projektem stojí tři chybějící STL, konfigurace RepRapFirmwaru a někdo, kdo vyrobí ozubená kola.</p>
<hr />
<p><strong>Zdroje:</strong> <a href="https://github.com/dumplinglab/YUDX-tool-changer">github.com/dumplinglab/YUDX-tool-changer</a> — stav k 21. srpnu 2026, včetně montážního návodu, kusovníku a G-kód maker; <a href="https://chiptron.cz/vysokoskolak-vytvoril-3d-tiskarnu-s-diy-indx-navod-a-soubory-jsou-open-source/">chiptron.cz</a>; <a href="https://forum.drucktipps3d.de/forum/thread/49606-yudx-toolchanger-offene-diskussion-links-wissenswertes-etc/">forum.drucktipps3d.de</a>; <a href="https://3druck.com/drucker-und-produkte/prusa-indx-maker-rekonstruiert-cad-modell-des-multimaterial-systems-aus-versehentlich-veroeffentlichter-datei-56161079/">3druck.com</a>; Tom's Hardware; Notebookcheck; fórum Bambu Labu.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F07%2F11%2Ftoolchanger-yudx-je-na-githubu-postavit-ho-zatim-nejde%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/07/11/toolchanger-yudx-je-na-githubu-postavit-ho-zatim-nejde/">Toolchanger YUDX je na GitHubu. Postavit ho zatím nejde</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>New York schválil zákon o sledování 3D tiskáren a CNC strojů</title>
		<link>https://www.hardwired.dev/2026/05/31/new-york-schvalil-zakon-o-sledovani-3d-tiskaren-a-cnc-stroju/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Sun, 31 May 2026 11:23:06 +0000</pubDate>
				<category><![CDATA[3D Tisk]]></category>
		<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[3D GUN'T]]></category>
		<category><![CDATA[3D tiskárna]]></category>
		<category><![CDATA[A.10005C]]></category>
		<category><![CDATA[A2228]]></category>
		<category><![CDATA[Adafruit]]></category>
		<category><![CDATA[Alvin Bragg]]></category>
		<category><![CDATA[blocking technology]]></category>
		<category><![CDATA[CAD soubor]]></category>
		<category><![CDATA[Class E felony]]></category>
		<category><![CDATA[CNC stroj]]></category>
		<category><![CDATA[Cricut]]></category>
		<category><![CDATA[detekční algoritmus]]></category>
		<category><![CDATA[digitální výroba]]></category>
		<category><![CDATA[EFF]]></category>
		<category><![CDATA[Electronic Frontier Foundation]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[ghost gun]]></category>
		<category><![CDATA[Kathy Hochul]]></category>
		<category><![CDATA[Klipper]]></category>
		<category><![CDATA[laserová řezačka]]></category>
		<category><![CDATA[Marlin]]></category>
		<category><![CDATA[New York]]></category>
		<category><![CDATA[online prodej]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Print&Go]]></category>
		<category><![CDATA[prověrka kupujícího]]></category>
		<category><![CDATA[regulace technologií]]></category>
		<category><![CDATA[S.9005]]></category>
		<category><![CDATA[soustruh]]></category>
		<category><![CDATA[státní rozpočet]]></category>
		<category><![CDATA[střelné zbraně]]></category>
		<category><![CDATA[svoboda internetu]]></category>
		<category><![CDATA[trestný čin]]></category>
		<category><![CDATA[USA legislativa]]></category>
		<category><![CDATA[výrobní průmysl]]></category>
		<category><![CDATA[Washington State]]></category>
		<category><![CDATA[zbrojní legislativa]]></category>
		<category><![CDATA[zbrojní plány]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=3092</guid>

					<description><![CDATA[<p>Shrnutí: New York jako první americký stát přijal zákon, který nařizuje výrobcům 3D tiskáren, CNC frézek a dalších digitálních výrobních &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/05/31/new-york-schvalil-zakon-o-sledovani-3d-tiskaren-a-cnc-stroju/">New York schválil zákon o sledování 3D tiskáren a CNC strojů</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p><strong>Shrnutí:</strong> New York jako první americký stát přijal zákon, který nařizuje výrobcům 3D tiskáren, CNC frézek a dalších digitálních výrobních strojů zabudovat do jejich zařízení software, jenž před každým tiskem nebo obráběním prohledá soubor se vzorem a porovná ho s databází zbrojních plánů. Pokud algoritmus vyhodnotí soubor jako podezřelý, stroj se nespustí. Zákon byl přijat jako součást státního rozpočtu na fiskální rok 2026–2027 a podepsán guvernérkou Kathy Hochul.</p>
<hr />
<h2>1. Jak zákon vznikl a co přesně říká</h2>
<p>Příslušná ustanovení jsou součástí rozpočtového zákona <strong>S.9005 / A.10005C</strong> (New York State Budget 2026–2027). Klíčová část je skryta v <strong>Part C</strong>, která obsahuje dva podčástky:</p>
<ul>
<li><strong>Subpart A</strong> — trestněprávní ustanovení týkající se výroby nelegálních zbraní na 3D tiskárnách a sdílení digitálních plánů.</li>
<li><strong>Subpart B</strong> — technický mandát: povinné zabudování tzv. <em>blocking technology</em> do všech 3D tiskáren a CNC strojů prodávaných v New Yorku.</li>
</ul>
<p>Zákon definuje „3D tiskárnu&quot; extrémně široce — jako:</p>
<blockquote>
<p><em>jakýkoliv stroj schopný vyrobit trojrozměrný objekt z digitálního návrhového souboru metodou přídavné výroby (additive manufacturing) nebo trojrozměrných úprav objektu metodou subtraktivní výroby (subtractive manufacturing).</em></p>
</blockquote>
<p>Tato definice tedy pokrývá nejen klasické FDM/SLA 3D tiskárny, ale i <strong>CNC frézy, CNC routery, soustruhy, laserové řezačky</strong> a v důsledku i hobbyistické plotry jako je <strong>Cricut</strong>. Jednoduše: pokud stroj převádí digitální soubor na fyzický objekt, zákon se na něj vztahuje.</p>
<hr />
<h2>2. Co je &quot;blocking technology&quot; a jak má fungovat</h2>
<p>Zákon definuje <strong>blocking technology</strong> jako hardware, software, firmware nebo jiná integrovaná technická opatření, která zajistí, že stroj nezahájí zpracování žádné zakázky, dokud nebude příslušný soubor vyhodnocen algoritmem detekce zbrojních plánů (<em>firearms blueprint detection algorithm</em>).</p>
<p>Algoritmus má za úkol:</p>
<ol>
<li>Vyhodnotit soubor (STL, G-code nebo jiný CAD formát).</li>
<li>Zjistit, zda lze soubor použít k výrobě střelné zbraně nebo nelegálního dílu.</li>
<li>Podezřelý soubor zablokovat — stroj se nespustí.</li>
</ol>
<p>Zákon nevyžaduje jen software. Vyžaduje, aby byl tento mechanismus přítomen přímo v každém <strong>prodávaném</strong> zařízení. Zároveň ruší možnost online prodeje a zásilkového doručení — veškerý prodej a přenos 3D tiskáren musí probíhat osobně (<em>in-person</em>). Pokuty za porušení dosahují až <strong>10 000 USD za incident</strong>.</p>
<p>Zákon neobsahuje <strong>žádné výjimky</strong> pro:</p>
<ul>
<li>komerční výrobce (automobilový, letecký, medicínský průmysl),</li>
<li>výzkumné instituce,</li>
<li>federálně licencované zbrojíře (<em>federally licensed gunsmiths</em>),</li>
<li>školy a vzdělávací instituce.</li>
</ul>
<hr />
<h2>3. Trestný čin za digitální soubor</h2>
<p><strong>Subpart A</strong> zavádí nový typ trestného činu: distribuci nebo držení digitálního návrhového souboru, který by mohl sloužit k výrobě dílu střelné zbraně, je nově <strong>zločinem třídy E</strong> (<em>Class E felony</em>), pokud jej sdílíte s kýmkoliv, kdo není federálně licencovaným zbrojířem registrovaným v New Yorku.</p>
<p>Podle výkladu zákona se tato definice teoreticky vztahuje na:</p>
<ul>
<li><strong>novináře</strong> reportující o dané problematice,</li>
<li><strong>výzkumné pracovníky</strong> studující 3D tisk a bezpečnost,</li>
<li><strong>designéry a umělce</strong> pracující s tvarovými soubory.</li>
</ul>
<p>Trestní třída E v New Yorku odpovídá trestu odnětí svobody až na <strong>4 roky</strong>.</p>
<hr />
<h2>4. Technický problém: proč to pravděpodobně nefunguje</h2>
<p>Zákon naráží na zásadní technické překážky, na které upozornily firmy i nezávislí experti.</p>
<h3>4a. Algoritmus čte geometrii, ne záměr</h3>
<p>Detekční algoritmus porovnává tvary — geometrii objektu. Problém je, že <strong>běžné průmyslové díly sdílejí geometrii se součástkami zbraní</strong>. Trubka vypadá jako hlaveň, konzola jako rám zbraně, konektor jako spoušťový mechanismus. Jeden výrobce otestoval svůj firmware na navrhovaném algoritmu ještě před přijetím zákona: systém <strong>označil 17 % zcela legitimních tisků jako podezřelých</strong> — šlo o díly motorů, jígy, nástroje.</p>
<p>Firma Adafruit a její spoluzakladatel Philip Torrone to shrnuli lapidárně:</p>
<blockquote>
<p><em>„Nevyžadujeme, aby stolní pily skenovaly dřevo kvůli zbraňovým tvarům. Nevyžadujeme, aby soustruhy volaly domů, než začnou obrábět kov. Ale přesně to tento zákon dělá s každým strojem, každým souborem a každou zakázkou.&quot;</em></p>
</blockquote>
<h3>4b. Open-source firmware — Marlin, Klipper, RepRap</h3>
<p>Drtivá většina desktopových 3D tiskáren a CNC strojů běží na <strong>open-source firmwaru</strong> — primárně Marlin a Klipper. Tento software vyvíjejí dobrovolníci a komunity, není připojen ke státní databázi a není navržen pro compliance infrastrukturu. Stroje jsou navíc velmi často <strong>offline</strong> — záměrně nepřipojeny k internetu. Implementace zákonného požadavku by vyžadovala kompletní přepis firmwaru, což je technicky i kapacitně mimo možnosti komunitních projektů.</p>
<p>EFF (Electronic Frontier Foundation) zákon veřejně oponovala a označila blocking technology za <strong>&quot;cenzurní software sledující každý tisk&quot;</strong>.</p>
<hr />
<h2>5. Software ThreeDGunT a role manhattanského státního zástupce</h2>
<p>Zákon nevznikl ve vzduchoprázdnu. Španělská firma <strong>Print&amp;Go</strong> se sídlem v Lleida (Katalánsko) již dříve vyvinula software nazvaný <strong>3D GUN'T</strong>. Tento systém:</p>
<ul>
<li>porovnává každou tiskovou zakázku s databází zbrojních plánů,</li>
<li>používá AI k rozpoznávání tvarů typických pro součástky zbraní,</li>
<li>v případě shody automaticky blokuje tisk a upozorní správce.</li>
</ul>
<p>Print&amp;Go má přes 420 000 uživatelů a software je integrován přímo do firmwaru zařízení při výrobě.</p>
<p>Manhattanský okresní státní zástupce <strong>Alvin Bragg</strong> začal tento software prosazovat u výrobců 3D tiskáren <strong>ještě před tím, než zákon existoval</strong>. V roce 2025 zaslal dopisy firmám <strong>Creality</strong> a <strong>Flashforge</strong> s hrozbou právní odpovědnosti, pokud software 3D GUN'T neadoptují. Vyzval rovněž k odstranění zbrojních CAD souborů z cloudových platforem výrobců.</p>
<p>Jinými slovy: <strong>vymáhací mechanismus byl postaven dříve, než byl zákon napsán.</strong> Zákon pak byl upraven tak, aby odpovídal již existujícímu řešení.</p>
<hr />
<h2>6. Chystané zákony: prověrka před koupí tiskárny</h2>
<p>Paralelně se v zákonodárném sboru New Yorku projednává <strong>Assembly Bill A2228</strong> (a jeho senátní protějšek <strong>S3562</strong>), který dosud nebyl přijat, ale je aktivní v komisích obou komor. Tento návrh by zavedl povinnou <strong>prověrku trestní minulosti</strong> při koupi 3D tiskárny — stejný typ prověrky jako při koupi střelné zbraně. Prodejce by musel žádat státní divizi trestního soudnictví, která má 15 pracovních dní na rozhodnutí.</p>
<p>Zákon sponzoruje assembleymemberka Jenifer Rajkumar a v různých podobách koluje v zákonodárném sboru od roku 2023.</p>
<hr />
<h2>7. Šíření do dalších států</h2>
<p>New York není jediný. <strong>Washington State</strong> projednával <strong>HB 2321</strong> — prakticky identický zákon vyžadující blocking technology v 3D tiskárnách. Podle návrhu by washingtonský generální prokurátor vytvořil a průběžně aktualizoval databázi zakázaných zbrojních souborů. Zákon byl v lednu 2026 postoupen do komise pro občanská práva a soudnictví.</p>
<p>Vzorový zákon, jakmile projde v jednom státě, mají ostatní tendenci kopírovat — a výrobci, kteří chtějí prodávat v celých USA, si nemohou dovolit vyrábět dvě různé verze produktu. V praxi tedy regulace jednoho státu de facto ovlivní zboží prodávané v celé zemi.</p>
<hr />
<h2>Přehled klíčových faktů</h2>
<table>
<thead>
<tr>
<th>Prvek</th>
<th>Detail</th>
</tr>
</thead>
<tbody>
<tr>
<td>Zákon</td>
<td>S.9005 / A.10005C, NY State Budget 2026–2027</td>
</tr>
<tr>
<td>Podepsán</td>
<td>Guvernérka Kathy Hochul</td>
</tr>
<tr>
<td>Klíčová část</td>
<td>Part C, Subpart A a Subpart B</td>
</tr>
<tr>
<td>Co pokrývá</td>
<td>Všechny stroje převádějící digitální soubor na fyzický objekt</td>
</tr>
<tr>
<td>Povinnost</td>
<td>Blocking technology — algoritmus detekce zbrojních plánů</td>
</tr>
<tr>
<td>Prodej</td>
<td>Pouze osobně (online prodej zakázán)</td>
</tr>
<tr>
<td>Pokuta</td>
<td>Až 10 000 USD za porušení</td>
</tr>
<tr>
<td>Trestný čin</td>
<td>Sdílení zbrojního CAD souboru = Class E felony (až 4 roky)</td>
</tr>
<tr>
<td>Výjimky</td>
<td>Žádné (ani pro zbrojíře, výzkum, průmysl)</td>
</tr>
<tr>
<td>Projednávané zákony</td>
<td>A2228/S3562 — prověrka při koupi tiskárny</td>
</tr>
<tr>
<td>Další státy</td>
<td>Washington State HB 2321 (v komisi)</td>
</tr>
<tr>
<td>Software</td>
<td>3D GUN'T od Print&amp;Go (Lleida, Španělsko)</td>
</tr>
</tbody>
</table>
<hr />
<h2>Zdroje</h2>
<ul>
<li>New York State Legislature — <a href="https://www.nysenate.gov/legislation/bills/2025/A10005/amendment/C">S.9005 / A.10005C text zákona</a></li>
<li>The Reload — <a href="https://thereload.com/new-york-bans-digital-gun-files-aims-at-3d-printers-capable-of-using-them/">New York Bans Digital Gun Files, Aims at 3D Printers</a></li>
<li>Electronic Frontier Foundation — <a href="https://www.eff.org/deeplinks/2026/04/stop-new-yorks-attack-3d-printing">Stop New York's Attack on 3D Printing</a></li>
<li>Reclaim the Net — <a href="https://reclaimthenet.org/new-york-3d-printer-law-mandates-firearm-file-blocking">New York Budget Bill Mandates File Scans for 3D Printers</a></li>
<li>3D Printing Industry — <a href="https://3dprintingindustry.com/news/adafruit-warns-of-flaws-in-the-new-firearm-screening-bills-248769/">Adafruit Warns of Flaws in the New Firearm Screening Bills</a></li>
<li>Manhattan DA — <a href="https://manhattanda.org/d-a-bragg-calls-on-3d-printing-companies-to-address-proliferation-of-illegal-firearms/">D.A. Bragg Calls On 3D-Printing Companies To Address Proliferation Of Illegal Firearms</a></li>
<li>Print&amp;Go — <a href="https://printandgo.tech/blog/3d-gunt-solution-to-prevent-3d-printed-ghost-guns">3D GUN'T: Print&amp;Go's solution to prevent 3D printed Ghost Guns</a></li>
<li>Fabbaloo — <a href="https://www.fabbaloo.com/news/washington-bill-would-require-weapon-blocking-software-in-3d-printers">Washington Bill Would Require Weapon-Blocking Software in 3D Printers</a></li>
<li>NY State Assembly — <a href="https://www.nysenate.gov/legislation/bills/2025/A2228">A2228 — background check bill</a></li>
<li>NYS Focus — <a href="https://nysfocus.com/2026/05/29/new-york-final-state-budget-2026-funding-guide-hochul">What's in the 2026 NY State Budget</a></li>
<li>Times Union — <a href="https://www.timesunion.com/state/article/hochul-pushes-ban-3d-technology-used-make-guns-22094029.php">Hochul pushes ban on 3D technology used to make guns</a></li>
</ul>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F05%2F31%2Fnew-york-schvalil-zakon-o-sledovani-3d-tiskaren-a-cnc-stroju%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/05/31/new-york-schvalil-zakon-o-sledovani-3d-tiskaren-a-cnc-stroju/">New York schválil zákon o sledování 3D tiskáren a CNC strojů</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>NTAG čipy a jak je naprogramovat z iPhonu</title>
		<link>https://www.hardwired.dev/2026/05/18/ntag-cipy-a-jak-je-naprogramovat-z-iphonu/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Mon, 18 May 2026 05:15:47 +0000</pubDate>
				<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[IOT]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[maker]]></category>
		<category><![CDATA[návod]]></category>
		<category><![CDATA[NDEF]]></category>
		<category><![CDATA[nfc]]></category>
		<category><![CDATA[NFC tagy]]></category>
		<category><![CDATA[NFC Tools]]></category>
		<category><![CDATA[NTAG]]></category>
		<category><![CDATA[NTAG215]]></category>
		<category><![CDATA[NXP]]></category>
		<category><![CDATA[programování NFC]]></category>
		<category><![CDATA[rfid]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=3088</guid>

					<description><![CDATA[<p>Nálepka za pár korun, telefon, a najednou Vám URL otevírá samo. NFC tagy z rodiny NTAG patří k nejlevnějším způsobům, &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/05/18/ntag-cipy-a-jak-je-naprogramovat-z-iphonu/">NTAG čipy a jak je naprogramovat z iPhonu</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>Nálepka za pár korun, telefon, a najednou Vám URL otevírá samo. NFC tagy z rodiny NTAG patří k nejlevnějším způsobům, jak fyzickému světu přidat softwarovou vrstvu — a přitom na to nepotřebujete pájku, kompilátor ani Arduino. Tenhle článek je hands-on návod, jak zapsat URL na NTAG215 přímo z iPhonu pomocí aplikace NFC Tools. Po cestě vysvětlím, co se v čipu při zápisu skutečně děje, protože pochopit, co máte v ruce, je polovina úspěchu příštího projektu.</p>
<h2>Co je NTAG a proč by Vás měl zajímat</h2>
<p>NTAG je rodina pasivních NFC čipů od firmy NXP Semiconductors. Pracují na 13,56 MHz, splňují standard NFC Forum Type 2 a ISO/IEC 14443-A, a nemají vlastní napájení — energii i hodinový signál si berou z magnetického pole čtečky (typicky Vašeho telefonu). To je důvod, proč Vám tag vydrží roky bez údržby a proč stojí v řádu korun.</p>
<p>Pro makery jsou zajímavé tři varianty:</p>
<table>
<thead>
<tr>
<th>Čip</th>
<th>User memory</th>
<th>Typické využití</th>
</tr>
</thead>
<tbody>
<tr>
<td>NTAG213</td>
<td>144 B</td>
<td>krátké URL, smart home triggery</td>
</tr>
<tr>
<td>NTAG215</td>
<td>504 B</td>
<td>vCard, Amiibo, delší konfigurace</td>
</tr>
<tr>
<td>NTAG216</td>
<td>888 B</td>
<td>rozsáhlejší data, více NDEF záznamů</td>
</tr>
</tbody>
</table>
<p>Čísla v praxi: do NTAG213 se vejde URL do zhruba 130 znaků (po odečtení NDEF režie), do 215 přibližně jeden plnohodnotný kontakt s telefonem a e-mailem, do 216 i krátká Wi-Fi konfigurace plus URL bokem. Nálepky se prodávají od 5 Kč za kus, kvalitní plastové karty od 15 Kč, klíčenky od 20 Kč. Pro experimenty se hodí balíček deseti kusů od českého dodavatele (neven.cz) nebo dvacet kusů z AliExpressu — cenový rozdíl je marginální, ale dodací doba zásadní.</p>
<p>Potkáte je všude. Marketingové nálepky v obchodech, vstupenky na lyžovačku, visačky na zboží proti padělání, Amiibo figurky od Nintenda, párovací tagy bezdrátových sluchátek. NXP udává životnost 10 let retence dat a 100 000 zápisových cyklů, což pro většinu maker projektů znamená „vydrží to déle než zájem o projekt&quot;.</p>
<h2>Anatomie čipu</h2>
<p>Vnitřek NTAG215 si lze představit jako sešit rozdělený na <strong>135 stránek po 4 bajtech</strong>. Některé stránky jsou Vaše hřiště, jiné jsou výrobní data, která nezměníte ani kdybyste chtěl.</p>
<pre><code>Page 0x00 – 0x02   UID a system bytes      (read-only)
Page 0x03          Capability Container    (jednou píšete, OR-uje se)
Page 0x04 – 0x81   User memory             (504 B, zde žije Vaše data)
Page 0x82          Dynamic Lock Bytes
Page 0x83 – 0x84   Konfigurace (AUTH0, ACCESS)
Page 0x85          PWD (heslo, 4 bajty)
Page 0x86          PACK (potvrzení, 2 bajty)</code></pre>
<p><strong>UID</strong> (Unique Identifier) má 7 bajtů a je z výroby spálené v křemíku — žádná aplikace ho nepřepíše. Slouží mimo jiné jako sůl pro výpočet hesla u Amiibo (ale o tom zase jindy).</p>
<p><strong>User memory</strong> je oblast, kam píšete přes NFC Tools. Data se ukládají ve formátu <strong>NDEF</strong> (NFC Data Exchange Format), což je standardizovaná obálka NFC Fora. Bez NDEF by si Váš iPhone se zápisem na Android tagem nerozuměl — díky NDEF rozumí oba.</p>
<p><strong>Configuration pages</strong> určují, jestli je čip chráněn heslem (registry PWD a AUTH0), jestli a od které stránky platí ochrana (AUTH0), a jestli má heslo limit neúspěšných pokusů (ACCESS bit AUTHLIM). Když na ně narazíte v NFC Tools, většinou se jim chcete vyhnout, dokud nevíte, co děláte — špatně nastavený AUTHLIM dokáže udělat z funkčního tagu drahou nálepku natrvalo.</p>
<p>NTAG215 navíc umí pár chytrostí navíc oproti staršímu NTAG203: 32-bitové heslo (PWD_AUTH), digitální podpis pravosti od NXP (ECC originality signature, který odlišuje pravé NTAG od čínských klonů) a tzv. UID mirror, kdy si do NDEF zprávy můžete nechat automaticky zrcadlit UID čipu — užitečné pro per-tag analytiku bez nutnosti programovat každý kus zvlášť.</p>
<h2>Co budete potřebovat</h2>
<p>K tomu, co budeme dělat, stačí překvapivě málo:</p>
<ul>
<li><strong>iPhone 7 nebo novější</strong> s iOS 13 a výš. Starší modely NFC sice mají, ale nepodporují třetí stranou ovládaný zápis. Pokud máte iPhone 13 a novější, bude čtení a zápis jednoznačně rychlejší a spolehlivější díky lepší anténě.</li>
<li><strong>NFC Tools</strong> od vývojáře Wakdev, zdarma z App Store. Existuje i placená „Pro Edition&quot;, ale pro zápis jednoduché URL ji nepotřebujete. Pro varianty jsou navíc plánovací funkce a profily — užitečné, až budete chtít sériově programovat víc tagů najednou.</li>
<li><strong>NTAG215 nálepku, kartu nebo klíčenku</strong>. Pro tento návod používám NTAG215, ale postup je identický pro NTAG213 i NTAG216, lišit se bude jen kapacita.</li>
</ul>
<p>Jedna technická poznámka k platformě: iPhone má NFC anténu v horní části zařízení, kolem objektivu kamery. Android telefony ji mívají vzadu uprostřed nebo dole. Pokud jste zvyklý držet Android telefon plochou stranou na tag, s iPhonem to nepůjde — musíte přiložit horní hranu. Začátečníci se tady často zaseknou na tom, že „tag prostě nefunguje&quot;, přitom jen čtou špatnou částí telefonu.</p>
<p>Druhá poznámka, méně příjemná: iOS je v NFC schopnostech rok zpátky oproti Androidu. Pro zápis NDEF a čtení standardních tagů je vše v pořádku, ale na low-level operace (přímý přístup k jednotlivým stránkám, práce s MIFARE Classic, dump celé paměti) potřebujete buď Android, nebo specializovaný hardware jako Proxmark3 či Flipper Zero. Pro náš úkol je iPhone naprosto dostatečný.</p>
<h2>Hands-on: zápis URL hardwired.dev</h2>
<p>Konečně k věci. Předpokládám, že máte NFC Tools nainstalovanou a v ruce prázdný NTAG215. Postup má pět kroků.</p>
<h3>Krok 1: Přečtěte tag</h3>
<p>Otevřete NFC Tools a v dolním menu zvolte záložku <strong>Read</strong>. Telefon se přepne do skenovacího režimu a nahoře vyskočí systémový dialog „Připraveno ke skenování&quot;. Přiložte horní hranu iPhonu k tagu a držte ji nehnutě zhruba sekundu. Telefon zavibruje a vrátí Vám informace o čipu.</p>
<p>V odpovědi uvidíte něco jako:</p>
<pre><code>Serial Number: 04:A3:B7:12:5F:80:C1
Tag type: ISO 14443-3A (NXP - NTAG215)
Technologies available: NFC A
Manufacturer: NXP Semiconductors
Maximum data size: 504 bytes
NDEF: Yes (writable, 0/504 bytes used)</code></pre>
<p>Tohle je výchozí stav nového čipu. UID začínající <code>04</code> je typické pro NXP. NDEF je deklarováno jako prázdné a zapisovatelné.</p>
<h3>Krok 2: Vytvořte záznam</h3>
<p>Přepněte se na záložku <strong>Write</strong>. Klepněte na <strong>Add a record</strong>. Otevře se seznam typů — vCard, Wi-Fi, Bluetooth pairing, e-mail, telefon, geolokace, a další. Vás zajímá první položka: <strong>URL / URI</strong>.</p>
<p>V dalším okně vyberte schéma. NFC Tools má rozbalovací menu s běžnými prefixy (<code>http://</code>, <code>https://</code>, <code>tel:</code>, <code>mailto:</code> a další), a zbytek URL napíšete do textového pole. Pro náš účel:</p>
<ul>
<li><strong>Schéma:</strong> <code>https://</code></li>
<li><strong>URL:</strong> <code>hardwired.dev</code></li>
</ul>
<p>Aplikace Vám pod políčkem ukáže, kolik bajtů záznam zabere — pro <code>https://hardwired.dev</code> to bude méně než 20 bajtů. Klepněte na <strong>OK</strong>. Vrátíte se na obrazovku Write, kde teď uvidíte jeden NDEF záznam typu <strong>URI</strong> připravený k zápisu.</p>
<h3>Krok 3: Zapište na tag</h3>
<p>Klepněte na velké tlačítko <strong>Write</strong>. Telefon znovu otevře skenovací dialog. Přiložte horní hranu iPhonu k tagu a držte. Zápis NDEF zprávy o 20 bajtech trvá zhruba 200 milisekund — celý dialog ale obvykle zmizí až po vteřině, protože iOS si dává malou rezervu na ověření.</p>
<p>Po úspěšném zápisu uvidíte zelenou hlášku <strong>Write complete</strong>. Pokud místo toho dostanete chybu, nejčastější příčiny jsou tři: tag je zamčený lock bytes (nelze nic dělat), tag má heslo (potřebujete ho zadat ve Security menu), nebo jste ho odtrhli moc rychle (zkuste znovu).</p>
<h3>Krok 4: Ověřte zápis</h3>
<p>Vraťte se na záložku <strong>Read</strong> a tag přečtěte znovu. Tentokrát uvidíte v odpovědi přibyl řádek navíc:</p>
<pre><code>NDEF: Yes (writable, 17/504 bytes used)

Record 0
  Type: URI
  URI: https://hardwired.dev</code></pre>
<p>Tag teď nese Vaši URL. 17 z 504 bajtů využito — zbytek paměti je stále volný a Vy můžete přidat další záznamy (např. WhatsApp link, kontakt, Wi-Fi heslo) bez omezení, dokud nevyplníte kapacitu.</p>
<h3>Krok 5: Otestujte v reálném světě</h3>
<p>A teď to nejlepší. Zamkněte iPhone (jen stisk power tlačítka, do podivných stavů ho dávat nemusíte) a přiložte ho horní hranou k tagu. Na zamčené obrazovce se objeví <strong>banner s URL hardwired.dev</strong>. Klepnutím se otevře Safari.</p>
<p>Tohle je důležitý moment: na iPhonu <strong>funguje background NFC scanning pouze pro NDEF záznamy standardních typů</strong> — URL, telefonní číslo, e-mail, geolokace a několik dalších. Wi-Fi konfigurace nebo vCard se zamčené obrazovce neobjeví, protože iOS je nevyhodnocuje na pozadí (z bezpečnostních důvodů). Pokud chcete, aby tag spustil Wi-Fi připojení, musíte mít NFC Tools otevřenou, nebo využít Shortcuts Automation, kterou iOS k NFC tagům umí přivázat (ale to je téma na samostatný článek).</p>
<p>Gratuluji — máte první funkční NTAG.</p>
<hr />

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F05%2F18%2Fntag-cipy-a-jak-je-naprogramovat-z-iphonu%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/05/18/ntag-cipy-a-jak-je-naprogramovat-z-iphonu/">NTAG čipy a jak je naprogramovat z iPhonu</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>MeshCore v praxi: jak v Česku postavit vlastní LoRa uzel a nezapadnout</title>
		<link>https://www.hardwired.dev/2026/05/16/meshcore-v-praxi-jak-v-cesku-postavit-vlastni-lora-uzel-a-nezapadnout/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Sat, 16 May 2026 09:30:13 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HAM]]></category>
		<category><![CDATA[18650]]></category>
		<category><![CDATA[2-byte path hash]]></category>
		<category><![CDATA[3D tisk]]></category>
		<category><![CDATA[868 MHz]]></category>
		<category><![CDATA[alternativní síť]]></category>
		<category><![CDATA[bastlení]]></category>
		<category><![CDATA[blackout]]></category>
		<category><![CDATA[brno]]></category>
		<category><![CDATA[českou komunita]]></category>
		<category><![CDATA[companion]]></category>
		<category><![CDATA[CZFree.Net]]></category>
		<category><![CDATA[decentralizace]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[esp32]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[FIT VUT]]></category>
		<category><![CDATA[Flatpak]]></category>
		<category><![CDATA[GTK4]]></category>
		<category><![CDATA[ham]]></category>
		<category><![CDATA[ham radio]]></category>
		<category><![CDATA[Heltec V3]]></category>
		<category><![CDATA[Heltec V4]]></category>
		<category><![CDATA[internet věcí]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[Jindřich Skácel]]></category>
		<category><![CDATA[Jiří Eischmann]]></category>
		<category><![CDATA[krizová komunikace]]></category>
		<category><![CDATA[krok za krokem]]></category>
		<category><![CDATA[LiFePO4]]></category>
		<category><![CDATA[LilyGo T-Deck]]></category>
		<category><![CDATA[Linux klient]]></category>
		<category><![CDATA[lora]]></category>
		<category><![CDATA[low power]]></category>
		<category><![CDATA[maker komunita]]></category>
		<category><![CDATA[mesh]]></category>
		<category><![CDATA[mesh síť]]></category>
		<category><![CDATA[MeshCore]]></category>
		<category><![CDATA[Meshtastic]]></category>
		<category><![CDATA[Meshy]]></category>
		<category><![CDATA[návod]]></category>
		<category><![CDATA[off-grid]]></category>
		<category><![CDATA[off-grid komunikace]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[openalt]]></category>
		<category><![CDATA[P2P]]></category>
		<category><![CDATA[packet radio]]></category>
		<category><![CDATA[peer to peer]]></category>
		<category><![CDATA[radioamatérství]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[repeater]]></category>
		<category><![CDATA[room server]]></category>
		<category><![CDATA[SenseCAP]]></category>
		<category><![CDATA[sítě nezávislé na infrastruktuře]]></category>
		<category><![CDATA[solární napájení]]></category>
		<category><![CDATA[T-Echo]]></category>
		<category><![CDATA[T1000-E]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=3070</guid>

					<description><![CDATA[<p>Na střeše budovy Red Hatu v Brně-Medlánkách stojí krabička za pár tisíc, která dokáže to, co před dvěma lety zvládla &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/05/16/meshcore-v-praxi-jak-v-cesku-postavit-vlastni-lora-uzel-a-nezapadnout/">MeshCore v praxi: jak v Česku postavit vlastní LoRa uzel a nezapadnout</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>Na střeše budovy Red Hatu v Brně-Medlánkách stojí krabička za pár tisíc, která dokáže to, co před dvěma lety zvládla jen profesionální infrastruktura: spolehlivě doručit zprávu přes půl republiky bez jediného mobilního operátora. Jmenuje se <em>techpark.meshcore.cz</em> a je to jeden z uzlů, na kterých teď stojí česká MeshCore síť.</p>
<p>V <a href="https://www.hardwired.dev/2025/07/20/meshcore-off-grid-komunikaci-prostrednictvim-lora-mesh-siti/">minulém článku</a> jsme si vysvětlili, <em>proč</em> MeshCore existuje. Tohle je díl o tom, jak se do něj reálně připojit, co koupit, čeho se v české komunitě vyvarovat a proč není dobrý nápad nechávat na síti běžet vlastního pingovacího bota.</p>
<h2>Co se za poslední čtyři měsíce změnilo</h2>
<p>Když jsme o MeshCore psali loni v červenci, byla to spíš čerstvá zajímavost než infrastruktura. Mapa repeaterů byla řídká, návody chyběly, lidi tipovali, jestli se z toho stane další zaprášený meshtasticový pokus, nebo něco trvalejšího.</p>
<p>Stalo se to druhé. Mezi únorem a dubnem 2026 česká síť přerostla sama sebe. Jiří Eischmann, který má na blogu jeden z nejčtenějších českých textů o MeshCore, to popisuje jednoduše: sever Brna je tak hustě pokrytý, že mu na jednu zprávu odpoví klidně šest repeaterů najednou. Spojení Brno–Hradec Králové, které ještě v únoru chodilo jen přes jižní trasu Děvín–Hostýnské vrchy–Praděd, teď chodí severní cestou Babí lom–Orlické hory a zprávu i s potvrzením doručí během několika sekund. A když je někdo na Ještědu, dokáže paket skočit až přes Brdy – jeden hop na víc než sto kilometrů.</p>
<p>Síť se za tu dobu posunula i na úrovni firmwaru. Verze 1.15 vyšla 19. dubna 2026 a přinesla podporu pro Heltec V4.3, OTA aktualizace pro nRF52 desky přes mobilní aplikaci a <a href="https://blog.meshcore.io/2026/04/19/release-1-15-0">pár změn chování</a>, které stojí za přečtení, než člověk začne flashovat. Heltec V4.3 navíc umí ovládat FEM hardware, což komunitní buildy jako EasySkyMesh 14.1 dovedly až na 5,5 mA klidového proudu. Pro solární repeater je to zásadní detail.</p>
<p>A pak je tu jedna věc, která komunitu poslední tři měsíce zaměstnává nejvíc.</p>
<h2>Kampaň 2-byte: proč si po prvním flashi musíš změnit jednu položku v menu</h2>
<p>Když dva uzly v síti vygenerují klíče, jejichž první bajt náhodou koliduje, je problém. Cesty (path) v MeshCore se počítají z hashe veřejného klíče a jednobajtová verze umí adresovat jen 256 unikátních prefixů.</p>
<p>V březnu 2026 už v české síti žádné úplně volné prefixy nebyly. Síť rostla rychleji, než byl protokol původně navržený.</p>
<p>Řešení přišlo s firmwarem 1.14. Dvoubajtový hash sníží počet možných hopů (z 64 na 32), ale dá síti 65 535 unikátních prefixů – tedy řádově dost na to, aby kolize přestaly být problém. Česká komunita to vzala jako koordinovanou kampaň. Provozovatelé repeaterů jeden po druhém aktualizovali firmware a od konce dubna je 2B nastavení reálným standardem.</p>
<p>Pro koncového uživatele to znamená jednu položku v menu. Po prvním flashi otevřeš v aplikaci MeshCore <em>Experimental Settings</em> a <em>Default Path Hash Size</em> přepneš na <strong>2 bytes</strong>. „V experimentálním nastavení si teď nastavte Výchozí velikost hashe cesty na 2b,&quot; stojí přímo na meshcore.cz. Když to zapomeneš, fungovat to bude, ale tvoje zprávy budou v menšině a u některých starších repeaterů by mohly zmizet úplně.</p>
<p>Takhle prozaicky se v praxi řeší škálování decentralizované sítě. Žádný governance token, žádné hlasování přes blockchain. Telegramová skupina, hlasování na Facebooku, postupný rollout.</p>
<h2>Tři role, tři firmwary</h2>
<p>Na rozdíl od Meshtasticu, kde přeposílá víceméně každý uzel, MeshCore strukturu sítě rozdělil na tři role. To je hlavní rozdíl mezi oběma sítěmi a důvod, proč se v reálném provozu chovají úplně jinak.</p>
<p><strong>Companion</strong> je uzel, který si dáš do kapsy nebo na stůl. Přes Bluetooth (případně USB nebo WiFi, podle toho, jaký firmware nahraješ) ho spojíš s mobilem a posíláš a přijímáš zprávy. Provoz ostatních uživatelů nepřeposílá – pokud zpráva není určená tobě, companion ji ignoruje. Tím šetří éter i baterii.</p>
<p><strong>Repeater</strong> je naopak součást infrastruktury, ne relé navíc. Jeho jediným úkolem je předávat pakety smysluplným směrem. Bez Bluetooth, bez displeje, často bez krytu kromě 3D tištěné krabičky. Patří na střechu, komín, vysílač nebo kopec. Solární panel, 18650 nebo LiFePO4 baterie, anténa s rozumným výhledem. Operátor si ho nakonfiguruje přes web config tool ještě před tím, než ho někam pověsí, protože jakmile je nahoře, není kam strčit USB-C.</p>
<p><strong>Room Server</strong> je třetí typ. Něco jako lokální BBS pro region – uzel, který umí ukládat zprávy, sdružovat uživatele do tematických kanálů a fungovat jako store-and-forward, když je adresát zrovna mimo dosah sítě.</p>
<p>Role nejde přepnout konfigurací. Když chceš ze svého companionu udělat repeater, musíš ho znovu flashnout. To zní jako omezení, ale dává smysl: firmware pro každou roli je jinak optimalizovaný a komunita má jistotu, že když má někdo v síti repeater, je to opravdu repeater, a ne mobil, kterému zrovna umřela baterka.</p>
<h2>Hardware: co reálně koupit v polovině roku 2026</h2>
<p>Tabulka, kterou bych si přál mít, když jsem s MeshCore začínal.</p>
<table>
<thead>
<tr>
<th>Typ uzlu</th>
<th>Doporučená deska</th>
<th>Orientační cena</th>
<th>K čemu</th>
</tr>
</thead>
<tbody>
<tr>
<td>Levný companion</td>
<td>Heltec V3 (ESP32)</td>
<td>600–900 Kč</td>
<td>Vstupní úroveň, OLED, BLE, integrovaná nabíječka</td>
</tr>
<tr>
<td>Lepší companion</td>
<td>Heltec V4 / V4.3</td>
<td>900–1200 Kč</td>
<td>Nižší spotřeba, novější LoRa stack</td>
</tr>
<tr>
<td>Kapesní companion</td>
<td>SenseCAP T1000-E</td>
<td>~2500 Kč</td>
<td>Kompaktní, GPS, nRF52, OTA</td>
</tr>
<tr>
<td>E-ink companion</td>
<td>LilyGo T-Echo</td>
<td>~1800 Kč</td>
<td>Displej drží i bez napájení</td>
</tr>
<tr>
<td>Autonomní zařízení</td>
<td>LilyGo T-Deck</td>
<td>~3500 Kč</td>
<td>Vlastní klávesnice, displej, telefon nepotřebuješ</td>
</tr>
<tr>
<td>DIY repeater</td>
<td>Heltec V3/V4 + 18650 + panel</td>
<td>~1500 Kč</td>
<td>Bastlířská varianta, krabička z tiskárny</td>
</tr>
<tr>
<td>Hotový solární repeater</td>
<td>SenseCAP Solar Node P1 Pro</td>
<td>~5000 Kč</td>
<td>Plug and play pro střechu</td>
</tr>
</tbody>
</table>
<p>K hardwaru pár poznámek z praxe, protože tabulka neřekne všechno.</p>
<p>Heltec V3 je pořád nejrozšířenější deska v české síti. Funguje, je levný, návodů na něj je plný Telegram. Pokud začínáš a nechceš řešit detaily, vezmi Heltec V3 nebo V4 v EU variantě (868 MHz, <strong>ne</strong> 915 MHz – ten je pro USA a v české síti nezachytí nic).</p>
<p>T-Deck je jiná liga. Pro lidi, co chtějí mít komunikaci úplně mimo telefon – na hory, do auta na dlouhé tahy, nebo prostě jako koncept „vlastní pager bez internetu&quot;. Pořád stojí kolem 3500 Kč, ale když k tomu přidáš baterii a pořádnou anténu, cena se snadno přehoupne přes pět litrů.</p>
<p>A SenseCAP Solar Node P1 Pro je teď v české komunitě nejcitovanější volba pro hotový repeater. Eischmann o něm píše: „Úplně se mi nechtělo bastlit vlastní řešení, takže jsem zvolil ověřené hotové řešení SenseCAP Solar Node P1 Pro.&quot; Pět tisíc je dost peněz na to, aby ses k nákupu rozhoupal, ale když jde o střechu rodinného domu, kde má mít spojení tvůj soused i ty, je to investice, která se vrátí.</p>
<h3>BOM pro vlastní solární repeater (DIY varianta, ~1700 Kč)</h3>
<p>Pro úplnost, kdyby ti to nedalo a chtěl bys ho postavit.</p>
<p>Zhruba takhle vypadá rozumný DIY repeater postavený na Heltecu, který přežije i bez sítě:</p>
<ul>
<li>Heltec V3 (EU 868 MHz) – 750 Kč</li>
<li>LiFePO4 článek 18650, 1500 mAh – 250 Kč (pozor na firmware ≥ 1.12, kde byly s LFP/LTO články hlášené <a href="https://meshcore.cz/">problémy s napěťovou křivkou</a>)</li>
<li>TP4056 modul s ochranou – 30 Kč</li>
<li>6V/5W solární panel – 200 Kč (zimní slunce v ČR je nízké a krátké, dimenzuj radši s rezervou)</li>
<li>LoRa anténa 868 MHz, zisk 3–5 dBi – 200 Kč</li>
<li>Pigtail SMA / IPEX – 60 Kč</li>
<li>3D tištěná krabička – pár desítek korun za filament</li>
<li>IP65 průchodka pro anténní kabel – 80 Kč</li>
<li>Spojovací materiál, dlaždice, držák – podle situace</li>
</ul>
<p>Cena pohodlně pod dva tisíce, pokud máš tiskárnu doma. Když kupuješ všechno nové a tiskneš v servisu, přidej k tomu pár stovek za filament a držák antény.</p>
<h2>Frekvence a nastavení regionu pro ČR</h2>
<p>Tohle bývá první past pro lidi, co začínají. MeshCore v Evropě obecně jede na pásmu 868 MHz, ale česká komunita se sjednotila na konkrétním presetu, který se ne vždycky shoduje s výchozím nastavením „EU&quot; v aplikaci. Konkrétně: frekvence 869,432 MHz, šířka pásma 62,5 kHz, spreading factor 7, coding rate 5, vysílací výkon 22 dBm.</p>
<p>Co to znamená v praxi: vysíláš na bezlicenčním pásmu, žádné poplatky, žádná registrace. Ale <strong>musíš respektovat duty cycle limit 1 %</strong> – tedy ze sta sekund vysílat nejvýš jednu. Firmware to hlídá sám, ale když si pustíš na síti bota, který každé tři minuty odešle status update, ten limit ti tiše vyžere a tvoje skutečné zprávy se přes něj nedostanou.</p>
<p>A teď k tomu botovi.</p>
<h2>Etiketa: žádné automaty, žádné scrapery</h2>
<p>Česká MeshCore komunita má jedno pravidlo, které visí přímo na úvodní stránce meshcore.cz a v každém druhém příspěvku na Telegramu. „Síť budujeme striktně pro komunikaci mezi lidmi (keyboard to keyboard). Vyvarujte se automatizovanému posílání zpráv, vyčítání repeaterů nebo jiné komunikaci, která není mezi lidmi!&quot;</p>
<p>Důvod je matematický. LoRa síť má reálnou propustnost zhruba tří kilobitů za sekundu. To není opomenutí, to je fyzika daná modulací. Komunita po hlasování konstatovala, že 75 % generovaného provozu tvořili boti, což snižuje pravděpodobnost doručení skutečných zpráv. Vznikla z toho samostatná kampaň: provozovatelé botů se mají vypnout. Jediný, kdo tam má povolení zůstat, je El Pong – komunitní bot s AI a emailem, který si komunita schválně nechala jako experiment.</p>
<p>Když si tedy zapneš svůj první uzel a napadne tě napsat skript, který bude každou hodinu pingovat dosah, prostě to nedělej. Není to vůči nikomu fér.</p>
<p>Totéž platí pro scrapery a „monitory pokrytí&quot;. Existuje <a href="https://meshcore.cz/">veřejná mapa</a> i analyzer, oba běží na backendu, kde tu zátěž nese server, ne LoRa éter. Když si chceš zmapovat vlastní dosah, projdi se s companionem a koukej do aplikace. Žádný autopilot.</p>
<h2>Krok za krokem: od krabičky k první zprávě</h2>
<p>Předpokládejme Heltec V3 v EU 868 MHz verzi, Android telefon a Chrome v notebooku.</p>
<p>Připoj desku přes USB-C k počítači. Pozor na kabel – některé „nabíjecí&quot; mají jen napájení a žádná data, a flasher se ti k čipu nedostane. Když to nepřipojí, zkus jiný kabel dřív, než začneš googlovat ovladače.</p>
<p>Otevři <a href="https://flasher.meshcore.co.uk">flasher.meshcore.co.uk</a> v Chromu (nebo jiném prohlížeči postaveném na Chromiu – Edge funguje, Firefox bohužel ne, protože nemá Web Serial API). Po načtení vyber model desky. Pro Heltec V3 zvol <em>Community Firmware</em> a roli <em>Companion Bluetooth</em>. Stiskni <em>Flash</em>. Asi po půl minutě má deska firmware.</p>
<p>Stáhni si aplikaci <strong>MeshCore</strong> – existuje pro <a href="https://play.google.com/store/apps/details?id=co.meshcore.app">Android</a> i iOS. Po spuštění klepni na „přidat zařízení&quot; a aplikace najde tvůj uzel přes Bluetooth. Spárování chce PIN, který se ti zobrazí na OLED displeji.</p>
<p>První věc, kterou pak v aplikaci uděláš (ano, ještě před tím, než pošleš první zprávu): otevři <em>Experimental Settings</em> a přepni <em>Default Path Hash Size</em> na <strong>2 bytes</strong>. To je ta kampaň, o které jsem psal výš. Pak nastav region – pro Česko buď použij preset <em>EU Recommended</em>, nebo manuálně nastav 869,432 MHz / BW 62,5 kHz / SF 7 / CR 5.</p>
<p>Teď klepni v aplikaci na ikonu vlny (advert) a pošli <em>Flood Routed Advert</em>. To je signál „jsem tady, kdo mě slyší&quot;. V <em>Contacts</em> by se ti během následujících sekund až minut měly začít objevovat repeatery a uživatelé v dosahu. Když ne, vystup na balkon nebo zkus jít k oknu. LoRa není WiFi a na úrovni ulice mezi paneláky se jí obvykle moc nedaří.</p>
<p>Pošli testovací zprávu do kanálu <strong>#test</strong>. Pokud uvidíš v aplikaci „Heard X repeat(s)&quot;, jsi v síti. Hotovo.</p>
<h2>Linuxový klient Meshy: alternativa pro lidi, co nechtějí mobil</h2>
<p>Pokud jsi typ člověka, co radši pracuje na notebooku než na mobilu, je tu pro tebe Meshy. Linuxový klient pro MeshCore, který od února 2026 píše Jiří Eischmann. Aplikace má dokonce funkce, které oficiální klient zatím nemá – třeba vykreslení trasy poslední úspěšné zprávy přímo na mapě v chatu.</p>
<p>Meshy se aktuálně distribuuje přes Flatpak repozitář a každý commit do gitu spouští nový build pro x86_64 i aarch64 (díky Roští.cz za poskytnutí builderu). Eischmann teď cílí na publikaci ve Flathubu – hlavní překážka prý je, že kvůli udev pravidlu pro připojení companionu přes USB potřebuje obejít sandbox pomocí <code>flatpak spawn</code>. Časem to vyřeší. Komunita kolem linuxového klienta roste a Meshy je teď nejstabilnější varianta, pokud chceš MeshCore používat z laptopu.</p>
<p>Pro lidi z radioamatérské scény, kteří už znají RTL-SDR, gpredict a další unixové utility, je Meshy přirozenější než přepínání mezi mobilem a notebookem. V brněnské komunitě je to čím dál jasnější volba.</p>
<h2>Brno jako centrum české MeshCore scény</h2>
<p>Když si zmapuješ aktivitu české komunity, jihomoravský trojúhelník vyčnívá. Většina nejaktivnějších provozovatelů sítě sedí v Brně. Jindřich Skácel měl v únoru 2026 přednášku na 216. srazu spolku OpenAlt na FIT VUT, ukazoval klientská zařízení a praktické nasazení repeateru, video je <a href="https://vhsky.cz/w/eTwu4pMadf6uKUH75AbymD">na vhsky.cz</a>. Na budově Red Hatu v Medlánkách přímo běží repeater techpark.meshcore.cz, který kryje větší část severu Brna.</p>
<p>Není to náhoda. Brno má kombinaci, která MeshCore přeje: hustá technická komunita (Red Hat, FIT VUT, SUSE, NIC.CZ), aktivní open-source scéna kolem OpenAltu, prolínání ham a maker komunity a topologie s viditelností na okolní kopce (Babí lom, Děvín, Hostýn).</p>
<p>Eischmann to v jednom blogu trefil přirovnáním ke CZFree.Netu z přelomu nultých let – komunita, která bere infrastrukturu do svých rukou, protože ji to baví, ne protože musí.</p>
<p>Pokud bydlíš v Brně nebo okolí a chceš se připojit, je to teď nejjednodušší. Telegramová skupina <strong>meshcore_cz</strong> má aktivní topic <em>Wiki</em> a <em>Repeatery</em>, srazy OpenAltu v Red Hat Labu na FIT VUT chodí pravidelně každý třetí pátek v měsíci (i když ne každý je o MeshCore) a v Brně máš největší šanci potkat lidi, kteří síť reálně staví.</p>
<p>Jiné regiony pochopitelně taky fungují. Praha má pokrytí, Hradec a Liberec mají své sysopy, jižní Čechy mají svou skupinku. Ale hustota brněnské sítě v polovině roku 2026 je v republice unikum a kdyby ses chtěl podívat, jak vypadá MeshCore, když má kritickou masu, stojí za to si sem na jeden pátek vyrazit a vidět to z první ruky.</p>
<h2>Co dál</h2>
<p>Když máš companion v kapse a fungující spojení do sítě, je to první krok. Logické pokračování je vlastní repeater. Pokud bydlíš výš nebo máš střechu, je to nejspíš něco, co tvoje okolí ocení. Eischmannovi přes zimu umřely baterky na repeateru ivanovice.meshcore.cz, který byl 300 metrů od něj, a najednou byl bez spojení. Jeho ponaučení: „když závisíte na repeaterech ostatních, měli byste mít spojení alespoň na dva. Nebo mít vlastní.&quot; Síť odolnou proti blackoutu nepostavíš tím, že čekáš na sysopa o tři ulice dál.</p>
<p>Před tím, než si pořídíš hardware na repeater, vygeneruj si přes <a href="https://meshcore.cz/">Key Generator</a> vlastní prefix klíče. V březnu 2026 už volné jednobajtové prefixy nebyly. Při 2-byte hashi je situace lepší, ale stejně si zkontroluj v analyzeru, jestli zrovna tvůj generovaný prefix neběží už ten den někomu přes ulici.</p>
<p>A pokud chceš jít dál než ke klasickým textovkám – existuje <a href="https://github.com/meshcore-dev/MeshCore/releases/tag/companion-v1.15.0">GROUP_DATA</a>, binární typ paketu, který firmware 1.15 přinesl pro pokročilejší aplikace. Telemetrie, řízení vzdálených zařízení, integrace s domácí automatizací. Část komunity tudy už šlape, v Brně víc, v ostatních městech méně.</p>
<p>Co MeshCore není a co se nestane: nikdy z toho nebude bezdrátový internet, nikdy nebude pohánět videohovory, nikdy nezvládne přenášet fotky v rozumném čase. To je v pořádku. Stačí, že umí to, co lidi v Karpatech, na chatě v Beskydech nebo v zatopeném Bohumíně skutečně potřebují: krátkou textovku, která projde, i když všechno ostatní leží.</p>
<p>A taková síť se buduje úplně stejně, jako se před třiceti lety budoval CZFree.Net. Po jednom uzlu, po jedné krabičce, po jedné neděli na střeše.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F05%2F16%2Fmeshcore-v-praxi-jak-v-cesku-postavit-vlastni-lora-uzel-a-nezapadnout%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/05/16/meshcore-v-praxi-jak-v-cesku-postavit-vlastni-lora-uzel-a-nezapadnout/">MeshCore v praxi: jak v Česku postavit vlastní LoRa uzel a nezapadnout</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WireClaw: ESP32 jako AI agent, který vám neshodí topení, když spadne internet</title>
		<link>https://www.hardwired.dev/2026/05/12/wireclaw-esp32-jako-ai-agent-ktery-vam-neshodi-topeni-kdyz-spadne-internet/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Tue, 12 May 2026 09:51:29 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[IOT]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[esp32]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[nats]]></category>
		<category><![CDATA[openrouter]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=3062</guid>

					<description><![CDATA[<p>Představte si scénář: pošlete přes Telegram zprávu „dej mi vědět, když teplota čipu překročí 28 stupňů&#34;. Bot odpoví, že rozumí. &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/05/12/wireclaw-esp32-jako-ai-agent-ktery-vam-neshodi-topeni-kdyz-spadne-internet/">WireClaw: ESP32 jako AI agent, který vám neshodí topení, když spadne internet</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>Představte si scénář: pošlete přes Telegram zprávu „dej mi vědět, když teplota čipu překročí 28 stupňů&quot;. Bot odpoví, že rozumí. Od té chvíle ESP32 hlídá teplotu sám. Bez cloudu, bez LLM volání, bez WiFi. Spadne vám internet? Hlídá dál. Restartujete ho? Po naběhnutí hlídá dál.</p>
<p>Tohle je WireClaw, open-source firmware od Maria Schallnera (na GitHubu <code>M64GitHub</code>), který vyšel poprvé veřejně 25. února 2026. Z hardware-first myšlení vznikla jedna z mála implementací AI agenta na MCU, která bere vážně otázku, co se stane, když AI selže. Tady si projdeme, jak to funguje, proč to vzniklo a kde to narazí.</p>
<h2>Dvě smyčky, jeden čip</h2>
<p>Klíčový designový trik: WireClaw na ESP32 logicky rozděluje práci na dvě nezávislé části.</p>
<p><strong>Rule loop</strong> běží neustále a nedotýká se sítě. Čte senzory, vyhodnocuje uložená pravidla, spouští akce. Žádný HTTP request, žádná LLM inference. Když teplota přeleze práh, rozsvítí se LED nebo přijde Telegram zpráva, to celé v řádu milisekund, lokálně.</p>
<p><strong>AI loop</strong> se probudí, jen když přijde zpráva přes Telegram, USB sériovku nebo NATS. Tehdy WireClaw udělá HTTPS na OpenRouter (nebo HTTP na lokální Ollamu), nechá LLM zformulovat odpověď a případně vytvořit nové pravidlo. Maximum je pět iterací s nástroji na jednu zprávu, pak se vše zabalí.</p>
<blockquote>
<p><em>„The AI creates the rules. The rules run without the AI.&quot;</em></p>
</blockquote>
<p>Tahle věta z dokumentace shrnuje celou filozofii. LLM se používá jako kompilátor lidského záměru do embedded logiky. Pravidlo, které vznikne, jde do flash paměti a od té chvíle žije svým životem. Reboot? Po načtení z flashe pokračuje, jako by se nic nestalo.</p>
<p>Pro někoho, kdo zkoušel postavit IoT s ChatGPT v hot loopu, je to úleva. Žádný API výpadek vám neshodí topení.</p>
<h2>Co se vejde do ESP32</h2>
<p>WireClaw potřebuje 4 MB flash a tři typy čipů: ESP32-C3, C6 nebo S3. Klasický ESP32 s Tensilica jádrem <strong>není</strong> podporován, kvůli OTA partition table requirementům. ESP8266 je mimo hru kvůli paměti.</p>
<p>Reálná spotřeba zdrojů podle oficiální dokumentace:</p>
<pre><code>RAM:   59,7 %  (196 KB z 320 KB)
Flash: 51,4 %  (1,3 MB z 2,5 MB)</code></pre>
<p>To je dost, ale ne na hraně. Zhruba 40 % RAM zbývá pro vaše vlastní rozšíření. Setup portal a webové GUI sedí v PROGMEM, takže RAM nežerou.</p>
<p>Doporučená volba je ESP32-C6 DevKit. Cena se v Číně pohybuje kolem 5–10 dolarů, RISC-V jádro je rychlé a WS2812B onboard LED rovnou slouží jako vestavěný actuator. ESP32-S3 dává smysl tam, kde plánujete složitější rule chains a chcete víc paměti.</p>
<h2>Pravidla v praxi</h2>
<p>Rule engine je dost expresivní. Pravidlo se skládá ze senzoru, podmínky (<code>gt</code>, <code>lt</code>, <code>eq</code> a další), prahu a akce. Vestavěných virtuálních senzorů je hned několik: <code>chip_temp</code> z interního čidla, <code>clock_hour</code>, <code>clock_minute</code> a chytrý <code>clock_hhmm</code>. Posledně jmenovaný kóduje čas jako <code>hodina × 100 + minuta</code>, takže 10:12 = 1012. Najednou jde plánovat přes prostou <code>eq</code> podmínku bez nutnosti řešit dvě pole zvlášť. Elegantní hack.</p>
<p>Akce zahrnují <code>led_set</code> (RGB LED), <code>gpio_write</code>, <code>telegram</code>, <code>nats_publish</code> a <code>serial_send</code>. V textových akcích funguje placeholder substituce: do zprávy můžete napsat <code>&quot;Teplota čipu: {chip_temp}°C&quot;</code> a engine to vyrenderuje z živých dat. Bez LLM, přímo v rule loopu.</p>
<p>Pokročilejší trik je rule chaining: jedno LLM volání může vytvořit multi-step sekvenci s non-blocking delays. Spustí se Telegram alert, po pěti sekundách se rozsvítí červená LED, po deseti se zhasne a publikuje se zpráva na NATS. Mezitím engine paralelně vyhodnocuje ostatní pravidla.</p>
<p>Co u všech těchto testovaných modelů funguje, a co ne, stojí za pozornost. Gemini 2.5 Flash zvládá chains excelentně za zhruba 4 sekundy. Claude Sonnet 4.5 taky, ale potřebuje 10 sekund. Qwen 2.5 7B selhává: chybějící kroky, špatné delays, někdy přímo syntax errors. Pokud vás zajímá cost/perf pro běžný hobby use, Gemini Flash přes OpenRouter je sweet spot.</p>
<h2>NATS jako páteř</h2>
<p>Tady WireClaw zachází dál než většina podobných projektů. NATS, lehký pub/sub broker, je integrovaný ve třech vrstvách.</p>
<p>První vrstva: <strong>virtuální senzory</strong>. Vytvoříte senzor typu <code>nats_value</code> se subscribe na subject, třeba <code>home.room.temp</code>. Cokoliv, co umí na NATS publishovat (Python skript, Home Assistant, jiný WireClaw, průmyslový PLC), najednou dodává data do rule enginu.</p>
<p>Druhá vrstva: <strong>tool-call protokol</strong>. Externí AI agent (nemusí to být OpenClaw, stačí jakýkoli NATS klient) může volat 19 dostupných nástrojů přímo na ESP32, bez nutnosti budit lokální LLM. Latence se podle landing page pohybuje kolem 30 milisekund. Číslo z marketingu, ale architekturou to dává smysl.</p>
<p>Třetí vrstva, <strong>HAL</strong> (Hardware Abstraction Layer), je nejnižší. Žádný LLM, žádný JSON. Pevně definované subjects typu <code>{device}.hal.gpio.5.set</code> s payloadem <code>&quot;1&quot;</code> a odpovědí <code>&quot;ok&quot;</code>. Pro programy v Pythonu nebo Go, které potřebují deterministickou latenci, je tohle správná vrstva. Tight loop přes ESP32 z notebooku, žádný overhead.</p>
<p>A pak je tu <code>remote_chat</code> — tool, kterým se jeden WireClaw může ptát druhého, jako by si chatovali. Edge AI mesh s federovaným reasoningem. Trochu sci-fi, ale funkční.</p>
<h2>Kde to narazí</h2>
<p>Žádný projekt není bez háčků a u WireClawa stojí za to vědět o pár věcech předem.</p>
<p>Tu hlavní jsem už zmínil: <strong>klasický ESP32 ne</strong>. Pokud máte zásobu starších DevKitů, smůla. Buď port, nebo nákup nových C3/C6/S3 boardů.</p>
<p>Bezpečnost. Setup portal je captive portal <strong>bez autentizace</strong>. Web GUI po setup taky bez autentizace. Kdokoli v LAN si může změnit system prompt (čili jailbreak agenta), upravit persistent memory nebo smazat pravidla. API key sedí na flashi v plaintextu. Pro lab a hobby OK, pro produkci to chce VLAN izolaci a u Telegram bota strict spending limit na OpenRouter účtu.</p>
<p>Conversation history je čtyřtahový kruhový buffer plus 512 bytů persistent memory. Agent si nepamatuje hlubší kontext, jen poslední pár výměn. Pro chat o teplotě dobré, pro komplexnější dialog málo.</p>
<p>A poslední věc: rule loop běží &quot;každou iterací loop()&quot;. Frekvence není v dokumentaci uvedená. Pro motorické řízení, audio nebo cokoli, kde záleží na sub-milisekundové determinističnosti, sáhněte po přímém low-level firmware. WireClaw je orchestrátor, ne real-time kontrolér.</p>
<h2>Komu to dává smysl</h2>
<p>WireClaw cílí na úzkou komunitu: bastlíře, kteří mají ESP32 v šuplíku a chtějí experimentovat s AI agenty bez nutnosti stavět cloudovou infrastrukturu. Pro lab automatizaci, kde Home Assistant je overkill, pro distribuovanou senzor mesh, pro vzdělávací demo.</p>
<p>Komunita je zatím malá. Patnáct hvězdiček, čtyři forky, žádné formální release. Záleží na jediném vývojáři. To se časem může změnit, ale dneska to ovlivňuje, jak hluboko se do toho pouštět.</p>
<p>Pokud máte ESP32-C6 v šuplíku a hodinu času, web flasher na <a href="https://wireclaw.io/flash.html">wireclaw.io/flash.html</a> udělá zbytek. Chrome nebo Edge kvůli WebSerial API, kabel, OpenRouter API key, a za pár minut si můžete přes Telegram říct prvnímu vlastnímu edge agentovi, co má sledovat.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F05%2F12%2Fwireclaw-esp32-jako-ai-agent-ktery-vam-neshodi-topeni-kdyz-spadne-internet%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/05/12/wireclaw-esp32-jako-ai-agent-ktery-vam-neshodi-topeni-kdyz-spadne-internet/">WireClaw: ESP32 jako AI agent, který vám neshodí topení, když spadne internet</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
