Rust implementation of the i2p client/server/router protocols
-
cargo build
: Builds the ri2p binary -
cargo run
: Runs the ri2p binary -
cargo test
: Runs all test functions, in the ./tests directory, that contain the #[test] attribute -
cargo doc [--open]
: Builds the automatically generated ri2p Rust documentation, and optionally opens it in a web browser -
cargo fmt
: Standard formatter for Rust codestyle -
cargo clippy [--fix]
: Standard linter for Rust, and optionally will automatically fix linted issues -
mdbook build
: Builds the ri2p mdbook locally -
mdbook serve
: Serves the ri2p mdbook at http://localhost:3000, and rebuilds it on changes
GitHub is the central CI/CD platform for the ri2p project. CI/CD will occur only when modifications are made (pull-requests) to the master branch.
- Code of Conduct Guidelines
- Contributing Guidelines
- Open Source License
- Security (Vulnerability) Policy
- Major Authors & Contributors
- Changelog (SemVer)
If you would like to work on this project, please feel free to check the issues for a list of the current items that we need to be worked on. If you would like to work on any of them, please contact ri2p in the discussions area and I will mark a task for you.
Developers can find documentation for ri2p in the docs/ directory, or hosted online at chrisbilger.com/ri2p/.
The cargo doc
documentation that is automatically generated by Cargo can be viewed by running cargo doc --open
, or hosted online at chrisbilger.com/ri2p/doc/doc/ri2p.
Minimally viable i2p router.
Add in router UI. (This will probably be a web server that serves a static site and periodic data refreshes.)
Remove all unnecessary dependencies in order to reduce attack-surface. This also includes re-reading all source code in order to pinpoint potential security vulnerabilities.
TBD. Versions at this level will be feature additions and possibly a "module" system that allows the addition of external modules for additional/enhanced features and functionality.