kibi and Claude Opus 5.5
d0f2d526df
Port 4ducky to Rust (Axum + SQLite)
...
Same design, layout, URLs and features as the PHP version: browse grid,
image view with AJAX comments, BBCode, likes, uploads (file, URL and
bookmarklet), quicktagger, profile, block list, inbox, invites, Hall of
Ducks, Truhe, abuse reports and the admin tools.
- Parameterized SQL, escaped templates (askama), argon2 passwords,
server-side sessions, CSRF tokens on every write, strict script CSP
- SSRF-safe remote image fetching, magic-byte upload checks
- Self-hosted captcha replaces reCAPTCHA v1; analytics/social widgets removed
- Vanilla JS replaces jQuery and its plugins with the same DOM behaviour
- Reverse proxy support (frontend_path, trust_proxy, secure_cookies)
- Admin CLI: admin, settings, invites
See README.md for running it and the full list of changes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-17 02:15:05 +02:00
..
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2026-10-17 02:15:05 +02:00
2026-10-17 02:15:05 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2026-10-17 02:15:05 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00
2022-10-06 22:04:13 +02:00