|
|
777b589946
|
feat: speed up validation
|
2026-01-05 07:22:05 +01:00 |
|
|
|
72013a9a08
|
test: add DNS cache coverage
|
2025-12-29 16:11:31 +01:00 |
|
|
|
e6fc9c919f
|
feat: add DNS cache and subprocess resolution
|
2025-12-29 16:11:24 +01:00 |
|
|
|
39bead9da1
|
test: expect 400 for invalid short code
|
2025-12-29 16:03:45 +01:00 |
|
|
|
699f660ec2
|
fix: respond_once uses stash flag
|
2025-12-29 16:03:35 +01:00 |
|
|
|
2c28b603da
|
test: adjust validation expectations for redirects
|
2025-12-29 15:46:10 +01:00 |
|
|
|
76fa8a7334
|
fix: correct IPv6 private range checks
|
2025-12-29 15:45:52 +01:00 |
|
|
|
8495d6ab26
|
fix: validate redirect targets to prevent SSRF via redirect chains
|
2025-12-29 15:37:17 +01:00 |
|
|
|
b203bcad78
|
refactor: normalize range checks into one clear path
|
2025-12-29 15:34:33 +01:00 |
|
|
|
7005e0852a
|
refactor: use respond_once helper in async handlers
|
2025-12-29 15:31:59 +01:00 |
|
|
|
af5a924ae3
|
refactor: add respond_once helper and refactor async handlers to use it
|
2025-12-29 15:31:43 +01:00 |
|
|
|
4730c577fa
|
test: cover head/get fallback
|
2025-12-29 15:25:24 +01:00 |
|
|
|
940f60e471
|
test: add UTF-8 path case
|
2025-12-29 15:25:16 +01:00 |
|
|
|
407289cd2a
|
fix: head/get reachability fallback
|
2025-12-29 15:25:08 +01:00 |
|
|
|
b5ab00ef93
|
fix: decode UTF-8 after url_unescape
|
2025-12-29 15:24:56 +01:00 |
|
|
|
0b277a3e65
|
fix: use Socket getaddrinfo for host resolution
|
2025-12-29 15:13:46 +01:00 |
|
|
|
e9c298110d
|
test: update validation specs for DNS SSRF logic
|
2025-12-29 15:08:53 +01:00 |
|
|
|
ae1dab8116
|
feat: add DNS-based SSRF checks
|
2025-12-29 15:08:46 +01:00 |
|
|
|
eb4c4e4c4c
|
feat: use secure RNG for short codes
|
2025-12-29 15:08:35 +01:00 |
|
|
|
e2c4916565
|
fix: guard async responses with local flag
|
2025-12-29 15:08:26 +01:00 |
|
|
|
15f082fcdc
|
deps: lock Bytes::Random::Secure and transitive deps
|
2025-12-29 15:08:05 +01:00 |
|
|
|
8e6665971e
|
deps: add Bytes::Random::Secure
|
2025-12-29 15:07:58 +01:00 |
|
|
|
09a0fe017a
|
fix: use $c->rendered instead of stash->{rendered}
|
2025-12-29 14:48:06 +01:00 |
|
|
|
9fc620130c
|
fix: use $c->rendered instead of stash->{rendered}
|
2025-12-29 14:47:59 +01:00 |
|
|
|
2903aa51ff
|
revert: cpanfile.snapshot
|
2025-12-29 08:59:41 +01:00 |
|
|
|
bf9579ab14
|
fix: deploy templates/public but not cpanfile.snapshot
|
2025-12-29 08:57:39 +01:00 |
|
|
|
48f2b8448a
|
docs: update readme
|
2025-12-29 08:56:43 +01:00 |
|
|
|
10fd579d0b
|
docs: update readme
|
2025-12-29 08:48:53 +01:00 |
|
|
|
4810966b1c
|
feat: add version in /health
|
2025-12-29 08:43:55 +01:00 |
|
|
|
8c62bff80b
|
clean: remove div
|
2025-12-29 08:43:05 +01:00 |
|
|
|
17857a6b56
|
feat: add brand-version to display version bottom right
|
2025-12-29 08:42:59 +01:00 |
|
|
|
4053b89cf4
|
feat: title top left, version bottom right
|
2025-12-29 08:42:48 +01:00 |
|
|
|
331dba9211
|
feat: setup version
|
2025-12-29 08:42:27 +01:00 |
|
|
|
bd4c6c9a1d
|
test: add unit testing for URL.pm
|
2025-12-28 19:40:50 +01:00 |
|
|
|
6f40a4569a
|
clean: shorten title
|
2025-12-28 19:32:47 +01:00 |
|
|
|
9f8570eea2
|
test: add unit testing for App.pm
|
2025-12-28 19:30:37 +01:00 |
|
|
|
611a25c88d
|
fix: center the box and its button
|
2025-12-28 17:59:08 +01:00 |
|
|
|
801b09ac83
|
feat: favicon
|
2025-12-28 17:55:55 +01:00 |
|
|
|
39fd9d5c20
|
feat: add our favicon
|
2025-12-28 17:55:51 +01:00 |
|
|
|
b15b473033
|
clean: remove useless label
|
2025-12-28 17:53:58 +01:00 |
|
|
|
e9969841b1
|
feat: add brand-mark class to place "urupam"
|
2025-12-28 17:53:41 +01:00 |
|
|
|
edc1c8cd66
|
refactor: extract shared styles to app.css
|
2025-12-28 17:48:58 +01:00 |
|
|
|
fcbb8f8e5e
|
feat: adopt layout and improve error handling
|
2025-12-28 17:48:37 +01:00 |
|
|
|
d8c43cd29b
|
feat: add a shared html layout
|
2025-12-28 17:48:17 +01:00 |
|
|
|
2ae22a271b
|
feat: use shared layout
|
2025-12-28 17:48:05 +01:00 |
|
|
|
6912495a04
|
test: use perl.org for reachability edge case
|
2025-12-28 17:46:49 +01:00 |
|
|
|
aa9f557aa0
|
docs: remove warning
|
2025-12-28 17:37:57 +01:00 |
|
|
|
fb500c7799
|
feat: create main template
|
2025-12-28 17:37:50 +01:00 |
|
|
|
d9b05bab33
|
feat: render our new main template
|
2025-12-28 17:37:43 +01:00 |
|
|
|
6ce43f4608
|
feat: use HTML templates for public errors
|
2025-12-28 17:32:25 +01:00 |
|