nuke/docs
Xe Iaso fb3637df95
feat(metarefresh): randomly use the Refresh header (#1133)
* feat(lib/challenge): expose ResponseWriter to challenge issuers

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

* feat(metarefresh): randomly use the Refresh header

There are several ways to trigger an automatic refresh without
JavaScript. One of them is the "meta refresh" method[1], but the other
is with the Refresh header[2]. Both are semantically identical and
supported with browsers as old as Chrome version 1.

Given that they are basically the same thing, this patch makes Anubis
randomly select between them by using the challenge random data's first
character. This will fire about 50% of the time.

I expect this to have no impact. If this works out fine, then I will
implement some kind of fallback logic for the fast challenge such that
admins can opt into allowing clients with a no-js configuration to pass
the fast challenge. This needs to bake in the oven though.

[1]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta/http-equiv
[2]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Refresh

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

* docs: update CHANGELOG

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

* feat(metarefresh): simplify random logic

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

---------

Signed-off-by: Xe Iaso <me@xeiaso.net>
Signed-off-by: Xe Iaso <xe.iaso@techaro.lol>
2025-09-16 17:32:13 -04:00
..
blog fix(blog/cpu-core-odd): make the diagram look decent in light mode 2025-08-29 19:54:22 +00:00
docs feat(metarefresh): randomly use the Refresh header (#1133) 2025-09-16 17:32:13 -04:00
manifest chore(docs): adjust anubis rules 2025-08-29 23:04:32 +00:00
src docs: update BotStopper docs based on new features 2025-09-14 20:16:43 +00:00
static chore(sponsors): add fabulous systems 2025-07-12 23:08:30 +00:00
.dockerignore chore(docs): add fly.toml file as a hail mary 2025-07-10 06:05:17 -04:00
.gitignore add docs site based on docusarus (#35) 2025-03-20 15:06:58 -04:00
Dockerfile chore(docs): add fly.toml file as a hail mary 2025-07-10 06:05:17 -04:00
docusaurus.config.ts chore(docs): add link to status page in the footer (#814) 2025-07-12 13:32:24 -04:00
fly.toml chore(docs): add fly.toml file as a hail mary 2025-07-10 06:05:17 -04:00
package-lock.json security: npm audit fix for GHSA-hfm8-9jrf-7g9w et. al (#1098) 2025-09-08 14:17:59 -04:00
package.json security: npm audit fix for GHSA-hfm8-9jrf-7g9w et. al (#1098) 2025-09-08 14:17:59 -04:00
README.md add docs site based on docusarus (#35) 2025-03-20 15:06:58 -04:00
sidebars.ts add docs site based on docusarus (#35) 2025-03-20 15:06:58 -04:00
tsconfig.json add docs site based on docusarus (#35) 2025-03-20 15:06:58 -04:00

Website

This website is built using Docusaurus, a modern static website generator.

Installation

$ yarn

Local Development

$ yarn start

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Build

$ yarn build

This command generates static content into the build directory and can be served using any static contents hosting service.

Deployment

Using SSH:

$ USE_SSH=true yarn deploy

Not using SSH:

$ GIT_USER=<Your GitHub username> yarn deploy

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the gh-pages branch.