How to implement IP geolocation-based whitelist/blacklist access control using Caddy’s maxmind-geolocation plugin, including GeoLite2 database auto-update setup and configuration examples for both modes.
How to configure Caddy’s rate_limit plugin, including zone definition, key selection, and window tuning — plus why I ultimately chose to comment out this rule in my actual deployment.
How to use Caddy with Cloudflare DNS-01 to automatically get wildcard TLS certificates, with the API Token permissions and global Caddyfile settings you need, plus real client IP handling behind Cloudflare.
A from-scratch guide on using xcaddy to build a custom Caddy image with plugins, including each plugin’s purpose, multi-stage Dockerfile design, and a complete CI/CD workflow via GitHub Actions that auto-builds and pushes to Docker Hub weekly.
Documenting the hybrid-auto-engine OOM issue encountered when deploying MinerU on an 8GB GPU, and why vlm-auto-engine turns out to use less VRAM — backed by source code analysis and the final solution.
I recently sorted out some retro gaming resources, so here is a short note.
MAME
MAME is now officially described as a “multi-purpose emulation framework”. It started out mainly as an arcade emulator, but now also supports many old computers, consoles, and other legacy hardware platforms.
This article records how to configure EXTENSIONS_GALLERY for code-server under a systemd user service and avoid the common pitfalls around % and quoting.
This article explains how to resolve the issue where Netbird and Mihomo (Tun Mode) fail to establish P2P connections by adding specific routing table rules.