Files
DiscordBot-CloudflareWarp/CHANGELOG.md
T
2026-09-08 01:20:55 +02:00

38 lines
2.1 KiB
Markdown

# 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.0] - 2026-09-08
### Changed
- WARP check now queries Cloudflare over IPv4 and IPv6 separately (by edge IP literal) and logs both
egress IPs: `ipv4=104.28.x.x (warp=on) ipv6=2a09:bac1:... (warp=on) colo=AMS loc=NL`.
- `/warp` slash 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 report `warp=on`, colo `AMS`.
- The Node process's Discord gateway socket originates from `172.16.0.2` on the `CloudflareWARP`
interface, so bot traffic really goes through the tunnel.
- Docker health check reports `healthy`; `/ping` and `/warp` are registered in the test guild.
## [1.0.0] - 2026-09-08
### Added
- discord.js 14 bot (`bot/src/index.js`) with `/ping` and `/warp` slash commands.
- Periodic Cloudflare WARP check that logs the egress IP, `warp=on` flag, colo and `warp-cli status`,
with automatic `warp-cli connect` when the tunnel is down.
- `docker/Dockerfile`: `node:22-bookworm-slim` with the Cloudflare WARP Debian 12 client
(`2026.7.1377.0`) installed from the official download URL; `npm ci` runs inside the build.
- `docker/entrypoint.sh`: starts dbus and `warp-svc`, registers, sets `mode warp`, connects, and only
starts the bot once Cloudflare's trace endpoint reports `warp=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 a `warp=on` health check.
- `scripts/deploy.sh`: ships the committed tree to the Docker host over SSH and restarts the stack.
- `package-lock.json` generated inside a `node:22-bookworm-slim` container (no Node on the workstation).
- README, `.env.example`, `.gitignore`, `.dockerignore`, `.gitattributes` (LF line endings).
### Removed
- Placeholder `test` file from the initial commit.