anubis

package module
v1.19.1 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2025 License: MIT Imports: 1 Imported by: 8

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

Sponsors

Anubis is brought to you by sponsors and donors like:

Distrust Terminal Trove canine.tools Weblate

Overview

Anubis weighs the soul of your connection using a proof-of-work challenge 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 CookieName = "techaro.lol-anubis-auth"

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

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.

View Source
const TestCookieName = "techaro.lol-anubis-cookie-test-if-you-block-this-anubis-wont-work"
View Source
const WithDomainCookieName = "techaro.lol-anubis-auth-for-"

WithDomainCookieName is the name that is prepended to the per-domain cookie used when COOKIE_DOMAIN is set.

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 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
lib
templ: version: v0.3.865
templ: version: v0.3.865
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