Skip to content

Commit d069211

Browse files
committed
Remove MicroLink branding from website and setup script
- Remove MicroLink nav link and footer attribution from both HTML pages - Replace MicroLink references with generic 'firmware' / 'Tailscale library' - Remove the clone-MicroLink step from docs (now vendored in-repo) - Update setup.sh to check vendored microlink/ dir instead of ../microlink
1 parent 4a647e4 commit d069211

3 files changed

Lines changed: 13 additions & 36 deletions

File tree

docs/docs.html

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,6 @@
233233
<ul class="nav-links">
234234
<li><a href="index.html">Home</a></li>
235235
<li><a href="docs.html" style="color:var(--text)">Docs</a></li>
236-
<li><a href="https://github.com/CamM2325/microlink" class="hide-mobile" target="_blank">MicroLink ↗</a></li>
237236
<li><a href="https://github.com/medinajaime/esp32-W0L" target="_blank" class="btn-nav">GitHub ↗</a></li>
238237
</ul>
239238
</div>
@@ -330,13 +329,7 @@ <h3>1. Clone the repository</h3>
330329
<pre><code class="language-bash">git clone https://github.com/medinajaime/esp32-W0L
331330
cd wol-esp32</code></pre>
332331

333-
<h3>2. Clone MicroLink (required dependency)</h3>
334-
<p>MicroLink must be cloned as a <strong>sibling directory</strong> of <code>wol-esp32</code>:</p>
335-
<pre><code class="language-bash">cd ..
336-
git clone https://github.com/CamM2325/microlink
337-
cd wol-esp32</code></pre>
338-
339-
<h3>3. Run the setup script</h3>
332+
<h3>2. Run the setup script</h3>
340333
<pre><code class="language-bash">./scripts/setup.sh</code></pre>
341334
<p>The script will:</p>
342335
<ul>
@@ -570,7 +563,7 @@ <h2 id="manual-trigger">Manual Trigger</h2>
570563

571564
<h2 id="state-machine">State Machine</h2>
572565

573-
<p>MicroLink progresses through these states on boot and after each coordination reconnection:</p>
566+
<p>The firmware progresses through these states on boot and after each coordination reconnection:</p>
574567

575568
<div class="state-flow">
576569
<span class="state-box">IDLE</span>
@@ -602,15 +595,15 @@ <h2 id="state-machine">State Machine</h2>
602595
<h2 id="wireguard-derp">WireGuard &amp; DERP</h2>
603596

604597
<h3>WireGuard</h3>
605-
<p>MicroLink uses <a href="https://github.com/smartalock/wireguard-lwip" target="_blank">wireguard-lwip</a>, which implements WireGuard as a lwIP network interface (<code>wg0</code>). The handshake uses <strong>Noise_IK_25519_ChaChaPoly_BLAKE2s</strong>:</p>
598+
<p>The firmware uses <a href="https://github.com/smartalock/wireguard-lwip" target="_blank">wireguard-lwip</a>, which implements WireGuard as a lwIP network interface (<code>wg0</code>). The handshake uses <strong>Noise_IK_25519_ChaChaPoly_BLAKE2s</strong>:</p>
606599
<ul>
607600
<li><strong>X25519</strong> — Diffie-Hellman key agreement</li>
608601
<li><strong>ChaCha20-Poly1305</strong> — authenticated encryption of all data</li>
609602
<li><strong>BLAKE2s</strong> — keyed hash / MAC</li>
610603
</ul>
611604

612605
<h3>DERP relay</h3>
613-
<p>When direct UDP between peers is blocked by NAT (the common case for a home ESP32), Tailscale routes traffic through a <strong>DERP</strong> (Designated Encrypted Relay for Packets) server. MicroLink connects to DERP over TLS 1.2 on port 443 — the same as HTTPS — so it passes through almost every firewall.</p>
606+
<p>When direct UDP between peers is blocked by NAT (the common case for a home ESP32), Tailscale routes traffic through a <strong>DERP</strong> (Designated Encrypted Relay for Packets) server. The firmware connects to DERP over TLS 1.2 on port 443 — the same as HTTPS — so it passes through almost every firewall.</p>
614607

615608
<p>DERP is transparent to the application. WireGuard-encrypted packets are wrapped in a DERP frame and relayed. The relay server sees only opaque ciphertext; all traffic is still end-to-end encrypted.</p>
616609

@@ -625,7 +618,7 @@ <h3>Data flow</h3>
625618
ESP32 — wireguard-lwip decrypts the frame
626619
│ Plaintext UDP payload delivered to lwIP socket
627620
628-
wol_task — microlink_udp_recv() returns ESP_OK
621+
wol_task — UDP recv returns ESP_OK
629622
│ Builds 102-byte magic packet
630623
│ Broadcasts to 255.255.255.255:9 via WiFi STA interface
631624
@@ -651,7 +644,7 @@ <h2 id="memory">Memory Layout</h2>
651644
<tbody>
652645
<tr><td>WiFi driver (static RX/TX buffers)</td><td>~48 KB</td></tr>
653646
<tr><td>mbedTLS handshake + buffers (dynamic)</td><td>~40 KB</td></tr>
654-
<tr><td>MicroLink state + peer table</td><td>~20 KB</td></tr>
647+
<tr><td>Tailscale state + peer table</td><td>~20 KB</td></tr>
655648
<tr><td>WireGuard session state</td><td>~16 KB</td></tr>
656649
<tr><td>FreeRTOS task stacks</td><td>~20 KB</td></tr>
657650
<tr><td>lwIP buffers</td><td>~16 KB</td></tr>
@@ -675,7 +668,7 @@ <h2 id="reconnection">Reconnection Behaviour</h2>
675668

676669
<p>The Tailscale coordination server closes the HTTP/2 long-poll connection every 10–12 seconds. This is normal. When it happens:</p>
677670
<ol>
678-
<li>MicroLink transitions <code>MONITORING → REGISTERING</code></li>
671+
<li>The firmware transitions <code>MONITORING → REGISTERING</code></li>
679672
<li>Re-registers and re-fetches the peer list (~12 s total)</li>
680673
<li>Returns to <code>MONITORING</code></li>
681674
</ol>
@@ -724,7 +717,7 @@ <h3>PC doesn't wake despite "Magic packet sent"</h3>
724717

725718
<h3>DISCO socket errors in serial output</h3>
726719
<pre><code>E ml_disco: disco_send_udp4: socket not initialized!</code></pre>
727-
<p>This is non-fatal. DISCO is used for direct UDP path optimisation (bypassing the DERP relay). If it fails, MicroLink falls back to DERP, which works reliably for WoL purposes. You can ignore these messages.</p>
720+
<p>This is non-fatal. DISCO is used for direct UDP path optimisation (bypassing the DERP relay). If it fails, the firmware falls back to DERP, which works reliably for WoL purposes. You can ignore these messages.</p>
728721

729722
<!-- ── Limitations ────────────────────────────────── -->
730723

@@ -766,8 +759,6 @@ <h2 id="limitations">Known Limitations</h2>
766759
<span>
767760
<a href="index.html">Home</a>
768761
&nbsp;·&nbsp;
769-
<a href="https://github.com/CamM2325/microlink" target="_blank">MicroLink</a>
770-
&nbsp;·&nbsp;
771762
MIT License
772763
</span>
773764
</div>

docs/index.html

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,6 @@
324324
<li class="hide-mobile"><a href="#how-it-works">How it works</a></li>
325325
<li class="hide-mobile"><a href="#quickstart">Quick start</a></li>
326326
<li><a href="docs.html">Docs</a></li>
327-
<li><a href="https://github.com/CamM2325/microlink" class="hide-mobile" target="_blank">MicroLink ↗</a></li>
328327
<li><a href="https://github.com/medinajaime/esp32-W0L" target="_blank" class="btn-nav">GitHub ↗</a></li>
329328
</ul>
330329
</div>
@@ -411,7 +410,7 @@ <h2 class="section-title">Three hops from command to power-on</h2>
411410
<div class="step-card">
412411
<div class="step-num">1</div>
413412
<h3>ESP32 joins your Tailscale network</h3>
414-
<p>The ESP32 connects to your WiFi and registers with Tailscale using MicroLink — a full ts2021 WireGuard implementation that fits in 520 KB of RAM.</p>
413+
<p>The ESP32 connects to your WiFi and registers with Tailscale using a full ts2021 WireGuard implementation that fits in 520 KB of RAM.</p>
415414
</div>
416415
<div class="step-card">
417416
<div class="step-num">2</div>
@@ -501,7 +500,7 @@ <h2 class="section-title">Up and running in minutes</h2>
501500
<div class="qs-step">
502501
<div class="qs-num">1</div>
503502
<div>
504-
<div class="qs-label">Clone the repo and MicroLink</div>
503+
<div class="qs-label">Clone the repo</div>
505504
<pre><code class="language-bash">git clone https://github.com/medinajaime/esp32-W0L
506505
cd wol-esp32</code></pre>
507506
</div>
@@ -542,8 +541,6 @@ <h2 class="section-title">Up and running in minutes</h2>
542541
<div class="footer-inner">
543542
<span>esp32-wol — ESP32 Wake-on-LAN via Tailscale</span>
544543
<span>
545-
Built with <a href="https://github.com/CamM2325/microlink" target="_blank">MicroLink</a>
546-
&nbsp;·&nbsp;
547544
Licensed under MIT
548545
&nbsp;·&nbsp;
549546
<a href="docs.html">Docs</a>

scripts/setup.sh

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,9 @@ echo ""
2626
[[ -f CMakeLists.txt && -f sdkconfig.defaults ]] || \
2727
die "Run this script from the wol-esp32 project root."
2828

29-
# ── Find MicroLink ───────────────────────────────────────────
30-
MICROLINK_DIR="$(cd ..; pwd)/microlink"
31-
if [[ ! -d "$MICROLINK_DIR" ]]; then
32-
warn "MicroLink not found at $MICROLINK_DIR"
33-
echo ""
34-
echo " MicroLink is a required dependency. Clone it:"
35-
echo ""
36-
echo -e " ${DIM}cd .."
37-
echo -e " git clone https://github.com/CamM2325/microlink"
38-
echo -e " cd wol-esp32${RESET}"
39-
echo ""
40-
die "Please clone MicroLink and re-run setup.sh"
41-
fi
42-
ok "MicroLink found at $MICROLINK_DIR"
29+
# ── Check vendored Tailscale library ──────────────────────────
30+
[[ -d "microlink/src" ]] || die "Vendored Tailscale library not found in microlink/. Is the repo intact?"
31+
ok "Tailscale library found"
4332

4433
# ── Find ESP-IDF ─────────────────────────────────────────────
4534
find_idf() {

0 commit comments

Comments
 (0)