Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/spelling/expect.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
anthro
anubis
anubistest
apk
apnic
APNICRANDNETAU
Applebot
Expand Down Expand Up @@ -156,7 +157,7 @@
htmlc
htmx
httpdebug
Huawei

Check warning on line 160 in .github/actions/spelling/expect.txt

View workflow job for this annotation

GitHub Actions / Check Spelling

`Huawei` is ignored by check-spelling because another more general variant is also in expect. (ignored-expect-variant)
huawei
hypertext
iaskspider
Expand Down Expand Up @@ -267,7 +268,6 @@
rac
rawler
rcvar
rdb
redhat
redir
redirectscheme
Expand Down Expand Up @@ -357,7 +357,7 @@
withthothmock
wolfbeast
wordpress
Workaround

Check warning on line 360 in .github/actions/spelling/expect.txt

View workflow job for this annotation

GitHub Actions / Check Spelling

`Workaround` is ignored by check-spelling because another more general variant is also in expect. (ignored-expect-variant)
workaround
workdir
wpbot
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/package-builds-stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,6 @@ jobs:
RELEASE="${RELEASE_VERSION}"
cd var
for file in *; do
[[ file == *.apk ]] && continue
gh release upload $RELEASE $file
done
1 change: 1 addition & 0 deletions docs/docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
- Add Ukrainian locale ([#1044](https://github.com/TecharoHQ/anubis/pull/1044)).
- Allow Renovate as an OCI registry client.
- Properly handle 4in6 addresses so that IP matching works with those addresses.
- Add unstable/experimental APK packages to CI, powered by yeet. Please let us know if there's any issues with the packaging!
- Add support to simple Valkey/Redis cluster mode
- Stabilize the CVE-2025-24369 regression test by always submitting an invalid proof instead of relying on random POW failures.

Expand Down Expand Up @@ -205,7 +206,7 @@

#### Fixes a problem with nonstandard URLs and redirects

Fixes [GHSA-jhjj-2g64-px7c](https://github.com/TecharoHQ/anubis/security/advisories/GHSA-jhjj-2g64-px7c).

Check notice on line 209 in docs/docs/CHANGELOG.md

View workflow job for this annotation

GitHub Actions / Check Spelling

Line matches candidate pattern `GHSA(?:-[0-9a-z]{4}){3}` (candidate-pattern)

This could allow an attacker to craft an Anubis pass-challenge URL that forces a redirect to nonstandard URLs, such as the `javascript:` scheme which executes arbitrary JavaScript code in a browser context when the user clicks the "Try again" button.

Expand All @@ -232,7 +233,7 @@

- [Czech](https://github.com/TecharoHQ/anubis/pull/849)
- [Finnish](https://github.com/TecharoHQ/anubis/pull/863)
- [Norwegian Bokmål](https://github.com/TecharoHQ/anubis/pull/855)

Check notice on line 236 in docs/docs/CHANGELOG.md

View workflow job for this annotation

GitHub Actions / Check Spelling

Line matches candidate pattern `[a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,}` (candidate-pattern)
- [Norwegian Nynorsk](https://github.com/TecharoHQ/anubis/pull/855)
- [Russian](https://github.com/TecharoHQ/anubis/pull/882)

Expand Down
19 changes: 16 additions & 3 deletions yeetfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,12 @@ $`npm run assets`;
"ppc64le",
"riscv64",
].forEach(goarch => {
[deb, rpm, tarball].forEach(method => method.build({
[
apk,
deb,
rpm,
tarball,
].forEach(method => method.build({
name: "anubis",
description: "Anubis weighs the souls of incoming HTTP requests and uses a sha256 proof-of-work challenge in order to protect upstream resources from scraper bots.",
homepage: "https://anubis.techaro.lol",
Expand All @@ -19,11 +24,19 @@ $`npm run assets`;
"./data/botPolicies.yaml": "botPolicies.yaml",
},

build: ({ bin, etc, systemd, doc }) => {
build: ({ bin, etc, systemd, openrc, doc }) => {
$`go build -o ${bin}/anubis -ldflags '-s -w -extldflags "-static" -X "github.com/TecharoHQ/anubis.Version=${git.tag()}"' ./cmd/anubis`;
$`go build -o ${bin}/anubis-robots2policy -ldflags '-s -w -extldflags "-static" -X "github.com/TecharoHQ/anubis.Version=${git.tag()}"' ./cmd/robots2policy`;

file.install("./run/anubis@.service", `${systemd}/anubis@.service`);
if (systemd) {
file.install("./run/anubis@.service", `${systemd}/anubis@.service`);
}

if (openrc) {
file.install("./run/openrc/anubis.initd", `${openrc.initd}/anubis`)
file.install("./run/openrc/anubis.confd", `${openrc.confd}/anubis`)
}

file.install("./run/default.env", `${etc}/default.env`);

$`mkdir -p ${doc}/docs`
Expand Down
Loading