Eratosthenes is an APT repository browser and indexer, designed for Vanilla OS.
- Go 1.22 or later
You can build Eratosthenes from source:
go build -o eratosthenes cmd/eratosthenes/main.goTo index the repository, run:
./eratosthenes indexThis will download the Packages files from the configured repositories and index them into a local Bitcask database (eratosthenes_data by default).
To start the web server:
./eratosthenes serve --port 6001The server will be available at http://localhost:6001.
Eratosthenes uses the Vanilla OS SDK configuration system. It supports cascading configuration from:
/usr/share/eratosthenes/config.json/etc/eratosthenes/config.json$XDG_CONFIG_HOME/eratosthenes/config.json./conf/eratosthenes/config.json
Example config.json:
{
"port": 6001,
"debug": true,
"db_path": "eratosthenes_data",
"branches": {
"main": "https://repo3.vanillaos.org/20251129T023004Z/dists/sid/@/@/Packages",
"testing": "https://repo3.vanillaos.org/20260116T142445Z/dists/sid/@/@/Packages"
},
"archs": ["amd64", "arm64"],
"repo_components": ["main", "contrib", "non-free-firmware", "non-free"]
}go run cmd/eratosthenes/main.go serveTemplates and static files are embedded in the binary. You can find them in internal/assets.
Eratosthenes was a Greek mathematician, astronomer, and geographer. This is a repository indexer and browser, so I thought it was a good name.