aboutsummaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)AuthorFilesLines
2025-03-22fix: installation instructions and example (#75)Christian F. Coors2-2/+6
2025-03-21cmd/anubis: delete example RSS reader rule (#67)v1.14.2Xe Iaso1-0/+6
The example/default bot policy document had a rule to allow RSS readers through based on paths that end with ".rss", ".xml", ".atom", or ".json". Frameworks like Rails will treat these specially, meaning that going to /things/12345-whateverhaha.json could bypass Anubis. I checked the history of this rule and it was present in the original example policy file in Xe/x. This rule is likely a mistake and it has been removed. I think it was for making my blog still work with RSS readers. Thanks to Graham Sutherland for reporting this over email. Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-21Add MojeekBot (#64)Dennis ten Hoove1-0/+2
* Add MojeekBot * Update docs/docs/CHANGELOG.md Co-authored-by: Xe Iaso <me@xeiaso.net> Signed-off-by: Dennis ten Hoove <36002865+dennis1248@users.noreply.github.com> --------- Signed-off-by: Dennis ten Hoove <36002865+dennis1248@users.noreply.github.com> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-03-21cmd/anubis: set X-Real-Ip based on X-Forwarded-For (#63)v1.14.1Xe Iaso1-0/+7
This triggers a SHAME release[0]. [0]: https://pridever.org/
2025-03-21stage v1.14.0 (#59)v1.14.0Xe Iaso1-0/+6
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-21Allow filtering by remote addresses (#52)Remilia Da Costa Faro2-0/+49
* Added the possibility to define rules for remote addresses * Added change in changelog * Added check for X-Real-Ip and X-Forwarded-For when checking for remote address filtering * cmd/anubis: refine IP filtering logic * Optimize the configuration so that the IP trie is created once at application start instead of dynamically being created every request. * Document the changes in the changelog and docs site. * Allow pure IP range filtering. * Allow user agent based IP range filtering. * Allow path based IP range filtering. * Create --debug-x-real-ip-default flag for testing Anubis locally without a HTTP load balancer. --------- Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-03-21cmd/anubis: explain why users are seeing Anubis (#55)Xe Iaso4-0/+37
* cmd/anubis: explain why users are seeing Anubis Closes #25 Closes #38 Also includes the beginnings of a "user guides" section in the docs for user-facing documentation. * Update docs/docs/user/known-broken-extensions.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Xe Iaso <me@xeiaso.net> * cmd/anubis: fix indentation in index.templ Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-21cmd/anubis: configurable difficulty per-bot rule (#53)Xe Iaso3-0/+52
Closes #30 Introduces the "challenge" field in bot rule definitions: ```json { "name": "generic-bot-catchall", "user_agent_regex": "(?i:bot|crawler)", "action": "CHALLENGE", "challenge": { "difficulty": 16, "report_as": 4, "algorithm": "slow" } } ``` This makes Anubis return a challenge page for every user agent with "bot" or "crawler" in it (case-insensitively) with difficulty 16 using the old "slow" algorithm but reporting in the client as difficulty 4. This is useful when you want to make certain clients in particular suffer. Additional validation and testing logic has been added to make sure that users do not define "impossible" challenge settings. If no algorithm is specified, Anubis defaults to the "fast" algorithm. Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-21Add kagibot (#44)makeworld1-0/+1
* Add kagibot Signed-off-by: makeworld <25111343+makew0rld@users.noreply.github.com> * Update CHANGELOG.md Signed-off-by: makeworld <25111343+makew0rld@users.noreply.github.com> --------- Signed-off-by: makeworld <25111343+makew0rld@users.noreply.github.com> Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-03-21general unix domain sockets support (#45)soopyc2-8/+12
* feat: allow binding to unix domain sockets this is useful when the user does not want to expose more tcp ports than needed. also simplifes configuration in some situation, like with nixos modules as the socket paths can be automatically configured. docs updated with additional configuration flags. Signed-off-by: Cassie Cheung <me@soopy.moe> * feat: graceful shutdown and cleanup on signal this is needed to clean up left-over unix sockets, else on the next boot listener panics with `address already in use`. Co-authored-by: cat <cat@gensokyo.uk> Signed-off-by: Cassie Cheung <me@soopy.moe> * feat: support unix socket upstream targets adds support for proxying unix socket upstreams, essentially allowing anubis to run without listening on tcp sockets at all*. *for metrics, neither prometheus and victoriametrics supports scraping from unix sockets. if metrics are desired, tcp sockets are still needed. Co-authored-by: cat <cat@gensokyo.uk> Signed-off-by: Cassie Cheung <me@soopy.moe> * docs: add changelog entry --------- Signed-off-by: Cassie Cheung <me@soopy.moe> Co-authored-by: cat <cat@gensokyo.uk>
2025-03-21Fix when hardwareConcurrency is undefined (#42)Callum Thomson1-0/+1
2025-03-20docs/design: add note on why anubis uses proof of workXe Iaso2-1/+36
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-20Explicitely define image sources in Dockerfile (#21)Dennis ten Hoove2-2/+4
* Explicitely define image sources Explicitely refering to docker.io will make the build succeed on software such as podman which does not default to docker.io as the standard image source * Dockerfiles: use the full legal docker.io/library name just in case Signed-off-by: Xe Iaso <me@xeiaso.net> * update CHANGELOG Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-03-20Ensure content flows and stays centered on small screens (#27)Dennis ten Hoove1-0/+2
* Ensure content flows and stays centered on small screens Fixes #18 * Do not overflow image, instead resize with page * update CHANGELOG Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-03-20cmd/anubis: lower default difficulty to 4Xe Iaso1-0/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-20fix: no duplicate work when exceeding hardcoded int (#36)Donatas1-0/+1
* fix: no duplicate work when exceeding that 1xxx number * run go generate and update CHANGELOG Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-03-20Fix: Removed several visible AI artifacts (e.g., 6 fingers) (#37)Federico Gaggero4-0/+1
* Fix: Removed several visible AI artifacts (e.g., 6 fingers) * Add an entry to docs/docs/CHANGELOG.md
2025-03-20docs/manifest: always pullXe Iaso1-0/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-20oopsXe Iaso1-1/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-20docs: add funding pageXe Iaso4-5/+12
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-20docs: add placeholder warning to landing pageXe Iaso2-2/+9
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-20add docs site based on docusarus (#35)Xe Iaso44-2/+20842
* add docs site based on docusarus Closes #2 Signed-off-by: Xe Iaso <me@xeiaso.net> * docs: deploy to aeacus Signed-off-by: Xe Iaso <me@xeiaso.net> * ready for merge Signed-off-by: Xe Iaso <me@xeiaso.net> * docs: fix anubis port Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-03-17initial import from /x/ monorepoXe Iaso1-0/+77
Signed-off-by: Xe Iaso <me@xeiaso.net>