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