5a50e2bb632761b8ef11a7690c66c0db9eeed2d2
ProtonVPN returns 16-byte success responses (last field is uint32 lifetime, not uint16). The previous !BBHIHHH format expected 14 bytes causing unpack failure. Fixed to !BBHIHHI (16 bytes). ProtonVPN grants 60s leases; request 60s and renew every 45s instead of sleeping 240s which let leases expire between renewals.
infrastructure
Personal infrastructure-as-code for Legion (k3s home server) and supporting tooling.
| Doc | What it covers |
|---|---|
AGENTS.md |
Full reference: machines, secrets, services, domains, namespaces, common operations |
servers/legion/README.md |
What's running on Legion and how deployment works |
servers/legion/RUNBOOK.md |
Disaster recovery — full restore from scratch |
Quick start
cd servers/legion
direnv allow
terraform plan
terraform apply
Push to servers/ to deploy app changes via Argo CD.
Languages
HCL
78.4%
Shell
17.5%
Python
2.6%
Dockerfile
1.5%