{"repo":"CamM2325/microlink","free":true,"listed":false,"github":"https://github.com/CamM2325/microlink","clone":"git clone https://github.com/CamM2325/microlink.git","description":"Tailscale-compatible VPN client for ESP32. Full ts2021 protocol support with WireGuard encryption, DERP relay, DISCO path discovery, and STUN. Connect your ESP32 devices to your tailnet and communicate securely with any peer. Production-ready, memory-optimized (~100KB SRAM).","language":"C","stars":352,"topics":["embedded","esp-idf","esp32","esp32-s3","iot","networking","tailscale","vpn","wireguard","c"],"license":null,"category":"networking-infra","readme_excerpt":"MicroLink v2 — ESP32 Tailscale Client Production-ready Tailscale VPN client for the ESP32 platform with WiFi and 4G cellular support. Should work on most ESP32 variants (ESP32, ESP32-S3, ESP32-P4, etc.) — ESP32-S3 with PSRAM recommended for production. Features - Full Tailscale Protocol Support - ts2021 coordination protocol - WireGuard encryption (ChaCha20-Poly1305) - DISCO path discovery (PING/PONG/CALL ME MAYBE) - DERP relay with dynamic region discovery (up to 32 regions) - STUN for public IP / NAT type discovery (IPv4 + IPv6) - Delta updates (PeersChanged, PeersRemoved, PeersChangedPatch) - MagicDNS hostname resolution (short name or FQDN) - Key expiry detection and auto re-registration - WiFi + 4G Cellular - WiFi primary with automatic cellular failback - PPP cellular data — real lwIP sockets, direct UDP, NAT hole-punching - AT socket bridge fallback for carriers that reject PPP auth - Multi-carrier: PAP (IMSI-based) and CHAP (credential-based) automatic selection - Seamless network rebind — switch between WiFi and cellular without destroying the VPN session ( 330ms rebind, 7s recovery) - Network health monitoring with automatic failback to WiFi when recovered - Production Ready - Fully async, task-based architecture (no polling loop) - Tested with 300+ peer tailnets (PSRAM-backed 512KB buffers) - NVS peer cache — DISCO probing starts immediately on reboot - Proactive H2 WINDOW UPDATE for fast MapResponse downloads - Key expiry handling with reusable auth keys - Broad H","default_branch":null,"files":null,"tree":[],"storefront":"/r/CamM2325","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/CamM2325/microlink/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}