anubis

package module
v1.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2025 License: MIT Imports: 1 Imported by: 15

README

Anubis

A smiling chibi dark-skinned anthro jackal with brown hair and tall ears looking victorious with a thumbs-up

enbyware GitHub Issues or Pull Requests by label GitHub go.mod Go version language count repo size GitHub Sponsors

Sponsors

Anubis is brought to you by sponsors and donors like:

Diamond Tier
Raptor Computing Systems
Gold Tier
Distrust Terminal Trove canine.tools Weblate Uberspace Wildbase Cat eyes over the word Emma in a serif font Cat eyes over the word Emma in a serif font

Overview

Anubis is a Web AI Firewall Utility that weighs the soul of your connection using one or more challenges in order to protect upstream resources from scraper bots.

This program is designed to help protect the small internet from the endless storm of requests that flood in from AI companies. Anubis is as lightweight as possible to ensure that everyone can afford to protect the communities closest to them.

Anubis is a bit of a nuclear response. This will result in your website being blocked from smaller scrapers and may inhibit "good bots" like the Internet Archive. You can configure bot policy definitions to explicitly allowlist them and we are working on a curated set of "known good" bots to allow for a compromise between discoverability and uptime.

In most cases, you should not need this and can probably get by using Cloudflare to protect a given origin. However, for circumstances where you can't or won't use Cloudflare, Anubis is there for you.

If you want to try this out, connect to anubis.techaro.lol.

Support

If you run into any issues running Anubis, please open an issue. Please include all the information I would need to diagnose your issue.

For live chat, please join the Patreon and ask in the Patron discord in the channel #anubis.

Star History

Star History Chart

Packaging Status

Packaging status

Contributors

Made with contrib.rocks.

Documentation

Overview

Package anubis contains the version number of Anubis.

Index

Constants

View Source
const APIPrefix = "/.within.website/x/cmd/anubis/api/"

APIPrefix is the location where all Anubis API endpoints are located.

View Source
const CookieDefaultExpirationTime = 7 * 24 * time.Hour

CookieDefaultExpirationTime is the amount of time before the cookie/JWT expires.

View Source
const DefaultDifficulty = 4

DefaultDifficulty is the default "difficulty" (number of leading zeroes) that must be met by the client in order to pass the challenge.

View Source
const StaticPath = "/.within.website/x/cmd/anubis/"

StaticPath is the location where all static Anubis assets are located.

Variables

View Source
var BasePrefix = ""

BasePrefix is a global prefix for all Anubis endpoints. Can be emptied to remove the prefix entirely.

View Source
var CookieName = "techaro.lol-anubis-auth"

CookieName is the name of the cookie that Anubis uses in order to validate access.

View Source
var ForcedLanguage = ""

ForcedLanguage is the language being used instead of the one of the request's Accept-Language header if being set.

View Source
var TestCookieName = "techaro.lol-anubis-cookie-verification"

TestCookieName is the name of the cookie that Anubis uses in order to check if cookies are enabled on the client's browser.

View Source
var Version = "devel"

Version is the current version of Anubis.

This variable is set at build time using the -X linker flag. If not set, it defaults to "devel".

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd
robots2policy/batch
Batch process robots.txt files from archives like https://github.com/nrjones8/robots-dot-txt-archive-bot/tree/master/data/cleaned into Anubis CEL policies.
Batch process robots.txt files from archives like https://github.com/nrjones8/robots-dot-txt-archive-bot/tree/master/data/cleaned into Anubis CEL policies.
lib
challenge/metarefresh
templ: version: v0.3.906
templ: version: v0.3.906
policy/checker
Package checker defines the Checker interface and a helper utility to avoid import cycles.
Package checker defines the Checker interface and a helper utility to avoid import cycles.
store/all
Package all is a meta-package that imports all store implementations.
Package all is a meta-package that imports all store implementations.
templ: version: v0.3.906
templ: version: v0.3.906
Package xess vendors a copy of Xess and makes it available at /.xess/xess.css
Package xess vendors a copy of Xess and makes it available at /.xess/xess.css

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL