48 Commits

Author SHA1 Message Date
WeebDataHoarder
e4e5b0bc5d build/docker: pass JWT_PRIVATE_KEY_SEED as a secret env, add alternate GOAWAY_JWT_PRIVATE_KEY_SEED env 2025-06-28 10:29:42 +02:00
WeebDataHoarder
a5e2e6625b cmd: move http/backend error logs to debug level 2025-05-17 18:55:48 +02:00
WeebDataHoarder
3ac6b9d366 cmd/go-away: log private key fingerprint on load 2025-05-14 01:30:48 +02:00
WeebDataHoarder
606f8ec3a0 templates: explicitly allow overriding logo via cmdline/override in config, have bundled templates support it 2025-05-03 04:14:11 +02:00
WeebDataHoarder
d412672ed4 state: explicitly free resources on Close() 2025-05-01 14:16:19 +02:00
WeebDataHoarder
4ce6d9efa3 cmd: add go runtime version and arch logs 2025-04-30 10:45:14 +02:00
WeebDataHoarder
e7833a7106 cmd: attach slog to all http servers 2025-04-29 02:14:02 +02:00
WeebDataHoarder
eb96acb559 cmd: have -check use same logger as fatal errors 2025-04-27 12:18:49 +02:00
WeebDataHoarder
c33531d7eb cmd: log errors with ERROR severity via slog, additionally print newline string, fixes #12 2025-04-27 12:17:18 +02:00
WeebDataHoarder
a85aa95dbd cmd: support changing path from well-known prefix, allow configuring full path 2025-04-25 22:16:09 +02:00
WeebDataHoarder
bca5b25f28 docker: include default snippets onto Dockerfile, allow multiple snippets folders, closes #8 2025-04-25 18:09:25 +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
cb02fb20e9 cmd: print current version name on cmd and Via header 2025-04-23 20:46:17 +02:00
WeebDataHoarder
57755112ea ci: check example policy files
cmd: add check parameter
2025-04-23 20:35:20 +02:00
WeebDataHoarder
6bb7ca979d Implement cache for networks 2025-04-23 20:35:20 +02:00
WeebDataHoarder
d56d621f7a Allow reloading config via SIGHUP 2025-04-23 20:35:20 +02:00
WeebDataHoarder
9719c0ff39 Support atomically swapping http handler for passhtrough 2025-04-23 20:35:20 +02:00
WeebDataHoarder
3b11792594 Implement policy snippets 2025-04-23 20:35:20 +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
82eed95ff6 Increase backend definition verbosity 2025-04-18 16:12:26 +02:00
WeebDataHoarder
a5be4faa8a Default to forgejo-auto on forgejo 2025-04-13 19:06:37 +02:00
WeebDataHoarder
f2389650eb Remove TLS debugging code on main 2025-04-13 11:16:13 +02:00
WeebDataHoarder
ca49c99cad Add support for JA3N / JA4 TLS fingerprinting 2025-04-12 02:13:05 +02:00
WeebDataHoarder
f6f00a54da Go 1.22 -> Go 1.24 bump 2025-04-11 07:50:02 +02:00
WeebDataHoarder
7829eece77 Added backend IP header support 2025-04-11 06:02:01 +02:00
WeebDataHoarder
0da12cfdab Allow specifying PROXY via BIND network 2025-04-11 05:47:32 +02:00
WeebDataHoarder
3060188f44 Add PROXY support 2025-04-11 05:46:05 +02:00
WeebDataHoarder
031a8c5482 Actually load TLS 2025-04-10 07:00:43 +02:00
WeebDataHoarder
2eee5b20c2 Log when autocert is enabled 2025-04-10 06:43:24 +02:00
WeebDataHoarder
4744048a38 Add acme autocert configuration 2025-04-10 06:13:42 +02:00
WeebDataHoarder
ce111f6ae9 Add DNSBL querying in conditions 2025-04-08 22:11:58 +02:00
WeebDataHoarder
b0ab78ef65 Disable passthrough mode by default 2025-04-08 02:52:23 +02:00
WeebDataHoarder
2ce9709667 New challenge for HTTP/2 clients, preload-link 2025-04-08 02:17:03 +02:00
WeebDataHoarder
d2513d2bab Add h2c support 2025-04-08 01:52:27 +02:00
WeebDataHoarder
131fb48ccb Added passthrough mode to go-away 2025-04-07 16:21:57 +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
7a20d0c738 Automatically fetch own package name for running binary 2025-04-06 03:15:50 +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
617ec804bc Closer file structure to desired 2025-04-06 01:46:18 +02:00
WeebDataHoarder
01466e1686 Changed level for startup messages 2025-04-03 06:24:06 +02:00
WeebDataHoarder
c76889efa2 Add logging levels and timings 2025-04-03 06:16:44 +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
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
WeebDataHoarder
06bc5107d6 Initial commit 2025-03-31 16:24:08 +02:00