caddyanubis

package module
v0.0.0-...-967f1b2 Latest Latest
Warning

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

Go to latest
Published: May 22, 2026 License: ISC Imports: 14 Imported by: 0

README

caddy-anubis

A Caddy plugin that integrates Anubis proof-of-work challenges to protect upstream resources from scraper bots and AI crawlers.

Installation

Build Caddy with this plugin using xcaddy:

GOPRIVATE=github.com/ToastyTheBot/* xcaddy build --with github.com/ToastyTheBot/caddy-anubis

Usage

Add anubis to your Caddyfile. It works both at the top level and inside route/handle blocks:

:80 {
    handle {
        anubis
        reverse_proxy localhost:8080
    }
}
Options
anubis {
    # Redirect to a fixed URL instead of proxying to the next handler
    target https://example.com

    # Path to a custom Anubis policy file
    policy_file /etc/anubis/policy.yaml
}

Credits

  • Anubis - the proof-of-work challenge engine.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AnubisMiddleware

type AnubisMiddleware struct {
	Target     *string `json:"target,omitempty"`
	PolicyFile string  `json:"policy_file,omitempty"`
	// contains filtered or unexported fields
}

AnubisMiddleware is a Caddy middleware that integrates Anubis proof-of-work challenges to protect upstream resources from scraper bots and AI crawlers.

func (AnubisMiddleware) CaddyModule

func (AnubisMiddleware) CaddyModule() caddy.ModuleInfo

func (*AnubisMiddleware) Provision

func (m *AnubisMiddleware) Provision(ctx caddy.Context) error

func (*AnubisMiddleware) ServeHTTP

func (*AnubisMiddleware) UnmarshalCaddyfile

func (m *AnubisMiddleware) UnmarshalCaddyfile(d *caddyfile.Dispenser) error

func (*AnubisMiddleware) Validate

func (m *AnubisMiddleware) Validate() error

Jump to

Keyboard shortcuts

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