MCPcopy
hub / github.com/TecharoHQ/anubis

github.com/TecharoHQ/anubis @v1.25.0 sqlite

repository ↗ · DeepWiki ↗ · release v1.25.0 ↗
762 symbols 2,828 edges 177 files 126 documented · 17%
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 Databento

Gold Tier

Distrust Gitea Prolocation 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 ANEXIA Cloud Solutions

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, visit the Anubis documentation site at 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.

Extension points exported contracts — how you extend this code

Interface (Interface)
Interface defines the calls that Anubis uses for storage in a local or remote datastore. This can be implemented with an [4 …
lib/store/interface.go
Handler (FuncType)
Handler is a function alias for the underlying logic the Actor should call.
internal/actorify/actorify.go
Impl (Interface)
(no doc)
lib/policy/checker/checker.go
Impl (Interface)
(no doc)
lib/challenge/interface.go
ProcessOptions (Interface)
(no doc)
web/js/algorithms/fast.ts
Factory (Interface)
(no doc) [4 implementers]
lib/store/registry.go
Func (FuncType)
(no doc)
lib/policy/checker/checker.go
PreactInfo (Interface)
(no doc)
lib/challenge/preact/js/app.tsx

Core symbols most depended-on inside this repo

String
called by 115
lib/config/expressionorlist.go
Error
called by 111
lib/challenge/error.go
Set
called by 110
lib/store/interface.go
T
called by 70
lib/localization/localization.go
Get
called by 68
lib/store/interface.go
Valid
called by 37
lib/store/registry.go
Close
called by 34
decaymap/decaymap.go
Contains
called by 32
lib/policy/expressions/url_values.go

Shape

Function 399
Method 241
Struct 106
Interface 8
TypeAlias 6
FuncType 2

Languages

Go90%
TypeScript9%
Python1%

Modules by API surface

lib/anubis_test.go30 symbols
lib/config/config.go22 symbols
lib/policy/checker.go18 symbols
lib/http.go18 symbols
internal/test/playwright_test.go17 symbols
internal/hash_bench_test.go15 symbols
lib/anubis.go14 symbols
decaymap/decaymap.go14 symbols
lib/store/valkey/factory.go13 symbols
lib/policy/expressions/url_values.go12 symbols
lib/policy/expressions/http_headers.go12 symbols
lib/challenge/preact/js/xeact.js12 symbols

Dependencies from manifests, versioned

al.essio.dev/pkg/shellescapev1.6.0 · 1×
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/gov1.36.11-20251209175 · 1×
cel.dev/exprv0.25.1 · 1×
dario.cat/mergov1.0.2 · 1×
github.com/AlekSi/pointerv1.2.0 · 1×
github.com/Azure/go-ansitermv0.0.0-2025010203350 · 1×
github.com/BurntSushi/tomlv1.5.0 · 1×
github.com/Masterminds/goutilsv1.1.1 · 1×
github.com/Masterminds/semver/v3v3.4.0 · 1×
github.com/Masterminds/sprig/v3v3.3.0 · 1×
github.com/Microsoft/go-winiov0.6.2 · 1×
github.com/ProtonMail/go-cryptov1.3.0 · 1×

For agents

$ claude mcp add anubis \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact