Weighs the soul of incoming HTTP requests to stop AI crawlers
1go.install();
2
3["amd64", "arm64"].forEach(goarch => rpm.build({
4 name: "anubis",
5 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.",
6 homepage: "https://xeiaso.net/blog/2025/anubis",
7 license: "MIT",
8 goarch,
9
10 build: (out) => {
11 // install Anubis binary
12 go.build("-o", `${out}/usr/bin/anubis`);
13
14 // install systemd unit
15 yeet.run("mkdir", "-p", `${out}/usr/lib/systemd/system`);
16 yeet.run("cp", "run/anubis@.service", `${out}/usr/lib/systemd/system/anubis@.service`);
17
18 // install default config
19 yeet.run("mkdir", "-p", `${out}/etc/anubis`);
20 yeet.run("cp", "run/anubis.env.default", `${out}/etc/anubis/anubis-default.env`);
21 },
22}));