• v0.1.7 5f6132e5f4

    bene-gesserit v0.1.7
    All checks were successful
    / build (push) Successful in 17s
    / trivy (push) Successful in 26s
    Stable

    cptlobster released this 2026-02-22 21:27:55 -05:00 | 22 commits to main since this release

    This update makes bene-gesserit fully deterministic. This fixes a couple latent bugs caused by Anubis's cookie name rotation and hashing of corpus files, which affected all prior versions of bene-gesserit. DO NOT USE ANY VERSIONS BEFORE 0.1.7, THEY ARE ALL AFFECTED BY BUGS FIXED IN THIS UPDATE.

    Changes

    • [generator] Use MD5 to compute filenames for auto-downloaded corpus files. This should make corpus file names deterministic
    • [openresty/lua] Fix bug where Anubis cookie name rotation breaks service

    Installation

    To run it yourself, copy the configuration file, change parameters to match your configuration, and run:

    docker run -d -p 9999:80 -p 9090:9090 \
        -v ./config.toml:/etc/bene_gesserit/config.toml:r \
        -v ./corpus:/etc/iocaine/corpus \
        forge.cptlobster.dev/cptlobster/bene-gesserit:v0.1.7-full
    
    Downloads
  • v0.1.6 5f88779c8a

    bene-gesserit v0.1.6
    All checks were successful
    / trivy (push) Successful in 34s
    / build (push) Successful in 16s
    Pre-release

    cptlobster released this 2026-02-20 22:07:43 -05:00 | 27 commits to main since this release

    This version fixes a bug discovered in testing that would result in incorrect link paths inside the labyrinth.

    Changes

    • [openresty/lua] Fix bug where trailing slash is missing from iocaine URLs

    Installation

    To run it yourself, copy the configuration file, change parameters to match your configuration, and run:

    docker run -d -p 9999:80 -p 9090:9090 \
        -v ./config.toml:/etc/bene_gesserit/config.toml:r \
        -v ./corpus:/etc/iocaine/corpus \
        forge.cptlobster.dev/cptlobster/bene-gesserit:v0.1.6-full
    
    Downloads
  • v0.1.5 7f1f7cf524

    bene-gesserit v0.1.5
    All checks were successful
    / trivy (push) Successful in 27s
    / build (push) Successful in 18s
    Pre-release

    cptlobster released this 2026-02-20 20:20:13 -05:00 | 29 commits to main since this release

    This version contains a couple small features and bug fixes.

    Changes

    • [docker] Add version labels for dependent programs to image
    • [generator] Fix error caused by missing Anubis parameter
    • [anubis] Fix inconsistency in Anubis cookie name
    • [labyrinth] Add slowmode option to labyrinth configuration

    Installation

    To run it yourself, copy the configuration file, change parameters to match your configuration, and run:

    docker run -d -p 9999:80 -p 9090:9090 \
        -v ./config.toml:/etc/bene_gesserit/config.toml:r \
        -v ./corpus:/etc/iocaine/corpus \
        forge.cptlobster.dev/cptlobster/bene-gesserit:v0.1.5-full
    
    Downloads
  • v0.1.4 6b7ef78aaa

    Bene Gesserit v0.1.4
    All checks were successful
    / build (push) Successful in 17s
    / trivy (push) Successful in 27s
    Pre-release

    cptlobster released this 2026-01-05 17:32:42 -05:00 | 31 commits to main since this release

    This is a small update to switch to bring the Anubis configuration more in line with the current version, as well as to update the version used in the single image build.

    Changes

    • [docker] Update dependencies in single image build:
      • [anubis] 1.22.0 -> 1.24.0
    • [anubis] Update bot policy to use default configuration and enable OpenGraph passthrough

    Installation

    To run it yourself, copy the configuration file, change parameters to match your configuration, and run:

    docker run -d -p 9999:80 -p 9090:9090 \
        -v ./config.toml:/etc/bene_gesserit/config.toml:r \
        -v ./corpus:/etc/iocaine/corpus \
        forge.cptlobster.dev/cptlobster/bene-gesserit:v0.1.4-full
    
    Downloads
  • v0.1.3 62916d3db7

    Bene Gesserit v0.1.3
    All checks were successful
    / trivy (push) Successful in 24s
    / build (push) Successful in 19s
    Pre-release

    cptlobster released this 2025-10-15 15:40:37 -04:00 | 32 commits to main since this release

    This update provides the ability to set any configuration parameters using environment variables (as well as in the config TOML). This should provide some more flexibility in configuring your instances. Additionally, this updates to the latest versions of Anubis and Iocaine, as well as updating all Rust dependencies.

    With this change, it is no longer necessary to provide the environment config parameter if you are using the Docker image; with the new support the image has the BG_ENVIRONMENT variable set to docker, which will automatically configure the generator accordingly.

    Changes

    • [generator] Add ability to use environment variables for configuration. Parameters can be set using environment variables with the config key name prefixed by BG_.
    • [docker] It is no longer necessary to set the environment parameter in the Docker image; this is configured automatically using the BG_ENVIRONMENT variable.
    • [docker] Update dependencies in single image build:
      • [iocaine] 2.5.0 -> 2.5.1
      • [anubis] 1.21.3 -> 1.22.0
    • [compose] Update dependencies in example Compose stack:
      • [iocaine] 2.5.0 -> 2.5.1
    • [generator] Update Rust crates to latest versions.
    • [docker/prometheus] Minimized extra modules used in Prometheus build.
    • [docker] Add Trivy scanning for images built in Actions.

    Installation

    To run it yourself, copy the configuration file, change parameters to match your configuration, and run:

    docker run -d -p 9999:80 -p 9090:9090 \
        -v ./config.toml:/etc/bene_gesserit/config.toml:r \
        -v ./corpus:/etc/iocaine/corpus \
        forge.cptlobster.dev/cptlobster/bene-gesserit:v0.1.3-full
    
    Downloads
  • v0.1.2 23a809afec

    Bene Gesserit v0.1.2
    All checks were successful
    / build (push) Successful in 18s
    Pre-release

    cptlobster released this 2025-09-10 00:06:37 -04:00 | 45 commits to main since this release

    This update provides a few performance improvements in client management. It also adds a delay for incrementing client violations, so that a client can't get immediately banished for hitting a ratelimit too fast.

    Changes

    • [labyrinth] Add delay for incrementing user violations.
    • [openresty/lua] Change client data storage to use a JSON file table; splits client data between files based on a "hash" of the client ID.
    • [openresty/lua] Combine request filters in ratelimit checks to reduce time spent iterating through requests.
    • [openresty/lua] Lock files while reading/writing data to avoid race conditions caused by multiple OpenResty workers accessing the files at the same time.

    Installation

    To run it yourself, copy the configuration file, change parameters to match your configuration, and run:

    docker run -d -p 9999:80 -p 9090:9090 \
        -v ./config.toml:/etc/bene_gesserit/config.toml:r \
        -v ./corpus:/etc/iocaine/corpus \
        forge.cptlobster.dev/cptlobster/bene-gesserit:v0.1.2-full
    
    Downloads
  • v0.1.1 548516ab8e

    Bene Gesserit v0.1.1
    All checks were successful
    / build (push) Successful in 55s
    Pre-release

    cptlobster released this 2025-08-19 12:44:16 -04:00 | 60 commits to main since this release

    This patch release fixes a bug that causes honeypot generation to not be enabled.

    Changes

    • Fixed a bug where honeypot configurations would not be applied due to a bad variable reference in configuration templates.

    Installation

    To run it yourself, copy the configuration file, change parameters to match your configuration, and run:

    docker run -d -p 9999:80 -p 9090:9090 \
        -v ./config.toml:/etc/bene_gesserit/config.toml:r \
        -v ./corpus:/etc/iocaine/corpus \
        forge.cptlobster.dev/cptlobster/bene-gesserit:v0.1.1-full
    
    Downloads
  • v0.1.0 deb973bfde

    Bene Gesserit v0.1.0
    All checks were successful
    / build (push) Successful in 33s
    Pre-release

    cptlobster released this 2025-08-19 01:05:53 -04:00 | 61 commits to main since this release

    NOTE: The honeypot link generation in this version will not function. This issue is fixed in v0.1.1.

    This is the initial release of the Bene Gesserit scraper defense system, with packaging as a Docker image and a Docker Compose stack. Please note that as it is currently v0, breaking changes are liable to happen in future updates.

    To run it yourself, copy the configuration file, change parameters to match your configuration, and run:

    docker run -d -p 9999:80 -p 9090:9090 \
        -v ./config.toml:/etc/bene_gesserit/config.toml:r \
        -v ./corpus:/etc/iocaine/corpus \
        forge.cptlobster.dev/cptlobster/bene-gesserit:v0.1.0-full
    
    Downloads