Commit Graph

42 Commits

Author SHA1 Message Date
WeebDataHoarder
6032ac0b78 http: add cache-control headers to prevent caching by other proxies elsewhere 2025-05-13 23:48:21 +02:00
WeebDataHoarder
163fce6cfc challenge/resource-load: use proper redirect URL to current issued challenge, add static/dynamic cache bust 2025-05-13 23:43:31 +02:00
WeebDataHoarder
1d2f4e8a5b challenge/context: use additional HTTP headers in challenge key generation if the challenge allows for it 2025-05-04 20:22:34 +02:00
WeebDataHoarder
b1f1e9a54f challenge/http: fix setting request headers properly, add method header 2025-05-04 04:03:07 +02:00
WeebDataHoarder
aebbfa4eaa context: set client network address without original port on backend-ip-header option 2025-05-03 22:32:25 +02:00
WeebDataHoarder
44c9114ae5 challenges: add refresh via JavaScript window.location 2025-05-03 21:35:12 +02:00
WeebDataHoarder
925a1d59a2 challenges: return ErrNoCookie when no cookies of given name are present 2025-05-03 17:41:50 +02:00
WeebDataHoarder
76417b4308 challenges: parse all existing cookies with given name and extract valid one always 2025-05-03 17:37:52 +02:00
WeebDataHoarder
0e62f80f9b challenges: prevent unbounded growth of stored cookies by bundling all state onto a single JWT token 2025-05-03 17:30:39 +02:00
WeebDataHoarder
2cb5972371 challenges/context: allow setting request headers towards the backend 2025-05-03 15:55:13 +02:00
WeebDataHoarder
1ea19c5a6c state context: Added proxy-safe-link-tags to proxy <link> tags, use specific LinkTags ranger on templates instead of raw elements 2025-05-03 04:12:58 +02:00
WeebDataHoarder
e8e072286e challenge: lower preload-early-hint-deadline to 2 seconds by default 2025-05-02 20:42:25 +02:00
WeebDataHoarder
a2225fe749 context: allow nil request context in fetch cases 2025-05-02 02:23:48 +02:00
WeebDataHoarder
d6c29846df condition: generalize AST compilation, hot load network prefix blocks as needed, walk the AST and detect and preload networks 2025-05-01 02:40:43 +02:00
WeebDataHoarder
fccaa64fad conditions: verify that AST condition result is bool 2025-05-01 01:58:08 +02:00
WeebDataHoarder
a9f03267b6 settings: allow transparent backends that don't set all values 2025-04-30 20:54:50 +02:00
WeebDataHoarder
e49c4ae72f action/context: add capability to set response headers 2025-04-28 12:40:03 +02:00
WeebDataHoarder
2bb8ec833d challenges/refresh: change refresh-mode to refresh-via as examples show 2025-04-27 21:42:29 +02:00
WeebDataHoarder
3234c4e801 feature: Implement <meta> tag fetcher from backends with allow-listed entries to prevent unwanted keys to pass 2025-04-27 21:40:59 +02:00
WeebDataHoarder
666ffa574a challenge: implement IPv6 Happy Eyeballs again, use errors to detect this within challenge, cleanup referrer tags 2025-04-27 18:49:58 +02:00
WeebDataHoarder
06c363e55a context: add ip prefix on keyed cookie 2025-04-27 17:37:34 +02:00
WeebDataHoarder
62ece572d9 challenge: Use top /24 for IPv4 or top /64 for IPv6 2025-04-27 17:30:34 +02:00
WeebDataHoarder
c5ad9cdf03 context: add CONTEXT action to apply options on current request 2025-04-27 17:20:57 +02:00
WeebDataHoarder
01ef63abea challenge: quote expected challenge name on error 2025-04-25 23:20:53 +02:00
WeebDataHoarder
0b9f077b6c context: delete query parameters set by go-away 2025-04-25 22:48:34 +02:00
WeebDataHoarder
398675aa3c config: Add string replacement for templates, add example config.yml (close #10) 2025-04-25 17:32:45 +02:00
WeebDataHoarder
4d7436c51b cel: use generic env from https://codeberg.org/gone/http-cel 2025-04-25 12:08:55 +02:00
WeebDataHoarder
bc0eaeca21 metrics: Add rule action metrics 2025-04-25 11:40:39 +02:00
WeebDataHoarder
47f9f6fee6 metrics: Added prometheus metrics for rules and challenges 2025-04-25 11:27:42 +02:00
WeebDataHoarder
9541c58eeb settings: introduce settings YAML file to complement cmd arguments 2025-04-24 18:26:06 +02:00
WeebDataHoarder
96870cc192 dnsbl: normal error handling on resolution error 2025-04-24 00:02:06 +02:00
WeebDataHoarder
3bbd50764a challenge: add cookie prefix to cookies tied to host/pubkey to prevent reuse 2025-04-23 22:38:14 +02:00
WeebDataHoarder
cd372e1512 challenge: Skip already issued challenges 2025-04-23 22:06:11 +02:00
WeebDataHoarder
cef915b353 http: use Query.Get instead of FormValue, allows POST through 2025-04-23 21:30:39 +02:00
WeebDataHoarder
ead41055ca Condition, rules, state and action refactor / rewrite
Add nested rules
Add backend action, allow wildcard in backends
Remove poison from tree, update README with action table

Allow defining pass/fail actions on challenge,

Remove redirect/referer parameters on backend pass

Set challenge cookie tied to host

Rewrite DNSBL condition into a challenge

Allow passing an arbitrary path for assets to js challenges

Optimize programs exhaustively on compilation

Activation instead of map for CEL context, faster map access, new network override

Return valid host on cookie setting in case Host is an IP address.
bug: does not work with IPv6, see https://github.com/golang/go/issues/65521

Apply TLS fingerprinter on GetConfigForClient instead of GetCertificate

Cleanup go-away cookies before passing to backend

Code action for specifically replying with an HTTP code
2025-04-23 20:35:20 +02:00
WeebDataHoarder
baf9df9f0a Allow conditions on challenges, and early hint deadline 2025-04-08 11:40:16 +02:00
WeebDataHoarder
e08a5697f6 Minor cleanup of challenges code, bind session http cookies to issued tokens 2025-04-07 19:00:53 +02:00
WeebDataHoarder
0968e6feae Move challenge structs to external state 2025-04-07 16:22:16 +02:00
WeebDataHoarder
02f3c1cb19 Rearranged wasm challenge utils 2025-04-06 12:51:27 +02:00
WeebDataHoarder
65561ab00e Add wasm helper, wasm test utility 2025-04-06 11:44:06 +02:00
WeebDataHoarder
7d436cbdb4 Embed go exp package requirements to ensure we don't use arbitrary exp, move utilities to utils 2025-04-06 02:02:54 +02:00
WeebDataHoarder
617ec804bc Closer file structure to desired 2025-04-06 01:46:18 +02:00