Maher
4d3353fdc5
fix(docs): fix typos in Traefik integration docs ( #361 )
...
- Fix wording and typos in the`traefix.mdx` file
- Add rendering fix for the NOTE due to syntax
2025-04-25 08:47:48 -04:00
Aurelia
a420db8b8a
feat: more elaborate XFF compute ( #350 )
...
* feat: more elaborate XFF compute
#328 followup
now featuring configuration and
defaults that shouldn't break most
setups.
fixes #344
* refactor: obvious condition eval order optimization
* feat: add StripLLU implementation
* chore: I'm sorry it's 7 AM
* test: add test environment for unix socket serving
Signed-off-by: Xe Iaso <me@xeiaso.net>
* test(unix-socket-xff): comment out the shell script more
Signed-off-by: Xe Iaso <me@xeiaso.net>
* fix(internal): fix logic bug in XFF computation, add tests
Signed-off-by: Xe Iaso <me@xeiaso.net>
* fix(internal): prevent panic in local testing
Signed-off-by: Xe Iaso <me@xeiaso.net>
* fix(internal): shuffle around return values to flow better
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-25 11:59:55 +00:00
Xe Iaso
5a4f68d384
docs(README): sponsor: Distrust
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-25 07:53:54 -04:00
Xe Iaso
bac942d2e8
sponsor: Distrust
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-25 00:25:03 -04:00
Xe Iaso
9fab74eb8a
docs(README): enable dark mode for the star history view ( #360 )
...
Closes #340
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-25 03:26:35 +00:00
Diego E
e6a1c5309f
docs: Fix nginx.mdx indentation ( #359 )
...
It would seem the file was originally edited for 2-space indentation but accidentally used tabs instead of actual spaces.
Signed-off-by: Diego E <diegoe@gnome.org>
2025-04-25 00:26:59 +00:00
Tristan Ross
5c29a66fcc
docs(known-instances): add NixOS Hydra ( #358 )
2025-04-24 23:35:29 +00:00
Remy Zandwijk
b4f9269ae4
Fix Traegik but funny typos. ( #356 )
2025-04-24 18:54:53 +00:00
Igor Brai
54cd99c750
Fix: mojeekbot regex ( #351 )
...
* 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-24 14:24:41 +00:00
luzpaz
30b0ba8055
README: represent repology badge in 3 column format ( #349 )
...
Signed-off-by: luzpaz <luzpaz@users.noreply.github.com>
2025-04-24 02:17:26 +00:00
compilade
ce425a2c21
fix(lib): use correct URL for path checker in PassChallenge ( #347 )
...
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-24 02:13:11 +00:00
Luciano Hillcoat - lucdev.net
2320ef4014
feat(docs): add documentation for default allow behavior ( #346 )
2025-04-24 01:13:21 +00:00
Xe Iaso
cfbe16f2d0
feat(xess): move CSS color definitions to CSS variables ( #339 )
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-23 12:07:53 +00:00
dependabot[bot]
1b206175f8
build(deps): bump estree-util-value-to-estree in /docs ( #336 )
...
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-23 07:09:01 -04:00
dependabot[bot]
3135abd0ec
build(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 in /docs ( #335 )
...
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-23 07:08:53 -04:00
Xe Iaso
74e11505c6
feat: enable loading config fragments ( #321 )
...
* 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-23 07:01:28 -04:00
Aurelia
4e2c9de708
feat(cmd/anubis): compute full XFF header ( #328 )
...
* 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-23 04:06:47 +00:00
Xe Iaso
bec7199ab6
fix(docs): make the docs respect light/dark mode ( #334 )
...
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-23 04:01:02 +00:00
Jason Cameron
78bb67fbf7
fix: improve error handling and create the json encoder once #331 ( #332 )
...
* 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-22 20:31:19 -04:00
Xe Iaso
2db4105479
Update known-instances.md ( #324 )
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-22 13:25:05 +00:00
Xe Iaso
ac5a4bf58d
chore(ci): migrate to TecharoHQ/yeet ( #323 )
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-22 12:21:37 +00:00
Xe Iaso
3f1ce2d7ac
data: disable generic-bot-catchall by default ( #322 )
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-22 08:11:45 -04:00
Xe Iaso
84b28760b3
feat(lib): use Checker type instead of ad-hoc logic ( #318 )
...
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-22 07:49:41 -04:00
Xe Iaso
9b7bf8ee06
docs: update default difficulty to 4
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-21 17:41:22 -04:00
Xe Iaso
1dae43f468
docs(known-instances): add Arch wiki
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-21 16:58:01 -04:00
dependabot[bot]
a14f917d68
build(deps): bump astral-sh/setup-uv in the github-actions group ( #312 )
...
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](0c5e2b8115...d4b2f3b6ec
)
---
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-20 21:16:38 -04:00
Jason Cameron
2ecb15adac
Update CHANGELOG.md ( #313 )
...
Signed-off-by: Jason Cameron <git@jasoncameron.dev>
2025-04-20 21:16:21 -04:00
Xe Iaso
d40b5cfdab
lib: move config to yaml ( #307 )
...
* 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-21 00:09:27 +00:00
Snoweuph
022eb59ff3
feat(docs): added info on how to configure traefik ( #255 )
...
* 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-20 23:44:43 +00:00
Xe Iaso
65b533a014
Update known-instances.md ( #309 )
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-20 22:31:45 +00:00
Thinkseal
2e3de07719
added an another git.lupancham.net to known instances of use ( #296 )
...
* 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-20 22:25:41 +00:00
Neur0toxine
7dc545cfa9
Add headers bot rule ( #300 )
...
* Closes #291 : add headers support to bot policy rules
* Fix config validator
2025-04-20 22:18:21 +00:00
Asmodeus
1add24b907
Add Haiku to known instances ( #304 )
...
Signed-off-by: Asmodeus <46908100+AsmodeumX@users.noreply.github.com>
2025-04-20 22:02:03 +00:00
Xe Iaso
b15017d097
docs/admin/native-install: point people to the right places to get started easier
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-20 13:51:45 -04:00
Xe Iaso
2d22491e8c
undo depot for now until I have the corp set up
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-20 09:07:54 -04:00
Xe Iaso
150523b9d3
docs/admin/environments/docker-compose: fix heading level
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-20 08:35:57 -04:00
Jason Cameron
6f652e711c
Use outline shorthand ( #293 )
...
* 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-19 16:03:11 -04:00
Xe Iaso
75b97eb03d
docs/admin: break per-environment details into their own pages ( #292 )
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-19 12:29:36 -04:00
Xe Iaso
f5827721c3
docs/admin/installation: Apache documentation ( #290 )
...
* 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-19 14:23:56 +00:00
Dryusdan
a40c5e99fc
Add more AI user agent in botPolicies.json ( #249 )
...
* 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-18 22:28:56 +00:00
Michael Jeanson
af831f0d7f
Add 'Opera' to 'generic-browser' bot policy rule ( #220 )
...
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-18 17:57:02 +00:00
Remilia Da Costa Faro
095e18d0c8
Allow ranges from the Internet Archive (AS7941) ( #276 )
...
* 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-18 04:13:01 +00:00
Ryan Cao
f844dba3dc
perf: embed challenge data in HTML ( #279 )
2025-04-18 00:06:37 -04:00
Xe Iaso
736c3ade09
.github/funding: add GitHub sponsors
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-17 23:48:36 -04:00
Jeroen Massar
b20774d9a6
Docs: add nginx with Anubis in the middle configuration example ( #282 )
...
* 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-18 03:28:35 +00:00
Xe Iaso
2c94090fde
README: add contributor images
...
Signed-off-by: Xe Iaso <me@xeiaso.net>
2025-04-16 12:40:56 -04:00
fossdd
df3509ec99
docs/blog: remove ( #273 )
...
still leftovers from the docusaurus template
2025-04-15 23:23:26 -04:00
Paul Wilde
8689143214
Create Anubis FreeBSD rc.d script ( #274 )
...
* 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-15 12:05:13 +00:00
dependabot[bot]
5d4d2e3e2a
build(deps): bump github/codeql-action in the github-actions group ( #264 )
...
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](1b549b9259...45775bd823
)
---
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-15 05:56:14 -04:00
dependabot[bot]
2ebce26709
build(deps): bump the gomod group with 3 updates ( #265 )
...
* 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-15 05:55:50 -04:00