Skip to content

vaxerski/checkpoint

Folders and files

Image for: Folders and files
NameName
Last commit message
Last commit date

Latest commit

Image for: Latest commit
 

History

Image for: History
73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image for: Repository files navigation

๐Ÿ›‘ Checkpoint

Checkpoint is a tiny reverse proxy that attempts to block AI by serving a cryptographic challenge.

This project is a work-in-progress. It works, but has only basic functionality.

Why?

Image for: Why?

AI scrapers are everywhere. This will stop them. robots.txt won't.

Features

Image for: Features
  • Protect your endpoint from AI bots with a cryptographic challenge
  • Easy configuration in jsonc
  • Support for cloudflare
  • Support for IP-Range based rules (both ipv4 and ipv6)
  • Support for async (multithreaded) request handling
  • Minimal. The waiting page is tiny and light on network usage.
  • Support for verbose traffic logging for later inspection or statistics

Planned features

  • Dynamic challenge amount (aka difficulty) based on traffic
  • Detection of token overuse
  • Better wait screen

Caveats

Image for: Caveats

If you are using this, it's almost certain search engines will stop indexing your site. Keep this in mind.

Setup guide

Image for: Setup guide
  1. Clone and build this repo. You will need openssl, g++>=12, re2, libmagic, and deps for pistache, fmt and tinylates.
  2. Create a config.jsonc. An example one is in example/.
  3. Adjust the config to your needs. Options are documented with comments in the example config.
  4. Set up your IP rules if you want. These allow you to set up IPs that are automatically blocked, or allowed to access without a challenge. This is useful for e.g. search engine scrapers. Some IP ranges can be found in example/index_bots.jsonc.
  5. Run checkpoint with your config: ./build/checkpoint -c config.jsonc. How you run it long-term as a service is up to you.

FAQ / Setup info

Image for: FAQ / Setup info

See docs/FAQ.

About

Image for: About

Checkpoint is a tiny reverse proxy that attempts to block AI by serving a cryptographic challenge.

Resources

License

Stars

Watchers

Forks

Releases

Image for: Releases
No releases published

Packages

Image for: Packages 0
No packages published