<?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>návod - Hard Wired</title>
	<atom:link href="https://www.hardwired.dev/tag/navod/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hardwired.dev</link>
	<description></description>
	<lastBuildDate>Sat, 17 Oct 2026 10:30:35 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://www.hardwired.dev/wp-content/uploads/2022/10/android-chrome-256x256-1-150x150.png</url>
	<title>návod - Hard Wired</title>
	<link>https://www.hardwired.dev</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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>Meta Hack Quest 3</title>
		<link>https://www.hardwired.dev/2025/11/10/meta-hack-quest-3/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Mon, 10 Nov 2025 13:19:01 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Android VR]]></category>
		<category><![CDATA[App Lab]]></category>
		<category><![CDATA[Developer Mode]]></category>
		<category><![CDATA[Doom]]></category>
		<category><![CDATA[Doom3Quest]]></category>
		<category><![CDATA[Duke Nukem]]></category>
		<category><![CDATA[Game Ports]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Half-Life]]></category>
		<category><![CDATA[HardWired]]></category>
		<category><![CDATA[Jedi Knight]]></category>
		<category><![CDATA[Klasické hry]]></category>
		<category><![CDATA[Lambda1VR]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Meta Quest]]></category>
		<category><![CDATA[Meta Quest 2]]></category>
		<category><![CDATA[Meta Quest 3]]></category>
		<category><![CDATA[návod]]></category>
		<category><![CDATA[Oculus]]></category>
		<category><![CDATA[Quake]]></category>
		<category><![CDATA[QuakeQuest]]></category>
		<category><![CDATA[RazeXR]]></category>
		<category><![CDATA[Retro Gaming]]></category>
		<category><![CDATA[Return to Castle Wolfenstein]]></category>
		<category><![CDATA[Režim vývojáře]]></category>
		<category><![CDATA[Sideloading]]></category>
		<category><![CDATA[SideQuest]]></category>
		<category><![CDATA[Standalone VR]]></category>
		<category><![CDATA[Steam VR]]></category>
		<category><![CDATA[Team Beef]]></category>
		<category><![CDATA[Tech Tutorial]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Virtual Reality]]></category>
		<category><![CDATA[VR]]></category>
		<category><![CDATA[VR Gaming]]></category>
		<category><![CDATA[VR Headset]]></category>
		<category><![CDATA[VR Hry]]></category>
		<category><![CDATA[VR Modding]]></category>
		<category><![CDATA[VR Porty]]></category>
		<category><![CDATA[VR Tutorial]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=2864</guid>

					<description><![CDATA[<p>Odemkněte plný potenciál vašeho Meta Questu Když jsem si pořídil Meta Quest 3, byl jsem nadšený. Moderní VR headset s &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2025/11/10/meta-hack-quest-3/">Meta Hack Quest 3</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>Odemkněte plný potenciál vašeho Meta Questu</h1>
<p>Když jsem si pořídil Meta Quest 3, byl jsem nadšený. Moderní VR headset s vynikajícími parametry, standalone zařízení bez nutnosti PC – znělo to jako splněný sen. Vybalil jsem ho, zapnul, prošel úvodním nastavením a... pak přišlo zklamání.</p>
<p>Čekal jsem, že budu moct dělat základní věci hned po vybalení. Nahrát si vlastní videa z PC do headsetu? Nelze. Instalovat aplikace mimo Meta Store? Zapomenuto. Přenést si vlastní soubory? Ani náhodou. Meta Quest je ve výchozím stavu uzavřený ekosystém, který vás nutí používat pouze to, co Meta povolí.</p>
<p>Docela mě zarazilo, že ani tak triviální věc jako kopírování vlastních videí do headsetu není možná bez dalších kroků. Headset s 512 GB úložiště, ale nemůžete do něj nahrát vlastní obsah? To přece nedává smysl!</p>
<p>Naštěstí existuje řešení: <strong>Režim vývojáře</strong>. A právě ten mění Meta Quest z uzavřené krabice na skutečně univerzální VR zařízení.</p>
<h2>Co je režim vývojáře a proč ho potřebujete?</h2>
<p>Režim vývojáře (Developer Mode) je funkce Meta Questu, která umožňuje instalaci aplikací z neoficiálních zdrojů – proces známý jako &quot;sideloading&quot;. Bez aktivace tohoto režimu jste omezeni pouze na aplikace dostupné v oficiálním Meta Store a nemůžete s headsetem volně pracovat jako s běžným Android zařízením (což Quest ve skutečnosti je).</p>
<p>S režimem vývojáře získáte přístup k:</p>
<ul>
<li><strong>Správě souborů</strong> – konečně můžete nahrávat vlastní videa, hudbu a další obsah</li>
<li><strong>VR portům klasických her</strong> od Team Beef – Half-Life, Doom, Quake a další legendy ve VR</li>
<li><strong>Experimentálním aplikacím</strong> a hrám v raném vývoji</li>
<li><strong>Modifikacím a rozšířením</strong> pro existující hry</li>
<li><strong>Vývojářským nástrojům</strong> pro vlastní projekty</li>
</ul>
<p>Nebojte se – aktivace režimu vývojáře je zcela legální a bezpečná. Meta tento proces oficiálně podporuje. Je to jen zbytečně schované a komplikované, aby běžní uživatelé zůstali v jejich uzavřeném ekosystému.</p>
<hr />
<h2>Část 1: Aktivace režimu vývojáře</h2>
<p>Aktivace režimu vývojáře je jednorázový proces, který zabere přibližně 10-15 minut.</p>
<h3>Krok 1: Vytvoření vývojářské organizace</h3>
<ol>
<li>Otevřete webový prohlížeč a přejděte na <strong><a href="https://dashboard.oculus.com">dashboard.oculus.com</a></strong></li>
<li>Přihlaste se pomocí svého Meta účtu (stejný účet, který používáte v Questu)</li>
<li>Systém vás vyzve k vytvoření &quot;organizace&quot;</li>
<li>Zadejte libovolný název – může to být vaše jméno, přezdívka nebo cokoliv jiného (musí být unikátní)</li>
<li>Tento název už nikdy nebudete potřebovat, slouží pouze pro registraci</li>
</ol>
<h3>Krok 2: Ověření účtu</h3>
<p>Pro dokončení registrace musíte ověřit svůj Meta účet jedním z následujících způsobů:</p>
<p><strong>Možnost A: Dvoufaktorové ověření (doporučeno)</strong></p>
<ul>
<li>Přejděte do nastavení zabezpečení Meta účtu</li>
<li>Aktivujte dvoufaktorové ověření (2FA) pomocí <strong>telefonního čísla</strong></li>
<li>Obdržíte ověřovací kód přes SMS</li>
<li>Zadejte kód pro dokončení ověření</li>
</ul>
<p><strong>Možnost B: Platební metoda</strong></p>
<ul>
<li>Přidejte platební kartu do svého Meta účtu</li>
<li>Není nutné nic kupovat, karta slouží pouze k ověření identity</li>
</ul>
<blockquote>
<p><strong>Poznámka:</strong> Autentizační aplikace (Google Authenticator, Authy apod.) často nestačí. Meta vyžaduje ověření přes SMS nebo platební kartu.</p>
</blockquote>
<h3>Krok 3: Aktivace v mobilní aplikaci</h3>
<ol>
<li>Spusťte aplikaci <strong>Meta Quest</strong> na svém telefonu (Android/iOS)</li>
<li>Klikněte na ikonu <strong>Menu</strong> (tři vodorovné čárky) nebo ikonu profilu</li>
<li>Vyberte <strong>Zařízení</strong></li>
<li>Klikněte na svůj headset (<strong>Quest 3</strong> nebo <strong>Quest 2</strong>)</li>
<li>Přejděte do <strong>Nastavení headsetu</strong></li>
<li>Najděte možnost <strong>Režim vývojáře</strong> (Developer Mode)</li>
<li>Přepněte přepínač do polohy <strong>ZAPNUTO</strong></li>
</ol>
<p>Gratulujeme! Váš headset je nyní připraven pro sideloading aplikací.</p>
<hr />
<h2>Část 2: Instalace a nastavení SideQuestu</h2>
<p>SideQuest je nejpopulárnější nástroj pro správu a instalaci neoficiálních aplikací na Meta Quest. Funguje jako alternativní obchod s aplikacemi a zároveň jako správce souborů.</p>
<h3>Instalace SideQuestu na PC</h3>
<ol>
<li>Navštivte oficiální stránku <strong><a href="https://sidequestvr.com/setup-howto">sidequestvr.com/setup-howto</a></strong></li>
<li>Stáhněte <strong>Advanced Installer</strong> pro váš operační systém:
<ul>
<li>Windows (64-bit)</li>
<li>macOS (Intel nebo Apple Silicon)</li>
<li>Linux (AppImage nebo .deb)</li>
</ul>
</li>
<li>Spusťte instalátor a postupujte podle pokynů</li>
<li>Po dokončení instalace spusťte aplikaci SideQuest</li>
</ol>
<h3>Připojení Meta Questu k počítači</h3>
<ol>
<li>Připravte si <strong>USB kabel</strong> (ideálně USB 3.0 nebo USB-C pro rychlejší přenos)</li>
<li>Nasaďte si headset</li>
<li>Připojte Quest k počítači pomocí USB kabelu</li>
<li>V headsetu se zobrazí výzva <strong>&quot;Povolit ladění USB?&quot;</strong> (Allow USB Debugging)</li>
<li>Zaškrtněte možnost <strong>&quot;Vždy povolit z tohoto počítače&quot;</strong></li>
<li>Potvrďte tlačítkem <strong>&quot;Povolit&quot;</strong> nebo <strong>&quot;Allow&quot;</strong></li>
</ol>
<h3>Kontrola připojení</h3>
<p>V aplikaci SideQuest na PC byste měli vidět:</p>
<ul>
<li><strong>Zelenou tečku</strong> v levém horním rohu</li>
<li>Informace o vašem headsetu (model, verze firmware)</li>
<li>Dostupné úložiště</li>
</ul>
<p>Pokud se tečka nerozsvítí zeleně, zkuste:</p>
<ul>
<li>Odpojit a znovu připojit USB kabel</li>
<li>Použít jiný USB port (preferujte USB 3.0)</li>
<li>Restartovat SideQuest</li>
<li>Restartovat headset</li>
</ul>
<hr />
<h2>Část 3: Instalace Team Beef portů</h2>
<p>Team Beef je skupina vývojářů, kteří portují klasické PC hry do nativní VR podoby pro Meta Quest. Jejich porty jsou <strong>zcela zdarma</strong>, ale vyžadují, abyste vlastnili originální hru na PC.</p>
<h3>Jak funguje instalace portů?</h3>
<p>Proces se skládá ze dvou částí:</p>
<ol>
<li><strong>Instalace VR loaderu</strong> (aplikace, která hru spustí ve VR)</li>
<li><strong>Přenos herních dat</strong> z vaší PC verze hry</li>
</ol>
<h3>Krok za krokem: Instalace portu</h3>
<h4>1. Najděte port v SideQuestu</h4>
<ul>
<li>V aplikaci SideQuest klikněte na <strong>Search</strong> (vyhledávání)</li>
<li>Zadejte název hry nebo &quot;Team Beef&quot;</li>
<li>Nebo přejděte do sekce <strong>&quot;Game Ports&quot;</strong> v levém menu</li>
</ul>
<h4>2. Instalace základní aplikace</h4>
<ul>
<li>Klikněte na vybraný port (např. &quot;Doom3Quest&quot; nebo &quot;Lambda1VR&quot;)</li>
<li>Přečtěte si popis a požadavky</li>
<li>Klikněte na tlačítko <strong>&quot;Sideload&quot;</strong> nebo <strong>&quot;Install to Headset&quot;</strong></li>
<li>Počkejte na dokončení instalace (obvykle 1-2 minuty)</li>
</ul>
<h4>3. Přenos herních souborů</h4>
<p>Toto je <strong>nejdůležitější krok</strong>. Každý port vyžaduje specifické soubory z originální hry.</p>
<p><strong>Manuální metoda:</strong></p>
<ol>
<li>Na PC najděte instalační složku hry (obvykle v Steam: <code>C:\Program Files (x86)\Steam\steamapps\common\[název hry]</code>)</li>
<li>V SideQuestu otevřete <strong>File Manager</strong> (správce souborů)</li>
<li>Najděte složku portu (např. <code>/sdcard/Doom3Quest/</code>)</li>
<li>Zkopírujte požadované soubory (seznam najdete na stránce portu)</li>
</ol>
<p><strong>Automatická metoda (doporučeno):</strong></p>
<ul>
<li>Mnoho portů nyní nabízí <strong>automatickou instalaci dat</strong></li>
<li>V SideQuestu klikněte na <strong>&quot;Install Game Files&quot;</strong></li>
<li>Vyberte složku s PC hrou</li>
<li>SideQuest automaticky zkopíruje potřebné soubory</li>
</ul>
<h4>4. Spuštění hry v Questu</h4>
<ol>
<li>Odpojte headset od PC</li>
<li>V Questu otevřete <strong>Knihovnu aplikací</strong> (App Library)</li>
<li>V pravém horním rohu přepněte filtr na <strong>&quot;Neznámé zdroje&quot;</strong> (Unknown Sources)</li>
<li>Najděte nainstalovaný port a spusťte ho</li>
<li>Užijte si klasickou hru v plné VR slávě!</li>
</ol>
<hr />
<h2>Doporučené Team Beef porty</h2>
<p>Na základě hodnocení komunity a kvality portů jsme vybrali nejlepší tituly, které byste měli vyzkoušet:</p>
<h3>Top tier porty (must-have)</h3>
<h4>Lambda1VR - Half-Life</h4>
<ul>
<li><strong>Hodnocení:</strong> 4.8/5 (377 recenzí)</li>
<li><strong>Požadavky:</strong> Half-Life na Steamu</li>
<li><strong>Proč hrát:</strong> Ikonická FPS hra v plné VR podobě s intuitivním ovládáním. Fyzikální interakce a VR mechaniky dodávají staré hře nový rozměr.</li>
</ul>
<h4>Doom3Quest</h4>
<ul>
<li><strong>Hodnocení:</strong> 4.7/5 (301 recenzí)</li>
<li><strong>Požadavky:</strong> Doom 3 (Steam nebo GOG)</li>
<li><strong>Proč hrát:</strong> Hororová atmosféra Doom 3 je ve VR ještě intenzivnější. Vynikající optimalizace a grafika.</li>
</ul>
<h4>Return to Castle Wolfenstein: VR</h4>
<ul>
<li><strong>Hodnocení:</strong> 4.6/5</li>
<li><strong>Požadavky:</strong> Return to Castle Wolfenstein</li>
<li><strong>Proč hrát:</strong> Klasický WW2 shooter s výbornou VR implementací. Akční gameplay a nostalgická atmosféra.</li>
</ul>
<h3>Skvělé porty</h3>
<h4>QuestZDoom</h4>
<ul>
<li><strong>Hodnocení:</strong> 4.4/5 (273 recenzí)</li>
<li><strong>Požadavky:</strong> Doom, Doom 2 (WAD soubory)</li>
<li><strong>Proč hrát:</strong> Hraje všechny Doom hry a tisíce komunitních modů. Nekonečná zábava.</li>
</ul>
<h4>QuakeQuest</h4>
<ul>
<li><strong>Požadavky:</strong> Quake (Steam nebo GOG)</li>
<li><strong>Proč hrát:</strong> První Quake ve VR s plnou podporou modů a rozšíření.</li>
</ul>
<h4>Quake2Quest</h4>
<ul>
<li><strong>Požadavky:</strong> Quake 2</li>
<li><strong>Proč hrát:</strong> Vylepšená grafika a plynulý gameplay. Skvělý port kultovní hry.</li>
</ul>
<h4>JK XR - Jedi Knight Series</h4>
<ul>
<li><strong>Požadavky:</strong> Jedi Knight 2: Jedi Outcast nebo Jedi Academy</li>
<li><strong>Proč hrát:</strong> Mávání světelným mečem ve VR je nezapomenutelný zážitek. Síla je s vámi!</li>
</ul>
<h4>RazeXR</h4>
<ul>
<li><strong>Požadavky:</strong> Duke Nukem 3D, Blood, Redneck Rampage nebo Powerslave</li>
<li><strong>Proč hrát:</strong> Jeden port pro čtyři klasické Build Engine hry. Výborná hodnota.</li>
</ul>
<h3>Skryté perly</h3>
<h4>Serious Sam VR</h4>
<ul>
<li><strong>Požadavky:</strong> Serious Sam: The First Encounter nebo The Second Encounter</li>
<li><strong>Proč hrát:</strong> Chaotická akce s desítkami nepřátel na obrazovce. Adrenalinová jízda.</li>
</ul>
<h4>OpenMW VR (Morrowind)</h4>
<ul>
<li><strong>Požadavky:</strong> The Elder Scrolls III: Morrowind</li>
<li><strong>Proč hrát:</strong> Celý Morrowind ve VR. Stovky hodin RPG zábavy.</li>
</ul>
<hr />
<h2>Screenshoty a vizuální průvodce</h2>
<h3>Aktivace režimu vývojáře</h3>
<p><img decoding="async" src="https://www.uploadvr.com/content/images/2023/10/meta-quest-developer-mode.jpg" alt="Meta Quest Developer Mode" /><br />
<em>Přepínač režimu vývojáře v mobilní aplikaci Meta Quest - jednoduše přepněte na ZAPNUTO</em></p>
<p><img decoding="async" src="https://www.uploadvr.com/content/images/2022/09/oculus-developer-dashboard.jpg" alt="Organization Setup" /><br />
<em>Vytvoření organizace na dashboard.oculus.com - stačí zadat libovolný unikátní název</em></p>
<h3>SideQuest rozhraní</h3>
<p><img decoding="async" src="https://www.uploadvr.com/content/images/2020/05/sidequest-interface.jpg" alt="SideQuest Interface" /><br />
<em>SideQuest s úspěšně připojeným headsetem - zelená tečka v levém horním rohu znamená aktivní připojení</em></p>
<p><img decoding="async" src="https://cdn.sidequestvr.com/file/422616/brown_on_offwhite.png" alt="Team Beef Logo" /><br />
<em>Logo Team Beef - tvůrci nejlepších VR portů klasických her</em></p>
<p><img decoding="async" src="https://cdn.sidequestvr.com/file/421589/11600.jpg" alt="Team Beef Ports Library" /><br />
<em>Lambda1VR - Half-Life v knihovně SideQuestu s vysokým hodnocením 4.8/5</em></p>
<h3>Instalace her</h3>
<p><img decoding="async" src="https://cdn.sidequestvr.com/file/72242/doom3quest_bannerjpg.jpg" alt="Doom3Quest Banner" /><br />
<em>Doom3Quest - jeden z nejlepších portů Team Beef s hodnocením 4.7/5</em></p>
<p><img decoding="async" src="https://cdn.sidequestvr.com/file/71739/doom3quest_bannerjpg.jpg" alt="Lambda1VR Gameplay" /><br />
<em>Ukázka VR portů Team Beef - profesionální kvalita a optimalizace</em></p>
<p><img decoding="async" src="https://www.uploadvr.com/content/images/2021/07/sidequest-file-browser.jpg" alt="File Manager" /><br />
<em>Správce souborů v SideQuestu - zde kopírujete herní data z PC do headsetu</em></p>
<h3>Hry v akci</h3>
<p><img decoding="async" src="https://www.uploadvr.com/content/images/2019/07/half-life-vr-quest.jpg" alt="Half-Life VR Gameplay" /><br />
<em>Lambda1VR - Half-Life ve virtuální realitě s plnou podporou VR ovladačů a fyzikálních interakcí</em></p>
<p><img decoding="async" src="https://cdn.sidequestvr.com/file/74917/doom3questpng.png" alt="Doom 3 VR Gameplay" /><br />
<em>Doom3Quest - hororová atmosféra v plné síle s dynamickým osvětlením a stíny</em></p>
<p><img decoding="async" src="https://cdn.sidequestvr.com/file/8647/5.jpg" alt="Team Beef Collection" /><br />
<em>Kolekce Team Beef portů - desítky klasických her přenesených do VR</em></p>
<p><img decoding="async" src="https://www.uploadvr.com/content/images/2020/05/quest-unknown-sources.jpg" alt="Unknown Sources" /><br />
<em>Filtr &quot;Neznámé zdroje&quot; v knihovně aplikací - zde najdete všechny sideloadované hry</em></p>
<hr />
<h2>Časté problémy a jejich řešení</h2>
<h3>SideQuest nevidí headset</h3>
<p><strong>Řešení:</strong></p>
<ul>
<li>Zkontrolujte, zda jste povolili USB ladění v headsetu</li>
<li>Zkuste jiný USB kabel nebo port</li>
<li>Restartujte SideQuest i headset</li>
<li>Na Windows: nainstalujte Oculus ADB drivers</li>
</ul>
<h3>Hra se nespustí nebo crashuje</h3>
<p><strong>Řešení:</strong></p>
<ul>
<li>Ověřte, že jste zkopírovali všechny požadované soubory</li>
<li>Zkontrolujte, zda máte správnou verzi hry (Steam vs GOG)</li>
<li>Přečtěte si poznámky k portu na SideQuestu</li>
<li>Zkuste přeinstalovat port</li>
</ul>
<h3>Špatný výkon nebo nízké FPS</h3>
<p><strong>Řešení:</strong></p>
<ul>
<li>Snižte grafické nastavení ve hře</li>
<li>Zavřete ostatní aplikace běžící na pozadí</li>
<li>Restartujte headset</li>
<li>Některé porty mají nastavení výkonu v menu</li>
</ul>
<h3>Chybí zvuk</h3>
<p><strong>Řešení:</strong></p>
<ul>
<li>Zkontrolujte nastavení zvuku v headsetu</li>
<li>Některé porty vyžadují specifické audio soubory</li>
<li>Přečtěte si FAQ na stránce portu</li>
</ul>
<hr />
<h2>Tipy pro nejlepší zážitek</h2>
<h3>Optimalizace výkonu</h3>
<ol>
<li><strong>Pravidelně restartujte headset</strong> - zlepšuje výkon a stabilitu</li>
<li><strong>Uvolněte úložiště</strong> - nechte alespoň 10 GB volného místa</li>
<li><strong>Aktualizujte firmware</strong> - nové verze často přinášejí vylepšení</li>
<li><strong>Vypněte Guardian při hraní vsedě</strong> - snižuje zátěž systému</li>
</ol>
<h3>Komfort při hraní</h3>
<ol>
<li><strong>Nastavte IPD</strong> (vzdálenost mezi zornicemi) pro nejostřejší obraz</li>
<li><strong>Používejte kvalitní sluchátka</strong> pro lepší imerzi</li>
<li><strong>Dělejte přestávky</strong> každých 30-60 minut</li>
<li><strong>Vyčistěte čočky</strong> mikrovláknovým hadříkem</li>
</ol>
<h3>Bezpečnost</h3>
<ol>
<li><strong>Zálohujte důležitá data</strong> před experimentováním</li>
<li><strong>Stahujte porty pouze z oficiálního SideQuestu</strong></li>
<li><strong>Čtěte recenze</strong> před instalací neznámých aplikací</li>
<li><strong>Neinstalujte pirátské hry</strong> - podporujte vývojáře</li>
</ol>
<hr />
<h2>Další možnosti sideloadingu</h2>
<h3>App Lab</h3>
<p>App Lab je oficiální platforma Meta pro hry v raném přístupu. Aplikace jsou dostupné přímo v Meta Store, ale nejsou zobrazeny v hlavním katalogu.</p>
<p><strong>Jak získat App Lab hry:</strong></p>
<ol>
<li>Najděte odkaz na App Lab hru (např. na SideQuestu)</li>
<li>Otevřete odkaz v mobilní aplikaci Meta Quest</li>
<li>Klikněte na &quot;Get&quot; nebo &quot;Získat&quot;</li>
<li>Hra se nainstaluje jako běžná aplikace z obchodu</li>
</ol>
<h3>Itch.io VR hry</h3>
<p>Mnoho indie vývojářů publikuje VR hry na platformě Itch.io.</p>
<p><strong>Instalace:</strong></p>
<ol>
<li>Stáhněte APK soubor z Itch.io</li>
<li>V SideQuestu klikněte na &quot;Install APK file&quot;</li>
<li>Vyberte stažený soubor</li>
<li>Hra se nainstaluje do Questu</li>
</ol>
<hr />
<h2>Závěr</h2>
<p>Aktivace režimu vývojáře a instalace Team Beef portů otevírá zcela nový svět možností pro váš Meta Quest. Můžete si užít desítky klasických her v moderní VR podobě, často s lepší grafikou a novými herními mechanikami.</p>
<p>Proces může na první pohled vypadat složitě, ale ve skutečnosti je to otázka 20-30 minut jednorázového nastavení. Poté už jen stačí vybrat hru, zkopírovat soubory a ponořit se do virtuální reality.</p>
<h3>Co dál?</h3>
<ul>
<li><strong>Prozkoumejte SideQuest</strong> - najdete tam stovky dalších aplikací a her</li>
<li><strong>Sledujte Team Beef</strong> - pravidelně vydávají nové porty</li>
<li><strong>Připojte se ke komunitě</strong> - na Redditu (r/OculusQuest) nebo Discordu najdete tipy a pomoc</li>
<li><strong>Experimentujte s mody</strong> - mnoho portů podporuje komunitní modifikace</li>
</ul>
<hr />
<p><strong>Autor:</strong> Valentino Hesse<br />
<strong>Datum publikace:</strong> 10. listopadu 2025<br />
<strong>Kategorie:</strong> VR Gaming, Návody<br />
<strong>Tagy:</strong> Meta Quest, VR, Gaming, Tutorial, Team Beef, SideQuest, Developer Mode, Half-Life, Doom, Quake</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2025%2F11%2F10%2Fmeta-hack-quest-3%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/2025/11/10/meta-hack-quest-3/">Meta Hack Quest 3</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Outline &#8211; selfhostovaná znalostní báze</title>
		<link>https://www.hardwired.dev/2025/09/27/outline-selfhostovana-znalostni-baze/</link>
		
		<dc:creator><![CDATA[John Doe]]></dc:creator>
		<pubDate>Sat, 27 Sep 2025 19:59:00 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Různé]]></category>
		<category><![CDATA[.env]]></category>
		<category><![CDATA[autentizace]]></category>
		<category><![CDATA[databáze]]></category>
		<category><![CDATA[dex]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[docker-compose]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[in-memory databáze]]></category>
		<category><![CDATA[konfigurace]]></category>
		<category><![CDATA[kontejnerizace]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linxu]]></category>
		<category><![CDATA[návod]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[Nginx konfigurace]]></category>
		<category><![CDATA[notion]]></category>
		<category><![CDATA[oidc]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OpenID Connect]]></category>
		<category><![CDATA[outline]]></category>
		<category><![CDATA[postgres]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[přihlašování]]></category>
		<category><![CDATA[redis]]></category>
		<category><![CDATA[reverse-proxy]]></category>
		<category><![CDATA[reverzní proxy]]></category>
		<category><![CDATA[self-hosting]]></category>
		<category><![CDATA[selfhosted]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[YAML]]></category>
		<category><![CDATA[znalostní báze]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=2836</guid>

					<description><![CDATA[<p>Takovej selfhosting Notionu bez fancy tabulek. Outline je open-source nástroj pro tvorbu a správu interní dokumentace a znalostních bází. Použité &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2025/09/27/outline-selfhostovana-znalostni-baze/">Outline – selfhostovaná znalostní báze</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>Takovej selfhosting Notionu bez fancy tabulek.<br />
<a href="https://www.getoutline.com">Outline</a> je open-source nástroj pro tvorbu a správu interní dokumentace a znalostních bází.</p>
<p><span id="more-2836"></span></p>
<h2>Použité technologie</h2>
<h3>Nginx</h3>
<p>Nginx je výkonný webový server a reverzní proxy, který se používá pro obsluhu statického obsahu, směrování požadavků na backend služby a vyvažování zátěže. Je známý svou rychlostí, nízkou spotřebou paměti a spolehlivostí při vysoké zátěži.</p>
<h3>Outline</h3>
<p><a href="https://www.getoutline.com">Outline</a> je open-source nástroj pro tvorbu a správu interní dokumentace a znalostních bází. Poskytuje jednoduché a přehledné uživatelské rozhraní pro týmovou spolupráci, verzování a rychlé vyhledávání obsahu.</p>
<h3>Dex</h3>
<p><a href="https://dexidp.io">Dex</a> je open-source identitní služba, která funguje jako „OpenID Connect“ provider. Slouží k centralizovanému ověřování uživatelů a umožňuje propojit různé aplikace s externími identity providery (např. Google, GitHub nebo LDAP).</p>
<h3>Postgres</h3>
<p>PostgreSQL (Postgres) je pokročilý open-source relační databázový systém. Nabízí podporu pro komplexní dotazy, transakce, indexy, JSON data a rozšiřitelnost pomocí vlastních funkcí, čímž se hodí pro širokou škálu aplikací od menších po enterprise řešení.</p>
<h3>Redis</h3>
<p>Redis je in-memory databáze a cache systém, který umožňuje velmi rychlý přístup k datům. Často se používá pro ukládání relací, front, výsledků výpočtů nebo jako prostředník pro komunikaci mezi službami díky podpoře publikace a odběru zpráv (pub/sub).</p>
<h3>Docker / Docker Compose</h3>
<p>Docker je platforma pro kontejnerizaci aplikací, která umožňuje spouštět software izolovaně s veškerými závislostmi. Docker Compose pak usnadňuje definování a správu vícekontejnerových aplikací pomocí jednoduchého konfiguračního souboru.</p>
<h2>Diagram</h2>
<p><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/09/diagram.avif" alt="" /></p>
<h2>Postřehy</h2>
<h3>Outline</h3>
<p>Outline neumožňuje přihlašování pomocí uživatelského jména a hesla, což je poněkud nepříjemné. Musí se nakonfigurovat jedna z podporovaných služeb. Aplikace umí pracovat se Slack identitami, Google identitami a dalšími poskytovateli. Pokud nemůžete použít žádnou z těchto služeb, je tam naštěstí možnost Magic Link via Email. Je to sice nepříjemné, ale funkční řešení. Pokaždé, když se chcete přihlásit, pošle vám aplikace email s přihlašovacím odkazem. V mém setupu jsem se rozhodl použít Dex jako OIDC službu, přes kterou se mohu přihlašovat pomocí emailu a hesla.</p>
<h3>Dex</h3>
<p><a href="https://dexidp.io">Dex</a> je velmi minimalistický, takže nemá webové rozhraní. Navíc jeho dokumentace je hodně nekvalitní. Nejjednodušším způsobem, jak vše rozchodit, je přidat statického klienta a uživatele přímo do konfiguračního souboru. Musíte si ale vytvořit bcrypt hashovaná hesla. Vycházel jsem z tohoto <a href="https://mrkaran.dev/posts/setting-outline/">návodu</a>.</p>
<h3>SMTP</h3>
<p>Aby fungovalo odesílání emailů, je potřeba nakonfigurovat SMTP server. Pokud žádný po ruce nemáte, můžete použít váš Gmail účet. V nastavení Gmailu se musí vytvořit aplikační klíč, který se pak vloží do .env souboru do SMTP sekce.</p>
<h2>Setup</h2>
<h3>.env</h3>
<pre><code class="language-ini">URL=https://outline.&lt;domain.com&gt;
PORT=3050
WEB_CONCURRENCY=1
SECRET_KEY=&lt;secret key&gt;
UTILS_SECRET=&lt;utils secret&gt;
DATABASE_URL=postgres://outline:&lt;db password&gt;@outline-postgres:5432/outline
PGSSLMODE=disable

POSTGRES_USER=outline
POSTGRES_PASSWORD=&lt;db password&gt;
POSTGRES_DB=outline

REDIS_URL=redis://outline-redis:6379

FILE_STORAGE=local

FORCE_HTTPS=true

OIDC_CLIENT_ID=outline
OIDC_CLIENT_SECRET=&lt;oidc client secret&gt;
OIDC_AUTH_URI=https://auth.&lt;domain.com&gt;/dex/auth
OIDC_TOKEN_URI=http://dex:5556/dex/token
OIDC_USERINFO_URI=http://dex:5556/dex/userinfo
OIDC_USERNAME_CLAIM=email
OIDC_DISPLAY_NAME=OIDC Provider
OIDC_SCOPES=openid profile email

SMTP_SERVICE=gmail
SMTP_USERNAME=&lt;you&gt;@gmail.com
SMTP_PASSWORD=&quot;&lt;app code&gt;&quot;
SMTP_FROM_EMAIL=&lt;you&gt;@gmail.com

RATE_LIMITER_ENABLED=true
RATE_LIMITER_REQUESTS=1000
RATE_LIMITER_DURATION_WINDOW=60

ENABLE_UPDATES=true
DEBUG=http
LOG_LEVEL=info</code></pre>
<h3>DEX Config (config.yaml)</h3>
<pre><code class="language-yaml">issuer: https://auth.&lt;domain.com&gt;/dex

storage:
  type: sqlite3
  config:
    file: /var/dex/dex.db

web:
  http: 0.0.0.0:5556

staticClients:
  - id: outline
    redirectURIs:
      - &quot;https://outline.&lt;domain.com&gt;/auth/oidc.callback&quot;
    name: &quot;Knowledge Base&quot;
    secret: &lt;oidc client secret&gt;

oauth2:
  skipApprovalScreen: true

enablePasswordDB: true

staticPasswords:
  # Admin
  - email: &quot;&lt;admin&gt;@gmail.com&quot;
    hash: &quot;&lt;bcrypt password hash&gt;&quot;
    username: &quot;admin&quot;
    userID: &quot;admin-001&quot;

  - email: &quot;&lt;user&gt;@gmail.com&quot;
    hash: &quot;&lt;bcript password hash&gt;&quot;
    username: &quot;user&quot;
    userID: &quot;user-001&quot;

# Pro debug
logger:
  level: &quot;info&quot;
  format: &quot;text&quot;</code></pre>
<h3>Docker Compose</h3>
<pre><code class="language-yaml">services:
  outline:
    image: docker.getoutline.com/outlinewiki/outline:latest
    env_file: ./.env
    ports:
      - &quot;3050:3050&quot;
    expose:
      - &quot;3050&quot;
    volumes:
      - storage-data:/var/lib/outline/data
    depends_on:
      - outline-postgres
      - outline-redis

  outline-redis:
    image: redis
    env_file: ./.env
    expose:
      - &quot;6379&quot;
    volumes:
      - ./redis.conf:/redis.conf
    command: [&quot;redis-server&quot;, &quot;/redis.conf&quot;]
    healthcheck:
      test: [&quot;CMD&quot;, &quot;redis-cli&quot;, &quot;ping&quot;]
      interval: 10s
      timeout: 30s
      retries: 3

  outline-postgres:
    image: postgres
    env_file: ./.env
    expose:
      - &quot;5432&quot;
    volumes:
      - database-data:/var/lib/postgresql/data
    healthcheck:
      test: [&quot;CMD&quot;, &quot;pg_isready&quot;, &quot;-d&quot;, &quot;outline&quot;, &quot;-U&quot;, &quot;user&quot;]
      interval: 30s
      timeout: 20s
      retries: 3

  dex:
    image: dexidp/dex:v2.37.0
    ports:
      - &quot;5556:5556&quot;  # Vystaveno pro nginx proxy
    expose:
      - &quot;5556&quot;
    volumes:
      - ./dex-config:/etc/dex:ro  # Read-only mount konfigurace
      - dex-data:/var/dex         # Persistentni SQLite databáze
    command: [&quot;dex&quot;, &quot;serve&quot;, &quot;/etc/dex/config.yaml&quot;]
    healthcheck:
      test: [&quot;CMD&quot;, &quot;wget&quot;, &quot;--no-verbose&quot;, &quot;--tries=1&quot;, &quot;--spider&quot;, &quot;http://localhost:5556/dex/healthz&quot;]
      interval: 30s
      timeout: 10s
      retries: 3
    restart: unless-stopped

volumes:
  storage-data:
  database-data:
  dex-data:</code></pre>
<h3>Nginx</h3>
<h4>auth.<domain.com></h4>
<pre><code class="language-nginx">server {
    listen 80;
    server_name auth.&lt;domain.com&gt;;

    # P┼Öesm─Ťrov├ín├ş HTTP na HTTPS
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name auth.&lt;domain.com&gt;;

    # SSL certifik├íty (upravte cestu podle va┼í├ş konfigurace)
    ssl_certificate /etc/nginx/ssl/&lt;domain.com&gt;/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/&lt;domain.com&gt;/privkey.pem;

    # SSL konfigurace
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

    # Proxy nastaven├ş pro Home Assistant
    location / {
        proxy_pass http://&lt;service ip&gt;:5556;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &quot;upgrade&quot;;

        # Timeout nastaven├ş
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;

        # Buffering nastaven├ş
        proxy_buffering off;
        proxy_request_buffering off;
    }

    # Logov├ín├ş
    access_log /var/log/nginx/auth.&lt;domain.com&gt;.access.log;
    error_log /var/log/nginx/auth.&lt;domain.com&gt;.error.log;
}</code></pre>
<h4>outline.<domain.com></h4>
<pre><code class="language-nginx">server {
    listen 80;
    server_name outline.&lt;domain.com&gt;;

    # P┼Öesm─Ťrov├ín├ş HTTP na HTTPS
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name outline.&lt;domain.com&gt;;

    # SSL certifik├íty (upravte cestu podle va┼í├ş konfigurace)
    ssl_certificate /etc/nginx/ssl/&lt;domain.com&gt;/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/&lt;domain.com&gt;/privkey.pem;

    # SSL konfigurace
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

    # Proxy nastaven├ş pro Home Assistant
    location / {
        proxy_pass http://&lt;service ip&gt;:3050;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &quot;upgrade&quot;;

        # Timeout nastaven├ş
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;

        # Buffering nastaven├ş
        proxy_buffering off;
        proxy_request_buffering off;
    }

    # Logov├ín├ş
    access_log /var/log/nginx/outline.&lt;domain.com&gt;.access.log;
    error_log /var/log/nginx/outline.&lt;domain.com&gt;.error.log;
}</code></pre>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2025%2F09%2F27%2Foutline-selfhostovana-znalostni-baze%2F&#038;via=hessevalentino" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2025/09/27/outline-selfhostovana-znalostni-baze/">Outline – selfhostovaná znalostní báze</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Nulování počítadla kartáčkové hlavice Philips SoniCare</title>
		<link>https://www.hardwired.dev/2025/02/02/nulovani-pocitadla-kartackove-hlavice-philips-sonicare/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Sun, 02 Feb 2025 07:37:27 +0000</pubDate>
				<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[kartáčková hlavice]]></category>
		<category><![CDATA[návod]]></category>
		<category><![CDATA[NFC čip]]></category>
		<category><![CDATA[NFC Tools]]></category>
		<category><![CDATA[nulování počítadla]]></category>
		<category><![CDATA[Philips Sonicare]]></category>
		<category><![CDATA[reset]]></category>
		<category><![CDATA[reverzní inženýrství]]></category>
		<category><![CDATA[UID]]></category>
		<category><![CDATA[zubní kartáček]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=2618</guid>

					<description><![CDATA[<p>Nulování počítadla kartáčkové hlavice Philips SoniCare Jednoduchý návod pro každou lamu. V minulém článku jsme si řekli jak probíhalo reverzní &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2025/02/02/nulovani-pocitadla-kartackove-hlavice-philips-sonicare/">Nulování počítadla kartáčkové hlavice Philips SoniCare</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><h3>Nulování počítadla kartáčkové hlavice Philips SoniCare</h3>
<p>Jednoduchý návod pro každou lamu. V minulém článku jsme si řekli jak probíhalo reverzní inženýrství zubního elektrického kartáčku Philips SoniCare. Nyní si ukážeme jen jednoduchý ale podrobný návod jak na to. Zvládne to opravdu každý. </p>
<p>Nejprve budete potřebovat aplikaci  <strong>NFC Tools.</strong>  Jedná se o aplikaci pro práci s NFC čipem který je umístěn v samotné hlavici kartáčku. Aplikace je k dispozici buď pro <a href="https://apps.apple.com/us/app/nfc-tools/id1252962749">iOS</a> nebo <a href="https://play.google.com/store/apps/details?id=com.wakdev.wdnfc&amp;hl=cs">Android</a>.</p>
<p>Teď musíte najít UID hlavice kartáčku. K tomu použijte aplikaci NFC Tools. Využijeme funkci <strong>“Číst”</strong> Tady zjistíme základní informace. Pokud chcete vidět kompletní výpis karty, jdeme do menu <strong>Jiné/Others</strong> <strong>- Read - Edit memory</strong>  Tím získáte dlouhý seznam adres a jejich dat. Najdeme tam i své <strong>UID</strong> v prvních dvou řádcích. </p>
<p><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/02/nfcuid-1024x597.webp" alt="" /></p>
<p>Ve výše uvedeném snímku obrazovky je UID 04:03:47:7A:22:70:81. (Poslední bajt na první adrese je ignorován, protože se jedná o hodnotu BCC0 a nikoli část UID.)</p>
<p>Teďbudeme potřebovat kód produktu. Ten je vytištěn na spodní straně kovového ráfku na základně hlavy:</p>
<p><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/02/sonicareHead-1024x997.webp" alt="" /></p>
<p>Nebo to najdete zakódováno v ASCII na adresách 21 až 23 (ignorujte první 2 byty).</p>
<p><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/02/IMG_5734-1024x852.webp" alt="" /></p>
<p>Teď máme všechny potřebná data k vygenerovaní hesla pro odemčení a vymazaní čítače/počítadla doby používání kartáčkové hlavice.  Přejdeme na stránku SonicareGenerator a vygenerujeme jedinečný příkaz který obsahuje příkaz pro nastavení původní hodnoty a heslo (1B:61:F0:A5:0F,A2:24:00:00:02:00) pro reset hlavice kartáčku: </p>
<h3><a href="https://data.ok2hss.cz/SoniCracker/sonicrackare.html" title="Generátor hesel SONICARE"><strong>Generátor hesel SONICARE</strong></a></h3>
<p><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/02/Snimek-obrazovky-2025-02-01-v-12.59.11-1024x604.webp" alt="" /></p>
<p><a href="https://www.hardwired.dev/wp-content/uploads/2025/02/Snimek-obrazovky-2025-02-01-v-13.05.10-png.webp"><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/02/Snimek-obrazovky-2025-02-01-v-13.05.10-1024x287.webp" alt="" /></a></p>
<p>V NFC Tools aplikaci, přejdeme na <strong>“Advanced NFC commands”</strong> zadáme svůj konkrétní příkaz který nám vygeneroval <strong>Password Generátor</strong> do pole <strong>“Data”</strong> a odešlete jej do hlavice kartáčku. Hlava pro resetování získá původní hodnoty čítače/počítadla a můžeme používat další periodu. Toto můžeme opakovat do nekonečna ale doporučuji to u jedne čistíci hlavice udělat max 2x aby štětiny neztratili svoji pružnost a funkci.</p>
<p><a href="https://www.hardwired.dev/wp-content/uploads/2025/02/nfc_during-png.webp"><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/02/nfc_during-461x1024.webp" alt="" /></a></p>
<p>Svět by byl lepší místo, kdyby nenažrané korporace nešly jen po zisku.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2025%2F02%2F02%2Fnulovani-pocitadla-kartackove-hlavice-philips-sonicare%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/2025/02/02/nulovani-pocitadla-kartackove-hlavice-philips-sonicare/">Nulování počítadla kartáčkové hlavice Philips SoniCare</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Hack zubího kartáčku Philips SONICARE</title>
		<link>https://www.hardwired.dev/2025/02/01/hack-zubiho-kartacku-philips-sonicare/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Sat, 01 Feb 2025 12:41:17 +0000</pubDate>
				<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Různé]]></category>
		<category><![CDATA[Aaron Christophel]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[bezpečnost]]></category>
		<category><![CDATA[časovač]]></category>
		<category><![CDATA[čištění zubů]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[generátor hesel]]></category>
		<category><![CDATA[Gnuradio]]></category>
		<category><![CDATA[hacknutí]]></category>
		<category><![CDATA[HackRF]]></category>
		<category><![CDATA[heslo]]></category>
		<category><![CDATA[hlavice]]></category>
		<category><![CDATA[návod]]></category>
		<category><![CDATA[nfc]]></category>
		<category><![CDATA[NFC Tools]]></category>
		<category><![CDATA[NTAG213]]></category>
		<category><![CDATA[odposlouchávání]]></category>
		<category><![CDATA[péče o zuby]]></category>
		<category><![CDATA[Philips]]></category>
		<category><![CDATA[Philips Sonicare]]></category>
		<category><![CDATA[reverzní inženýrství]]></category>
		<category><![CDATA[SDR]]></category>
		<category><![CDATA[software defined radio]]></category>
		<category><![CDATA[Sonicare]]></category>
		<category><![CDATA[soukromí]]></category>
		<category><![CDATA[technologie]]></category>
		<category><![CDATA[údržba]]></category>
		<category><![CDATA[výměna]]></category>
		<category><![CDATA[zdraví]]></category>
		<category><![CDATA[zubař]]></category>
		<category><![CDATA[zubní hygiena]]></category>
		<category><![CDATA[zubní kartáček]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=2601</guid>

					<description><![CDATA[<p>Zubní kartáčky se v dnešní době stávají stále &#34;chytřejšími&#34; a nejinak tomu je i u modelu Philips Sonicare. Původně se &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2025/02/01/hack-zubiho-kartacku-philips-sonicare/">Hack zubího kartáčku Philips SONICARE</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>Zubní kartáčky se v dnešní době stávají stále &quot;chytřejšími&quot; a nejinak tomu je i u modelu Philips Sonicare. Původně se zdálo, že blikající LED dioda signalizuje pouze potřebu výměny hlavice, ale bližší zkoumání odhalilo, že se jedná o technologii NFC (Near Field Communication).</p>
<p>Tento článek popisuje proces zpětného inženýrství, který odhalil princip komunikace mezi hlavicí a tělem kartáčku. Analyzujeme NFC komunikaci, dekódujeme uložený čas a podíváme se i na odposlouchávání hesla, které chrání údaje o používání kartáčku.</p>
<p>V článku je popsáno, jakým způsobem se autorovi podařilo &quot;hacknout&quot; zubní kartáček a manipulovat s časovačem hlavice. Dále se zabýváme bezpečnostními mechanismy a otázkou, zda jsou naše data v bezpečí i u tak běžných zařízení, jako je zubní kartáček.</p>
<p>Článek nabízí pohled do světa technologií a odhaluje, že i zdánlivě obyčejné věci mohou skrývat zajímavá tajemství.</p>
<h3><strong>1. První objev: Blikající LED a NFC</strong></h3>
<p>Autor si všiml, že jeho nový zubní kartáček Philips Sonicare reaguje na nasazení hlavice blikáním LED diody. Rychlé online vyhledávání odhalilo, že hlavice komunikuje s tělem kartáčku a připomíná tak potřebu výměny. To naznačovalo přítomnost nějaké formy bezdrátové komunikace.</p>
<h3><strong>2. Zkoumání hlavice a manuálu</strong></h3>
<p>Při bližším pohledu na hlavici kartáčku autor objevil anténu a malý černý čip, pravděpodobně IC (integrovaný obvod). Manuál kartáčku navíc uváděl frekvenci 13,56 MHz, což je typická frekvence pro NFC (Near Field Communication). To potvrdilo podezření, že hlavice komunikuje s tělem kartáčku bezdrátově pomocí technologie NFC.</p>
<h3><strong>3. Analýza NFC komunikace pomocí NFC Tools</strong></h3>
<p>Autor použil aplikaci NFC Tools na svém telefonu k prozkoumání komunikace mezi hlavicí a tělem kartáčku. Podařilo se mu identifikovat typ NFC čipu (NTAG213), použitou technologii (NfcA) a přítomnost hesla, které chrání zápis do paměti hlavice. Dále analyzoval paměťové bloky a zjistil, že se v nich ukládají různé informace, jako například unikátní ID hlavice, odkaz na webové stránky Philips a celkový čas používání hlavice.</p>
<h3><strong>4. Dekódování uloženého času a experimenty</strong></h3>
<p>Cyrill Künzi provedl sérii experimentů, aby zjistil, jak se mění data uložená v hlavici v průběhu používání. Zjistil, že adresa 0x24 v paměti hlavice ukládá celkový čas používání v sekundách. Bohužel, pokusy o přepsání této hodnoty selhaly kvůli ochraně heslem.</p>
<h3><strong>5. Odposlouchávání hesla pomocí HackRF a Gnuradio</strong></h3>
<p>K získání hesla Cyrill použil HackRF, což je softwarově definované rádio, a program Gnuradio. Zachytil RF signál na frekvenci 13,736 MHz, což je frekvence používaná pro NFC komunikaci. Pomocí těchto nástrojů a vlastního skriptu byl schopen dekódovat zachycený signál a získat heslo, které chrání zápis do paměti hlavice.</p>
<h3><strong>6. Zápis na hlavici pomocí NFC Tools a získaného hesla</strong></h3>
<p>S heslem v ruce mohl Cyrill pomocí aplikace NFC Tools odeslat speciální příkazy do hlavice a změnit tak uložený čas používání. Tímto způsobem &quot;hacknul&quot; svůj zubní kartáček a získal kontrolu nad časovačem hlavice.</p>
<h3><strong>7. Závěrečné poznatky a bezpečnostní mechanismy</strong></h3>
<p>Cyrill zjistil, že pro měření času se používají pouze první dva bajty na adrese 0x24 a že po dosažení určité hodnoty se čítač zastaví. Dále odhalil, že kartáček bliká LED diodou, pokud je uložený čas delší než 21 600 sekund (3 měsíce používání). Zjistil také, že po třech neúspěšných pokusech o zadání hesla se hlavice trvale zablokuje, což chrání před neoprávněným zásahem.</p>
<h3><strong>8. Generování hesla a výzva komunitě</strong></h3>
<p>Pokusil odhalit algoritmus generování hesla z unikátního ID hlavice, ale neúspěšně. Proto vyzval komunitu, aby se pokusila tuto hádanku vyřešit.</p>
<p>Tento proces reverzního inženýrství ukazuje, jakým způsobem je možné proniknout do komunikace mezi zařízením a jeho příslušenstvím a odhalit jeho skryté funkce. Zdůrazňuje také důležitost bezpečnostních mechanismů, které chrání před neoprávněným zásahem.</p>
<p><strong>Autor původní metoty reverzního inženýrství</strong> <a href="https://kuenzi.dev/toothbrush/">https://kuenzi.dev/toothbrush/</a></p>
<p>Původní článek popisoval zdlouhavý a technicky náročný proces odposlouchávání hesla pro zápis do paměti hlavice zubního kartáčku Philips Sonicare pomocí SDR (Software Defined Radio). Tento postup vyžadoval speciální vybavení (HackRF) a značné znalosti v oblasti rádiové komunikace a reverzního inženýrství.</p>
<p>Díky úsilí a odhodlání komunity kolem reverzního inženýrství se však podařilo posunout tento projekt o velký kus dál. Uživatel s přezdívkou Aaron Christophel se inspiroval tímto článkem a pustil se do vlastního výzkumu. Jeho cílem bylo odhalit algoritmus, který Philips používá pro generování hesel pro jednotlivé hlavice.</p>
<p>Po několika týdnech usilovné práce se mu podařilo uspět! Aaron Christophel nejenže odhalil tento algoritmus, ale dokonce vytvořil funkční generátor hesel, který je k dispozici na platformě GitHub.</p>
<p>Tento generátor hesel umožňuje uživatelům snadno a rychle získat heslo pro svou konkrétní hlavici zubního kartáčku Philips Sonicare. Stačí zadat unikátní identifikátor (UID) hlavice a generátor obratem vygeneruje odpovídající heslo.</p>
<p>Díky tomuto objevu se výrazně zjednodušil proces &quot;hacknutí&quot; zubního kartáčku. Uživatelé již nemusí používat drahé vybavení a trávit hodiny odposloucháváním komunikace. Nyní stačí použít generátor hesel a během několika sekund získat potřebné heslo.</p>
<p>Je důležité si uvědomit, že tento objev má dopad na praktické využití zubních kartáčků Philips Sonicare. Uživatelé, kteří si zakoupili drahé hlavice, ale nechtějí je měnit tak často, jak doporučuje výrobce, mohou nyní snadno resetovat čítač času a používat je déle.</p>
<p>Zároveň je ale třeba zdůraznit, že zásah do elektroniky zubního kartáčku může vést ke ztrátě záruky a v krajním případě i k poškození přístroje. Proto je důležité postupovat s opatrností a s vědomím možných rizik.</p>
<p>Tento úspěch Aarona Christophela je důkazem síly komunity a otevřeného přístupu k technologiím. Ukazuje, že i zdánlivě obyčejné věci, jako je zubní kartáček, mohou skrývat zajímavá tajemství a výzvy pro nadšené kutily.</p>
<p><strong>Teorie bylo dost, pojďme se podívat na praktický návod, jak &quot;hacknout&quot; hlavici zubního kartáčku Philips Sonicare a jak si s tímto vylepšením můžete dál čistit zuby. V následujících krocích si ukážeme, jak získat heslo pro vaši hlavici pomocí generátoru hesel a jak ho následně použít k resetování čítače času. Nezapomeňte však, že tento zásah může vést ke ztrátě záruky a je tedy důležité zvážit všechna rizika.</strong></p>
<h3>Co budete potřebovat</h3>
<p>Nejprve budete potřebovat aplikaci <strong>NFC Tools</strong> aplikace pro práci s čipem NFC. Aplikace je k dispozici buď pro iOS nebo Android.</p>
<p>Nyní musíte najít UID hlavy štětce. K tomu použijte aplikaci ke čtení čipu NFC hlavy štětce pomocí možnosti “Číst / Upravit paměť ” v nabídce “Jiné ”. Tím získáte dlouhý seznam adres a jejich dat. Najděte své UID v prvních dvou řádcích:</p>
<p><a href="https://www.hardwired.dev/wp-content/uploads/2025/02/nfcuid.webp"><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/02/nfcuid-1024x597.webp" alt="" /></a></p>
<p>Ve výše uvedeném snímku obrazovky by bylo UID 04:03:47:7A:22:70:81. (Poslední bajt na první adrese je ignorován, protože se jedná o hodnotu BCC0 a nikoli část UID.)</p>
<p>Nyní potřebujeme kód produktu. Toto je vytištěno na kovovém ráfku na základně hlavy:</p>
<p><a href="https://www.hardwired.dev/wp-content/uploads/2025/02/sonicareHead.webp"><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/02/sonicareHead-1024x997.webp" alt="" /></a></p>
<p>Nebo to najdete zakódováno v ASCII na adresách 21 až 23 (ignorujte první 2 byti):</p>
<p><a href="https://www.hardwired.dev/wp-content/uploads/2025/02/IMG_5734.webp"><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/02/IMG_5734-1024x852.webp" alt="" /></a></p>
<p>Přejdeme na stránku SonicareGenerator a vygenerujeme jedinečný příkaz reset pro tuto hlavu kartáčku: <a href="https://data.ok2hss.cz/SoniCracker/sonicrackare.html" title="Generátor hesel SONICARE"><strong>Generátor hesel SONICARE</strong></a><br />
<a href="https://www.hardwired.dev/wp-content/uploads/2025/02/Snimek-obrazovky-2025-02-01-v-12.59.11-png.webp"><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/02/Snimek-obrazovky-2025-02-01-v-12.59.11-1024x604.webp" alt="" /></a></p>
<p><a href="https://www.hardwired.dev/wp-content/uploads/2025/02/Snimek-obrazovky-2025-02-01-v-13.05.10-png.webp"><img decoding="async" src="https://www.hardwired.dev/wp-content/uploads/2025/02/Snimek-obrazovky-2025-02-01-v-13.05.10-1024x287.webp" alt="" /></a></p>
<p>V NFC Tools aplikaci, můžete přejít na “Pokročilé příkazy NFC ” zadejte svůj konkrétní příkaz do pole “Data ” a odešlete jej do kartáčku , hlava pro resetování získá původní hodnoty časovače.</p>
<p>A máme hotovo.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2025%2F02%2F01%2Fhack-zubiho-kartacku-philips-sonicare%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/2025/02/01/hack-zubiho-kartacku-philips-sonicare/">Hack zubího kartáčku Philips SONICARE</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
