- Shell 76.5%
- Dockerfile 19.8%
- Makefile 3.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
published / release-tag (push) Successful in 2s
published / runner-is-ready (push) Successful in 4s
published / signing-is-ready (push) Successful in 4s
published / projectfile-is-valid (push) Successful in 4s
published / source-is-compliant (push) Successful in 6s
published / projectfile-is-ok (push) Successful in 6s
published / source-is-secure (push) Successful in 18s
published / source-passes-lint (push) Successful in 42s
published / documentation-passes-lint (push) Successful in 51s
published / image-is-built (push) Successful in 25s
published / image-has-sbom (push) Has been skipped
published / image-is-seeded (push) Has been skipped
published / container-is-verified (push) Successful in 39s
published / image-is-secure (push) Successful in 1m27s
published / image-is-published (dockerhub) (push) Successful in 2s
published / image-is-published (kiota) (push) Successful in 3s
published / release-is-published (push) Has been skipped
published / release-notes-are-published (push) Has been skipped
published / published (push) Successful in 0s
|
||
| .compose | ||
| .container | ||
| .forgejo/workflows | ||
| .github/workflows | ||
| .makefile | ||
| .projectfile | ||
| docs | ||
| LICENSES | ||
| .claudeignore | ||
| .containerignore | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .grype.yaml | ||
| .trivyignore | ||
| .yamllint | ||
| AGENTS.md | ||
| AI_POLICY.md | ||
| CITATION.cff | ||
| CODE_OF_CONDUCT.md | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| lefthook.yaml | ||
| LICENSE | ||
| Makefile | ||
| osv-scanner.toml | ||
| projectfile.yaml | ||
| README.md | ||
| SECURITY.md | ||
| SUPPORT.md | ||
F5M / I2P Reseed
I2P reseed server distributing signed SU3 bootstrap bundles, with first-boot keys, gated endpoints and a liveness probe.
Features
- Abuse-resistant by default
- Fresh seed bundles without restarts
- Reverse-proxy ready
- Self-bootstrapping signing keys
It also inherits the features of B19 / Ubuntu — see Features for the full list.
Quick Start
Save this as compose.yaml:
---
services:
i2p-reseed:
image: docker.io/damianbuho/f5m-i2p-reseed:latest
ports:
- "8080:8080"
environment:
F5M_I2P_RESEED_SIGNER: change-me@mail.i2p
volumes:
- i2p:/app/.i2p
- i2p-reseed:/app/data
cap_drop: [ALL]
security_opt: [no-new-privileges:true]
restart: unless-stopped
i2p:
image: docker.io/damianbuho/f5m-i2p:latest
volumes:
- i2p:/app/.i2p
cap_drop: [ALL]
security_opt: [no-new-privileges:true]
restart: unless-stopped
volumes:
i2p:
i2p-reseed:
Then start it with docker compose up --detach.
What this provides
- Service
i2p-reseed— listens on8080 (http)— I2P reseed server - Container image
ghcr.io/damian-buho/f5m/i2p-reseed:latest - Container image
damianbuho/f5m-i2p-reseed:latest
Installation
Pull the published container image:
Pull from GHCR — linux/amd64
docker pull ghcr.io/damian-buho/f5m/i2p-reseed:latest
Pull from DockerHub — linux/amd64
docker pull damianbuho/f5m-i2p-reseed:latest
Stable releases also publish X.Y.Z, X.Y and X tags — pull the precision you want to pin.
If the registries above are unreachable, pull from the origin instead:
Pull from Kiota — linux/amd64
docker pull kiota.ch/f5m/i2p-reseed:latest
Usage
Run the service in the background, publishing its ports:
From GHCR
docker run --detach --publish 8080:8080/tcp ghcr.io/damian-buho/f5m/i2p-reseed:latest
From DockerHub
docker run --detach --publish 8080:8080/tcp damianbuho/f5m-i2p-reseed:latest
Then check that it answers:
curl http://localhost:8080/i2pseeds.su3
Building
Clone the repository with its submodules:
git clone --recurse-submodules https://github.com/damian-buho/f5m-i2p-reseed i2p-reseed && cd i2p-reseed
Build the container image locally:
make container-build
Run make with no arguments for the default target; run make help to list every target.
For the local dev loop, make dev-container brings up the dev-container.
Pipeline entry points:
make analyzed— Run the heavy analysis sweep (mutation testing, benchmarks)make audited— Re-scan the pinned dependencies and published artifacts for new vulnerabilitiesmake check-outdated— Report every pinned dependency that lags upstreammake release-is-ready— Run the pseudo-CI pipeline locally — build, test and scan, without publishing
Roadmap
See the Roadmap for what is planned next.
Policies
Links
Related projects: F5M/Tor | F5M/I2P | F5M/Tor Snowflake | F5M/OONI Probe | F5M/Knot | F5M/Radicle | F5M/Solid | F5M/SSH
License
This project is licensed under MIT — see the LICENSE file for details.