Commit Graph

44 Commits

Author SHA1 Message Date
WeebDataHoarder
9a6f25df59 http/query: preserve raw query state when modifying url query 2025-06-09 13:49:37 +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
3d73ee76c4 state: add more meta tags onto cached tags, add missing txt and xml resources to well-known snippet 2025-05-03 05:59:32 +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
a9f03267b6 settings: allow transparent backends that don't set all values 2025-04-30 20:54:50 +02:00
WeebDataHoarder
e46a5c75f8 debug: output mismatched backend host 2025-04-30 03:11:29 +02:00
WeebDataHoarder
e49c4ae72f action/context: add capability to set response headers 2025-04-28 12:40:03 +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
398675aa3c config: Add string replacement for templates, add example config.yml (close #10) 2025-04-25 17:32:45 +02:00
WeebDataHoarder
bc0eaeca21 metrics: Add rule action metrics 2025-04-25 11:40:39 +02:00
WeebDataHoarder
d6d69d0192 metrics: track DEFAULT rule hit 2025-04-25 11:40:38 +02:00
WeebDataHoarder
9541c58eeb settings: introduce settings YAML file to complement cmd arguments 2025-04-24 18:26:06 +02:00
WeebDataHoarder
cef915b353 http: use Query.Get instead of FormValue, allows POST through 2025-04-23 21:30:39 +02:00
WeebDataHoarder
cb02fb20e9 cmd: print current version name on cmd and Via header 2025-04-23 20:46:17 +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
39fbcf92d2 Return in case of not matching poison 2025-04-13 20:39:47 +02:00
WeebDataHoarder
cc89b8657f Only serve poison if encoding for it exists 2025-04-13 11:15:24 +02:00
WeebDataHoarder
f2005d5051 Ensure JA3N is stringified on logger 2025-04-12 15:36:54 +02:00
WeebDataHoarder
617e40099f Check fingerprint ptr before usage 2025-04-12 13:56:25 +02:00
WeebDataHoarder
ca49c99cad Add support for JA3N / JA4 TLS fingerprinting 2025-04-12 02:13:05 +02:00
WeebDataHoarder
87c2845952 Send request data early 2025-04-11 06:22:48 +02:00
WeebDataHoarder
7829eece77 Added backend IP header support 2025-04-11 06:02:01 +02:00
WeebDataHoarder
153870acc0 Serve pprof server when debug mode is enabled 2025-04-08 20:06:28 +02:00
WeebDataHoarder
f80d6ebd15 Set X-Away-Id on response 2025-04-08 13:13:19 +02:00
WeebDataHoarder
baf9df9f0a Allow conditions on challenges, and early hint deadline 2025-04-08 11:40:16 +02:00
WeebDataHoarder
1c2d1e008c Added refresh button to challenges and deny pages where reasonable, ensure no open redirect or other 2025-04-07 19:24:22 +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
411f028f56 Move backends to cmd args, allow setting private key seed via parameter or ENV var 2025-04-06 03:08:19 +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
WeebDataHoarder
c222508e5c Add url query to logging 2025-04-04 13:44:47 +02:00
WeebDataHoarder
e9269338e7 Add response poisoning 2025-04-03 14:18:55 +02:00
WeebDataHoarder
6f73337017 Add extra challenge pass message for inline challenges 2025-04-03 06:33:05 +02:00
WeebDataHoarder
c76889efa2 Add logging levels and timings 2025-04-03 06:16:44 +02:00
WeebDataHoarder
ca3a59c10a Load theme onto template data 2025-04-03 04:46:20 +02:00
WeebDataHoarder
f9634cfc71 Revamp templates, allow loading external templates, support themes 2025-04-03 04:39:33 +02:00
WeebDataHoarder
150927e7ba Allow multiple backends 2025-04-02 19:23:09 +02:00
WeebDataHoarder
8d9d5a8ab3 Allow sending resources on key challenge, send multiple challenges to specific browsers 2025-04-02 14:43:39 +02:00
WeebDataHoarder
dbff9342cb Added method matching on rules 2025-04-02 14:08:18 +02:00
WeebDataHoarder
3cd880b169 Proper challenge/error pages 2025-04-01 22:12:15 +02:00
WeebDataHoarder
df5e125cf2 Move most code under lib 2025-04-01 21:22:19 +02:00