Kharec pushed to main at Kharec/urupam 2025-12-29 16:03:38 +01:00
699f660ec2 fix: respond_once uses stash flag
Kharec pushed to main at Kharec/urupam 2025-12-29 15:46:13 +01:00
2c28b603da test: adjust validation expectations for redirects
76fa8a7334 fix: correct IPv6 private range checks
Compare 2 commits »
Kharec pushed to main at Kharec/urupam 2025-12-29 15:37:19 +01:00
8495d6ab26 fix: validate redirect targets to prevent SSRF via redirect chains
Kharec pushed to main at Kharec/urupam 2025-12-29 15:34:36 +01:00
b203bcad78 refactor: normalize range checks into one clear path
Kharec pushed to main at Kharec/urupam 2025-12-29 15:32:03 +01:00
7005e0852a refactor: use respond_once helper in async handlers
af5a924ae3 refactor: add respond_once helper and refactor async handlers to use it
Compare 2 commits »
Kharec pushed to main at Kharec/urupam 2025-12-29 15:25:26 +01:00
4730c577fa test: cover head/get fallback
940f60e471 test: add UTF-8 path case
407289cd2a fix: head/get reachability fallback
Compare 3 commits »
Kharec pushed to main at Kharec/urupam 2025-12-29 15:24:58 +01:00
b5ab00ef93 fix: decode UTF-8 after url_unescape
Kharec pushed to main at Kharec/urupam 2025-12-29 15:13:49 +01:00
0b277a3e65 fix: use Socket getaddrinfo for host resolution
Kharec pushed to main at Kharec/urupam 2025-12-29 15:08:56 +01:00
e9c298110d test: update validation specs for DNS SSRF logic
ae1dab8116 feat: add DNS-based SSRF checks
Compare 2 commits »
Kharec pushed to main at Kharec/urupam 2025-12-29 15:08:37 +01:00
eb4c4e4c4c feat: use secure RNG for short codes
Kharec pushed to main at Kharec/urupam 2025-12-29 15:08:28 +01:00
e2c4916565 fix: guard async responses with local flag
Kharec pushed to main at Kharec/urupam 2025-12-29 15:08:08 +01:00
15f082fcdc deps: lock Bytes::Random::Secure and transitive deps
8e6665971e deps: add Bytes::Random::Secure
Compare 2 commits »
Kharec pushed to main at Kharec/urupam 2025-12-29 14:48:09 +01:00
09a0fe017a fix: use $c->rendered instead of stash->{rendered}
9fc620130c fix: use $c->rendered instead of stash->{rendered}
Compare 2 commits »
Kharec pushed to main at Kharec/urupam 2025-12-29 08:59:43 +01:00
2903aa51ff revert: cpanfile.snapshot
Kharec pushed to main at Kharec/urupam 2025-12-29 08:57:41 +01:00
bf9579ab14 fix: deploy templates/public but not cpanfile.snapshot
Kharec pushed to main at Kharec/urupam 2025-12-29 08:56:44 +01:00
48f2b8448a docs: update readme
Kharec pushed to main at Kharec/urupam 2025-12-29 08:48:55 +01:00
10fd579d0b docs: update readme
Kharec pushed to main at Kharec/urupam 2025-12-29 08:43:58 +01:00
4810966b1c feat: add version in /health
8c62bff80b clean: remove div
17857a6b56 feat: add brand-version to display version bottom right
4053b89cf4 feat: title top left, version bottom right
331dba9211 feat: setup version
Compare 5 commits »
Kharec pushed to main at Kharec/urupam 2025-12-28 19:40:53 +01:00
bd4c6c9a1d test: add unit testing for URL.pm
Kharec pushed to main at Kharec/urupam 2025-12-28 19:32:49 +01:00
6f40a4569a clean: shorten title