37e9af4080
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Changelog
All notable changes to this project are documented here, newest first. Every change is committed and pushed so the history can be followed in git as well.
[1.1.1] - 2026-09-08
Fixed
- IPv6 trace showed
n/a (fetch failed): Node'sfetch(undici) mangles IPv6 literals during TLS hostname verification. The check now usesnode:httpswith thefamilyoption againstwww.cloudflare.com, so both families work with normal certificate validation.
[1.1.0] - 2026-09-08
Changed
- WARP check now queries Cloudflare over IPv4 and IPv6 separately and logs both
egress IPs:
ipv4=104.28.x.x (warp=on) ipv6=2a09:bac1:... (warp=on) colo=AMS loc=NL. /warpslash command shows the IPv4 and IPv6 Cloudflare IPs on separate lines.- "Connected" now means the IPv4 path (the one Discord uses) reports
warp=on; IPv6 is informational.
Verified on the host (192.168.5.67)
- Host public IP reports
warp=off; inside the container both families reportwarp=on, coloAMS. - The Node process's Discord gateway socket originates from
172.16.0.2on theCloudflareWARPinterface, so bot traffic really goes through the tunnel. - Docker health check reports
healthy;/pingand/warpare registered in the test guild.
[1.0.0] - 2026-09-08
Added
- discord.js 14 bot (
bot/src/index.js) with/pingand/warpslash commands. - Periodic Cloudflare WARP check that logs the egress IP,
warp=onflag, colo andwarp-cli status, with automaticwarp-cli connectwhen the tunnel is down. docker/Dockerfile:node:22-bookworm-slimwith the Cloudflare WARP Debian 12 client (2026.7.1377.0) installed from the official download URL;npm ciruns inside the build.docker/entrypoint.sh: starts dbus andwarp-svc, registers, setsmode warp, connects, and only starts the bot once Cloudflare's trace endpoint reportswarp=on.docker-compose.yml: one self-contained service per bot (own WARP tunnel, own registration volume),NET_ADMIN,/dev/net/tun, required sysctls, log rotation and awarp=onhealth check.scripts/deploy.sh: ships the committed tree to the Docker host over SSH and restarts the stack.package-lock.jsongenerated inside anode:22-bookworm-slimcontainer (no Node on the workstation).- README,
.env.example,.gitignore,.dockerignore,.gitattributes(LF line endings).
Removed
- Placeholder
testfile from the initial commit.