aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2025-04-24Fix: mojeekbot regex (#351)Igor Brai2-1/+2
* update mojeekbot UA regex * add fix into changelog * hack: empty commit to unbreak CI 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-04-24README: represent repology badge in 3 column format (#349)luzpaz1-1/+1
Signed-off-by: luzpaz <luzpaz@users.noreply.github.com>
2025-04-24fix(lib): use correct URL for path checker in PassChallenge (#347)compilade1-1/+11
Otherwise, `r.URL.Path` was always `/.within.website/x/cmd/anubis/api/pass-challenge` and this didn't match the path checker rules correctly, which caused a failure when the difficulty of these rules was non-default.
2025-04-24feat(docs): add documentation for default allow behavior (#346)Luciano Hillcoat - lucdev.net3-1/+94
2025-04-23feat(xess): move CSS color definitions to CSS variables (#339)Xe Iaso4-237/+288
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-23build(deps): bump estree-util-value-to-estree in /docs (#336)dependabot[bot]1-3/+3
Bumps [estree-util-value-to-estree](https://github.com/remcohaszing/estree-util-value-to-estree) from 3.3.2 to 3.3.3. - [Release notes](https://github.com/remcohaszing/estree-util-value-to-estree/releases) - [Commits](https://github.com/remcohaszing/estree-util-value-to-estree/compare/v3.3.2...v3.3.3) --- updated-dependencies: - dependency-name: estree-util-value-to-estree dependency-version: 3.3.3 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-23build(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 in /docs (#335)dependabot[bot]1-3/+3
Bumps [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.7 to 2.0.9. - [Release notes](https://github.com/chimurai/http-proxy-middleware/releases) - [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.9/CHANGELOG.md) - [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.7...v2.0.9) --- updated-dependencies: - dependency-name: http-proxy-middleware dependency-version: 2.0.9 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-23feat: enable loading config fragments (#321)Xe Iaso37-1305/+1210
* feat(config): support importing bot policy snippets This changes the grammar of the Anubis bot policy config to allow importing from internal shared rules or external rules on the filesystem. This lets you create a file at `/data/policies/block-evilbot.yaml` and then import it with: ```yaml bots: - import: /data/policies/block-evilbot.yaml ``` This also explodes the default policy file into a bunch of composable snippets. Thank you @Aibrew for your example gitea Atom / RSS feed rules! Signed-off-by: Xe Iaso <me@xeiaso.net> * fix(data): update botPolicies.json to use imports Signed-off-by: Xe Iaso <me@xeiaso.net> * fix(cmd/anubis): extract bot policies with --extract-resources This allows a user that doesn't have anything but the Anubis binary to figure out what the default configuration does. * docs(data/botPolices.yaml): document import syntax in-line Signed-off-by: Xe Iaso <me@xeiaso.net> * fix(lib/policy): better test importing from JSON snippets Signed-off-by: Xe Iaso <me@xeiaso.net> * docs(admin): Add import syntax documentation This documents the import syntax and is based on the block comment at the top of the default bot policy file. * docs(changelog): add note about importing snippets Signed-off-by: Xe Iaso <me@xeiaso.net> * style(lib/policy/config): use an error value instead of an inline error Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-23feat(cmd/anubis): compute full XFF header (#328)Aurelia3-0/+42
* feat(cmd/anubis): compute full XFF header this one is pretty important to not pass through blindly, as many applications and frameworks will trust them * feat(cmd/anubis): skip XFF compute if remote address is loopback * docs: update CHANGELOG
2025-04-23fix(docs): make the docs respect light/dark mode (#334)Xe Iaso3-10/+53
Closes #333 I'm very bad at design so I just picked colors that looked reasonable enough to me. Hopefully this will be enough to get us to the next stage! Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-22fix: improve error handling and create the json encoder once #331 (#332)Jason Cameron8-23/+48
* fix: improve error handling for resource closing and JSON encoding in MakeChallenge * chore: update CHANGELOG with recent changes and improvements * refactor: simplify RenderIndex function and improve error handling --------- Signed-off-by: Jason Cameron <git@jasoncameron.dev>
2025-04-22Update known-instances.md (#324)Xe Iaso1-0/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-22chore(ci): migrate to TecharoHQ/yeet (#323)Xe Iaso2-2/+4
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-22data: disable generic-bot-catchall by default (#322)Xe Iaso4-18/+13
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-22feat(lib): use Checker type instead of ad-hoc logic (#318)Xe Iaso8-151/+453
This makes each check into its own type that has encapsulated check logic, meaning that it's easier to add new checker implementations in the future. Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-21docs: update default difficulty to 4Xe Iaso3-3/+3
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-21docs(known-instances): add Arch wikiXe Iaso1-24/+25
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-20build(deps): bump astral-sh/setup-uv in the github-actions group (#312)dependabot[bot]1-1/+1
Bumps the github-actions group with 1 update: [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv). Updates `astral-sh/setup-uv` from 5.4.1 to 5.4.2 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/0c5e2b8115b80b4c7c5ddf6ffdd634974642d182...d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-version: 5.4.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-20Update CHANGELOG.md (#313)Jason Cameron1-16/+16
Signed-off-by: Jason Cameron <git@jasoncameron.dev>
2025-04-21lib: move config to yaml (#307)Xe Iaso22-19/+854
* lib: move config to yaml Signed-off-by: Xe Iaso <me@xeiaso.net> * web: run go generate Signed-off-by: Xe Iaso <me@xeiaso.net> * Add Haiku to known instances (#304) Signed-off-by: Asmodeus <46908100+AsmodeumX@users.noreply.github.com> * Add headers bot rule (#300) * Closes #291: add headers support to bot policy rules * Fix config validator * update docs for JSON -> YAML Signed-off-by: Xe Iaso <me@xeiaso.net> * docs: document http header based actions Signed-off-by: Xe Iaso <me@xeiaso.net> * lib: add missing test Signed-off-by: Xe Iaso <me@xeiaso.net> * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Signed-off-by: Asmodeus <46908100+AsmodeumX@users.noreply.github.com> Co-authored-by: Asmodeus <46908100+AsmodeumX@users.noreply.github.com> Co-authored-by: Neur0toxine <pashok9825@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-20feat(docs): added info on how to configure traefik (#255)Snoweuph3-0/+213
* feat(docs): added info on how to configure traefik * docs/admin/config/traefik: typo fixes 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-04-20Update known-instances.md (#309)Xe Iaso1-0/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-20added an another git.lupancham.net to known instances of use (#296)Thinkseal1-0/+1
* Update CHANGELOG.md Signed-off-by: Thinkseal <132022649+Thinkseal@users.noreply.github.com> * Update known-instances.md to add git.lupancham.net Signed-off-by: Thinkseal <132022649+Thinkseal@users.noreply.github.com> --------- Signed-off-by: Thinkseal <132022649+Thinkseal@users.noreply.github.com> Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-20Add headers bot rule (#300)Neur0toxine9-21/+125
* Closes #291: add headers support to bot policy rules * Fix config validator
2025-04-20Add Haiku to known instances (#304)Asmodeus1-1/+2
Signed-off-by: Asmodeus <46908100+AsmodeumX@users.noreply.github.com>
2025-04-20docs/admin/native-install: point people to the right places to get started ↵Xe Iaso1-0/+7
easier Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-20undo depot for now until I have the corp set upXe Iaso7-7/+7
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-20docs/admin/environments/docker-compose: fix heading levelXe Iaso1-1/+1
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-19Use outline shorthand (#293)Jason Cameron2-3/+2
* fix(xess): suppress Go inspection warning for boolean expressions Signed-off-by: Jason Cameron <git@jasoncameron.dev> * feat: use outline shorthand Signed-off-by: Jason Cameron <git@jasoncameron.dev> --------- Signed-off-by: Jason Cameron <git@jasoncameron.dev>
2025-04-19docs/admin: break per-environment details into their own pages (#292)Xe Iaso7-408/+490
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-19docs/admin/installation: Apache documentation (#290)Xe Iaso2-0/+143
* docs/admin/installation: Apache documentation Closes #277 This adds step by step documentation for setting up Anubis in Apache. * docs/admin/installation: add selinux troubleshooting Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-18Add more AI user agent in botPolicies.json (#249)Dryusdan3-2/+21
* Add more IA user agent in bot policies * Update data/botPolicies.json Signed-off-by: Xe Iaso <me@xeiaso.net> * Fix trailling pipe that deny all requests --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-18Add 'Opera' to 'generic-browser' bot policy rule (#220)Michael Jeanson2-1/+2
After deploying Anubis bot traffic is drastically reduced but I still see a lot of requests from User-Agents that claim to be 'Opera' like so: "Opera/9.90.(Windows NT 6.0; mt-MT) Presto/2.9.173 Version/10.00" "Opera/8.46.(X11; Linux i686; fo-FO) Presto/2.9.161 Version/11.00" Add 'Opera' to the generic-browser rule to also challenge them. Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-18Allow ranges from the Internet Archive (AS7941) (#276)Remilia Da Costa Faro2-0/+10
* Allow ranges from the Internet Archive (AS7941) * Updated changelog * Update data/botPolicies.json Signed-off-by: Xe Iaso <me@xeiaso.net> * Removed overlapping CIDR for internet-archive in botPolicies.json --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-18perf: embed challenge data in HTML (#279)Ryan Cao7-42/+63
2025-04-17.github/funding: add GitHub sponsorsXe Iaso1-1/+2
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-18Docs: add nginx with Anubis in the middle configuration example (#282)Jeroen Massar2-0/+162
* Add documentation example for a NGINX configuration that demonstrates how to insert Anubis in the middle of a normal configuration. Signed-off-by: Jeroen Massar <jeroen@massar.ch> * Add changelog entry Signed-off-by: Jeroen Massar <jeroen@massar.ch> * docs/admin/installation: rephrasing and diagrams Signed-off-by: Xe Iaso <me@xeiaso.net> * docs/admin/installation: flatten down the nginx config Signed-off-by: Xe Iaso <me@xeiaso.net> * docs/admin/installation: other fixups and note the assumptions at play Thanks @SuperSandro2000! Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Jeroen Massar <jeroen@massar.ch> Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-16README: add contributor imagesXe Iaso2-0/+24
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-15docs/blog: remove (#273)fossdd8-155/+0
still leftovers from the docusaurus template
2025-04-15Create Anubis FreeBSD rc.d script (#274)Paul Wilde2-0/+35
* Create anubis.freebsd add freebsd rc.d script so can be run as a freebsd daemon Signed-off-by: Paul Wilde <31094984+pswilde@users.noreply.github.com> * Update CHANGELOG.md Signed-off-by: Paul Wilde <31094984+pswilde@users.noreply.github.com> --------- Signed-off-by: Paul Wilde <31094984+pswilde@users.noreply.github.com>
2025-04-15build(deps): bump github/codeql-action in the github-actions group (#264)dependabot[bot]1-1/+1
Bumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action). Updates `github/codeql-action` from 3.28.13 to 3.28.15 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/1b549b9259bda1cb5ddde3b41741a82a2d15a841...45775bd8235c68ba998cffa5171334d58593da47) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.28.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-15build(deps): bump the gomod group with 3 updates (#265)dependabot[bot]4-23/+22
* build(deps): bump the gomod group with 3 updates Bumps the gomod group with 3 updates: [github.com/playwright-community/playwright-go](https://github.com/playwright-community/playwright-go), [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) and [golang.org/x/net](https://github.com/golang/net). Updates `github.com/playwright-community/playwright-go` from 0.5001.0 to 0.5101.0 - [Release notes](https://github.com/playwright-community/playwright-go/releases) - [Commits](https://github.com/playwright-community/playwright-go/compare/v0.5001.0...v0.5101.0) Updates `github.com/prometheus/client_golang` from 1.21.1 to 1.22.0 - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.21.1...v1.22.0) Updates `golang.org/x/net` from 0.38.0 to 0.39.0 - [Commits](https://github.com/golang/net/compare/v0.38.0...v0.39.0) --- updated-dependencies: - dependency-name: github.com/playwright-community/playwright-go dependency-version: 0.5101.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod - dependency-name: github.com/prometheus/client_golang dependency-version: 1.22.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod - dependency-name: golang.org/x/net dependency-version: 0.39.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: gomod ... Signed-off-by: dependabot[bot] <support@github.com> * internal/test: bump playwright version Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Xe Iaso <me@xeiaso.net> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-04-15Update custom.css (#271)B4uti4github1-7/+7
2025-04-13fix(fetch): improve error handling for Content-Type parsing (#253)Jason Cameron5-9/+15
* fix(fetch): improve error handling for Content-Type parsing Signed-off-by: Jason Cameron <git@jasoncameron.dev> * fix(fetch): rename OgHandledError to ErrOgHandled for statichcheck to like me Signed-off-by: Jason Cameron <git@jasoncameron.dev> --------- Signed-off-by: Jason Cameron <git@jasoncameron.dev>
2025-04-13cmd/containerbuild/main.go: fix docker tag parsing (#260)rayer1-3/+3
Change the parsing of repository and tag to match the last colon. This fixes container builds when the repository already contains an earlier colon. Signed-off-by: rayer <70722312+rayes0@users.noreply.github.com>
2025-04-13use depot builders (#262)Xe Iaso7-7/+7
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-13feat(docs): known users cleanup (#257)hyperdefined1-34/+17
2025-04-13docs/docs/user/known-instances.md: remove duplicate scioly.org mention (#259)rayer1-2/+1
Signed-off-by: rayer <70722312+rayes0@users.noreply.github.com>
2025-04-12feat(docs): expand known instances list with new entries and collapsible ↵Jason Cameron1-1/+40
sections (#254) Signed-off-by: Jason Cameron <git@jasoncameron.dev>
2025-04-11workflows: hash pin more Actions (#241)Patrick Linnane2-9/+9
Signed-off-by: Patrick Linnane <patrick@linnane.io>