| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | nginx: make cleberg.net self-contained on the onion | Christian Cleberg | 18 hours | 2 | -14/+52 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Serve images same-origin via a `location /img/ { alias /var/www/img/; }` block on cleberg.net, so the .onion no longer pulls subresources from the clearnet. Deliberately an nginx alias rather than a filesystem symlink. A symlink at /var/www/cleberg.net/img worked but was destroyed by the very next deploy -- the site deploys with `rsync --delete`, which removes anything in the destination that is not in the source tree, and that silently 404'd every image on the site. Config-level aliasing cannot be removed by a deploy. Tighten the cleberg.* CSP now that the site loads nothing cross-origin. The weblorg source was changed to emit root-relative stylesheet and image URLs, and the bubbles.town script was dropped, so parsing all deployed HTML returns zero absolute subresources. Dropped img-src https://img.cleberg.net, style-src and font-src https://cleberg.net, and script-src/connect-src https://bubbles.town; the policy is now default-src 'self' with no host allowances. upgrade-insecure-requests stays omitted: this vhost also serves the .onion over plain http, where it would upgrade same-origin subresource URLs to https and break them. Set Referrer-Policy to same-origin, restoring the value Cloudflare's security-headers toggle had been supplying. Removing that toggle silently regressed it to strict-origin-when-cross-origin, which still sends the origin to external sites; same-origin sends no referrer cross-origin at all. Verified over a real Tor circuit: article pages carry 4 relative subresources and 0 absolute, and images serve 200 from the onion. | ||||
| * | nginx: enforce piped CSP, drop dead freshrss CSP and rss vhost | Christian Cleberg | 21 hours | 4 | -52/+14 |
| | | | | | | | | | | | | | | | | | | | | | | | Promote piped.krz.sh from Content-Security-Policy-Report-Only to enforcing. Validated in a real browser first: homepage, VOD playback and seek on two videos, channel page and a 39-result search were all clean, and every host contacted was already allowed (self, pipedapi, pipedproxy, blob:). No fallback to pipedproxy.kavin.rocks, so viewer IPs stay on the self-hosted proxy. The check was proven meaningful before being trusted by injecting a disallowed image and confirming a securitypolicyviolation with disposition "report". Remove the FreshRSS CSP (include file plus the $csp_freshrss map). The header never reached a browser: rss.krz.sh is routed tunnel-direct to the container on :8099 and never transits nginx. Promoting it would also have regressed behaviour rather than hardened it, since browsers enforce the intersection of stacked policies and this one was stricter than FreshRSS's own exactly where feed content lives (no blob: in img-src, no * in media-src/frame-src). FreshRSS keeps its own, correctly RSS-aware, policy. Delete conf.d/rss.conf entirely. It was unreachable: no onion targets :10045, no other vhost uses the port, and rss.zerolabs.sh is redirected to rss.krz.sh at the Cloudflare edge before the origin is reached. | ||||
| * | fix security headers for new vhosts | Christian Cleberg | 22 hours | 5 | -2/+52 |
| | | |||||
| * | add i.conf | Christian Cleberg | 22 hours | 1 | -0/+9 |
| | | |||||
| * | revamp security headers and site confs | Christian Cleberg | 22 hours | 21 | -90/+239 |
| | | |||||
| * | chore: cleanup | Christian Cleberg | 33 hours | 2 | -1/+87 |
| | | |||||
| * | chore: cleanup | Christian Cleberg | 33 hours | 28 | -244/+62 |
| | | |||||
| * | fix krz.sh.conf | Christian Cleberg | 39 hours | 1 | -0/+8 |
| | | |||||
| * | add git.conf | Christian Cleberg | 41 hours | 1 | -0/+91 |
| | | |||||
| * | update rogue | Christian Cleberg | 44 hours | 2 | -12/+12 |
| | | |||||
| * | remove authelia | Christian Cleberg | 2 days | 2 | -38/+0 |
| | | |||||
| * | fix: format latest nginx conf changes | Christian Cleberg | 2026-05-10 | 1 | -133/+37 |
| | | |||||
| * | fix: format latest nginx conf changes | Christian Cleberg | 2026-05-10 | 1 | -48/+39 |
| | | |||||
| * | fix: add redirect file cleberg.net | Christian Cleberg | 2026-05-10 | 2 | -1/+140 |
| | | |||||
| * | fix: 404 for .well-known to reduce warnings | Christian Cleberg | 2026-05-10 | 1 | -4/+5 |
| | | |||||
| * | fix: ensure port doesn't leak during slash redirects | Christian Cleberg | 2026-05-10 | 1 | -0/+1 |
| | | |||||
| * | remove stray file | Christian Cleberg | 2026-05-01 | 1 | -38/+0 |
| | | |||||
| * | fix: enable markdown serving via org on cleberg.net | Christian Cleberg | 2026-05-01 | 1 | -10/+1 |
| | | |||||
| * | fix: enable markdown serving via org on cleberg.net | Christian Cleberg | 2026-05-01 | 2 | -5/+53 |
| | | |||||
| * | migrate docker from nginx to cloudflared tunnel | Christian Cleberg | 2026-04-30 | 3 | -153/+1 |
| | | |||||
| * | migrate docker from nginx to cloudflared tunnel | Christian Cleberg | 2026-04-30 | 31 | -533/+6 |
| | | |||||
| * | remove auth | Christian Cleberg | 2026-04-30 | 8 | -32/+0 |
| | | |||||
| * | update backends | Christian Cleberg | 2026-04-30 | 1 | -0/+3 |
| | | |||||
| * | Add cleberg.net canonical redirects for zerolabs subdomains | Christian Cleberg | 2026-04-30 | 45 | -868/+208 |
| | | |||||
| * | move zerolabs to local port, remove authelia from irc, and update ↵ | Christian Cleberg | 2026-04-30 | 4 | -20/+25 |
| | | | | | cleberg.net logging | ||||
| * | fix timeout for bb.zerolabs.sh | Christian Cleberg | 2026-04-18 | 2 | -2/+6 |
| | | |||||
| * | add bb.zerolabs.sh | Christian Cleberg | 2026-04-18 | 1 | -0/+23 |
| | | |||||
| * | fix IP address mappings | Christian Cleberg | 2026-04-15 | 1 | -2/+2 |
| | | |||||
| * | fix IP address mappings | Christian Cleberg | 2026-04-15 | 1 | -18/+18 |
| | | |||||
| * | remove rimgo | Christian Cleberg | 2026-04-15 | 1 | -39/+0 |
| | | |||||
| * | increase hash size | Christian Cleberg | 2026-04-15 | 1 | -4/+4 |
| | | |||||
| * | increase hash size | Christian Cleberg | 2026-04-15 | 1 | -0/+4 |
| | | |||||
| * | rework nginx structure | Christian Cleberg | 2026-04-15 | 53 | -354/+392 |
| | | |||||
| * | fix nginx warnings | Christian Cleberg | 2026-04-15 | 2 | -39/+15 |
| | | |||||
| * | fix duplicate .cleberg.net issue | Christian Cleberg | 2026-04-15 | 2 | -6/+3 |
| | | |||||
| * | remove IPv6 listeners | Christian Cleberg | 2026-04-15 | 45 | -141/+1 |
| | | |||||
| * | fix: resolve multiple server names in default.conf and multiple 443 blocks in ao | Christian Cleberg | 2026-04-15 | 3 | -31/+6 |
| | | |||||
| * | redirect hutch to zerolabs.sh | Christian Cleberg | 2026-04-10 | 1 | -0/+22 |
| | | |||||
| * | migrate service URIs to zerolabs.sh | Christian Cleberg | 2026-04-09 | 37 | -163/+204 |
| | | |||||
| * | add zerolabs.sh | Christian Cleberg | 2026-04-09 | 40 | -46/+856 |
| | | |||||
| * | Revert "add zerolabs.sh" | Christian Cleberg | 2026-04-09 | 2 | -70/+0 |
| | | | | | This reverts commit 6624038ba7e8332350976104449e5dc4a623766d. | ||||
| * | add zerolabs.sh | Christian Cleberg | 2026-04-09 | 2 | -0/+70 |
| | | |||||
| * | fix CSP for img.cleberg.net | Christian Cleberg | 2026-04-08 | 1 | -1/+9 |
| | | |||||
| * | add authelia to bt | Christian Cleberg | 2026-03-26 | 1 | -5/+5 |
| | | |||||
| * | conf updates | Christian Cleberg | 2026-03-25 | 2 | -1/+35 |
| | | |||||
| * | add 1kb roguelike | Christian Cleberg | 2026-03-25 | 1 | -2/+6 |
| | | |||||
| * | add 1kb roguelike | Christian Cleberg | 2026-03-23 | 1 | -0/+20 |
| | | |||||
| * | add gramps and update cleberg.net security headers | Christian Cleberg | 2026-03-22 | 2 | -0/+21 |
| | | |||||
| * | flip a few services to localhost | Christian Cleberg | 2026-03-08 | 4 | -23/+4 |
| | | |||||
| * | add tor onion addresses back in | Christian Cleberg | 2026-03-04 | 28 | -23/+136 |
| | | |||||
