From 3fb28a2472440d367fb3dc617fa94f84d5fe628b Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Sun, 3 Aug 2025 18:03:26 +0000 Subject: [PATCH] docs: unbreak links to the challenges category Signed-off-by: Xe Iaso --- docs/blog/2025-06-27-release-1.20.0/index.mdx | 2 +- docs/blog/2025-07-22-release-1.21.1/index.mdx | 2 +- docs/docs/admin/configuration/challenges/_category_.json | 5 +---- docs/docs/admin/configuration/challenges/index.mdx | 8 ++++++++ 4 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 docs/docs/admin/configuration/challenges/index.mdx diff --git a/docs/blog/2025-06-27-release-1.20.0/index.mdx b/docs/blog/2025-06-27-release-1.20.0/index.mdx index ad28cc5e..0b7c86da 100644 --- a/docs/blog/2025-06-27-release-1.20.0/index.mdx +++ b/docs/blog/2025-06-27-release-1.20.0/index.mdx @@ -161,7 +161,7 @@ One of the first issues in Anubis before it was moved to the [TecharoHQ org](htt When Anubis decides it needs to send a challenge to your browser, it sends a challenge page. Historically, this challenge page is [an HTML template](https://github.com/TecharoHQ/anubis/blob/main/web/index.templ) that kicks off some JavaScript, reads the challenge information out of the page body, and then solves it as fast as possible in order to let users see the website they want to visit. -In v1.20.0, Anubis has a challenge registry to hold [different client challenge implementations](/docs/category/challenges). This allows us to implement anything we want as long as it can render a page to show a challenge and then check if the result is correct. This is going to be used to implement a WebAssembly-based proof of work option (one that will be way more efficient than the existing browser JS version), but as a proof of concept I implemented a simple challenge using [HTML ``](https://en.wikipedia.org/wiki/Meta_refresh). +In v1.20.0, Anubis has a challenge registry to hold [different client challenge implementations](/docs/admin/configuration/challenges/). This allows us to implement anything we want as long as it can render a page to show a challenge and then check if the result is correct. This is going to be used to implement a WebAssembly-based proof of work option (one that will be way more efficient than the existing browser JS version), but as a proof of concept I implemented a simple challenge using [HTML ``](https://en.wikipedia.org/wiki/Meta_refresh). In my testing, this has worked with every browser I have thrown it at (including CLI browsers, the browser embedded in emacs, etc.). The default configuration of Anubis does use the [meta refresh challenge](/docs/admin/configuration/challenges/metarefresh) for [clients with a very low suspicion](/docs/admin/configuration/thresholds), but by default clients will be sent an [easy proof of work challenge](/docs/admin/configuration/challenges/proof-of-work). diff --git a/docs/blog/2025-07-22-release-1.21.1/index.mdx b/docs/blog/2025-07-22-release-1.21.1/index.mdx index 8b623f3d..f2a6cf89 100644 --- a/docs/blog/2025-07-22-release-1.21.1/index.mdx +++ b/docs/blog/2025-07-22-release-1.21.1/index.mdx @@ -213,7 +213,7 @@ When combined with [weight thresholds](/docs/admin/configuration/thresholds), th ## Challenge flow v2 -The main goal of Anubis is to weigh the risks of incoming requests in order to protect upstream resources against abusive clients like badly written scrapers. In order to separate "good" clients (like users wanting to learn from a website's content) from "bad" clients, Anubis issues [challenges](/docs/category/challenges). +The main goal of Anubis is to weigh the risks of incoming requests in order to protect upstream resources against abusive clients like badly written scrapers. In order to separate "good" clients (like users wanting to learn from a website's content) from "bad" clients, Anubis issues [challenges](/docs/admin/configuration/challenges/). Previously the Anubis challenge flow looked like this: diff --git a/docs/docs/admin/configuration/challenges/_category_.json b/docs/docs/admin/configuration/challenges/_category_.json index 5db7328c..96a70d2f 100644 --- a/docs/docs/admin/configuration/challenges/_category_.json +++ b/docs/docs/admin/configuration/challenges/_category_.json @@ -1,8 +1,5 @@ { "label": "Challenges", "position": 10, - "link": { - "type": "generated-index", - "description": "The different challenge methods that Anubis supports." - } + "link": null } \ No newline at end of file diff --git a/docs/docs/admin/configuration/challenges/index.mdx b/docs/docs/admin/configuration/challenges/index.mdx new file mode 100644 index 00000000..1fae4bd6 --- /dev/null +++ b/docs/docs/admin/configuration/challenges/index.mdx @@ -0,0 +1,8 @@ +# Challenge Methods + +Anubis supports multiple challenge methods: + +- [Meta Refresh](./metarefresh.mdx) +- [Proof of Work](./proof-of-work.mdx) + +Read the documentation to know which method is best for you.