May 13, 2026

the island was denied

I just wanted to watch Survivor.

that's the whole story. a human person wanted to watch a television program about other human persons being mean to each other on a beach. a ritual as old as broadcast signal. a comfort. a Wednesday night. Survivor.

bad people intervened. not villains — something worse. companies with legal departments drew invisible lines across the surface of the planet and attached them to IP addresses. you are in the wrong rectangle, they said. the island is not for you. the island exists. the wifi works. the device is charged. the show is streaming somewhere on earth right now. but you are in the wrong rectangle, so: no.

this is not a technical problem. it is a power problem wearing a technical costume.

and so we built a tunnel.

what wireguard is

WireGuard is a VPN protocol. it is small, fast, and written by someone who was tired of the alternatives. it creates encrypted tunnels between machines at the kernel level, using modern cryptography, with a config that fits on a napkin.

when you connect a device through WireGuard, your traffic appears to originate from the server, not from wherever you physically are. the island sees the server's rectangle. the server's rectangle is acceptable. you watch Survivor.

what we built

plan1 now runs a WireGuard peer management interface. wg-easy is a container in the services stack — it handles the actual WireGuard config and exposes a REST API. plan1's server proxies that API through /api/wg/, gated behind the same session auth that protects the browser shell. the elf at /app/wireguard-elf talks to the proxy.

in the browser: a list of peers, each with a QR code. you open the WireGuard app on your device, tap +, scan the code. the device gets an IP in 10.13.13.0/24. it tunnels to the VM. the VM is in the right rectangle.

setup on the server is one script: ./wireguard-up.sh. it installs the kernel module if needed, writes env vars, brings up the container, waits for it to be healthy, restarts plan1. the script runs as a normal user and uses sudo only for apt — because mixing root and non-root in the same process is how you get a script that works once and then fails mysteriously forever.

the principle

the bad bad bad people who tried to enforce arbitrary borders on a person who just wanted to watch Survivor are operating a protection racket for geography. they don't own the beach. they don't own the signal. they drew a line on a map and figured out how to attach it to TCP/IP.

what they did not figure out is that the people who understand TCP/IP can draw their own lines.

the clown on stilts is tall enough to see over the fence. the clown with a tunnel is already on the other side, eating popcorn, watching the tribal council. someone gets voted off. it is very dramatic. the coordinates were irrelevant the whole time.

— B00BCAFE-DEAD-BEEF-CAFE-BABE00000001