nuke/docs/docs/admin
Xe Iaso e3826df3ab
feat: implement a client for Thoth, the IP reputation database for Anubis (#637)
* feat(internal): add Thoth client and simple ASN checker

Signed-off-by: Xe Iaso <me@xeiaso.net>

* feat(thoth): cached ip to asn checker

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore: go mod tidy

Signed-off-by: Xe Iaso <me@xeiaso.net>

* fix(thoth): minor testing fixups, ensure ASNChecker is Checker

Signed-off-by: Xe Iaso <me@xeiaso.net>

* feat(thoth): make ASNChecker instances

Signed-off-by: Xe Iaso <me@xeiaso.net>

* feat(thoth): add GeoIP checker

Signed-off-by: Xe Iaso <me@xeiaso.net>

* feat(thoth): store a thoth client in a context

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore: refactor Checker type to its own package

Signed-off-by: Xe Iaso <me@xeiaso.net>

* test(thoth): add thoth mocking package, ignore context deadline exceeded errors

Signed-off-by: Xe Iaso <me@xeiaso.net>

* feat(thoth): pre-cache private ranges

Signed-off-by: Xe Iaso <me@xeiaso.net>

* feat(lib/policy/config): enable thoth ASNs and GeoIP checker parsing

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore(thoth): refactor to move checker creation to the checker files

Signed-off-by: Xe Iaso <me@xeiaso.net>

* feat(policy): enable thoth checks

Signed-off-by: Xe Iaso <me@xeiaso.net>

* feat(thothmock): test helper function for loading a mock thoth instance

Signed-off-by: Xe Iaso <me@xeiaso.net>

* feat: wire up Thoth, make thoth checks part of the default config

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore: spelling

Signed-off-by: Xe Iaso <me@xeiaso.net>

* fix(thoth): mend staticcheck errors

Signed-off-by: Xe Iaso <me@xeiaso.net>

* docs(admin): add Thoth docs

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore(policy): update Thoth links in error messages

Signed-off-by: Xe Iaso <me@xeiaso.net>

* docs: update CHANGELOG

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore: spelling

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore(docs/manifest): enable Thoth

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore: add THOTH_INSECURE for contacting Thoth over plain TCP in extreme circumstances

Signed-off-by: Xe Iaso <me@xeiaso.net>

* test(thoth): use mock thoth when credentials aren't detected in the environment

Signed-off-by: Xe Iaso <me@xeiaso.net>

* chore: spelling

Signed-off-by: Xe Iaso <me@xeiaso.net>

* fix(cmd/anubis): better warnings for half-configured Thoth setups

Signed-off-by: Xe Iaso <me@xeiaso.net>

* docs(botpolicies): link to Thoth geoip docs

Signed-off-by: Xe Iaso <me@xeiaso.net>

---------

Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-06-16 11:57:32 -04:00
..
configuration feat(lib/challenge): HTTP meta refresh challenge method (#623) 2025-06-06 21:18:55 -04:00
environments docs(admin/environments): Prefer IPv6 over IPv4 for apache2 listener directive (#628) 2025-06-09 08:56:30 -04:00
frameworks docs(admin): add wordpress docs (#552) 2025-05-24 17:00:37 -04:00
_category_.json add docs site based on docusarus (#35) 2025-03-20 15:06:58 -04:00
algorithm-selection.mdx cmd/anubis: configurable difficulty per-bot rule (#53) 2025-03-21 13:48:00 -04:00
caveats-gitea-forgejo.mdx add docs site based on docusarus (#35) 2025-03-20 15:06:58 -04:00
default-allow-behavior.mdx feat(docs): add documentation for default allow behavior (#346) 2025-04-24 01:13:21 +00:00
installation.mdx feat: add a strip-base-prefix option (#655) 2025-06-12 17:46:08 -04:00
native-install.mdx docs(native-install): vague gesturing at distribution package managers (#544) 2025-05-23 16:51:45 +00:00
policies.mdx feat(lib): implement request weight (#621) 2025-06-09 15:25:04 -04:00
robots2policy.mdx feat: add robots2policy CLI to convert robots.txt to Anubis CEL (#657) 2025-06-14 23:41:00 -04:00
thoth.mdx feat: implement a client for Thoth, the IP reputation database for Anubis (#637) 2025-06-16 11:57:32 -04:00