-
bene-gesserit v0.1.7
Stablereleased this
2026-02-22 21:27:55 -05:00 | 22 commits to main since this releaseThis 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-fullDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
bene-gesserit v0.1.6
Pre-releasereleased this
2026-02-20 22:07:43 -05:00 | 27 commits to main since this releaseThis 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-fullDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
bene-gesserit v0.1.5
Pre-releasereleased this
2026-02-20 20:20:13 -05:00 | 29 commits to main since this releaseThis 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-fullDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Bene Gesserit v0.1.4
Pre-releasereleased this
2026-01-05 17:32:42 -05:00 | 31 commits to main since this releaseThis 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-fullDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- [docker] Update dependencies in single image build:
-
Bene Gesserit v0.1.3
Pre-releasereleased this
2025-10-15 15:40:37 -04:00 | 32 commits to main since this releaseThis 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
environmentconfig parameter if you are using the Docker image; with the new support the image has theBG_ENVIRONMENTvariable set todocker, 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
environmentparameter in the Docker image; this is configured automatically using theBG_ENVIRONMENTvariable. - [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-fullDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- [generator] Add ability to use environment variables for configuration. Parameters can be set using environment variables with the config key name prefixed by
-
Bene Gesserit v0.1.2
Pre-releaseAll checks were successful/ build (push) Successful in 18sreleased this
2025-09-10 00:06:37 -04:00 | 45 commits to main since this releaseThis 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-fullDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Bene Gesserit v0.1.1
Pre-releaseAll checks were successful/ build (push) Successful in 55sreleased this
2025-08-19 12:44:16 -04:00 | 60 commits to main since this releaseThis 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-fullDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Bene Gesserit v0.1.0
Pre-releaseAll checks were successful/ build (push) Successful in 33sreleased this
2025-08-19 01:05:53 -04:00 | 61 commits to main since this releaseNOTE: 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-fullDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)