Skip to content

str4d/ire

Folders and files

NameName
Last commit message
Last commit date
Jan 30, 2023
Oct 10, 2018
Oct 23, 2018
Feb 4, 2023
Feb 1, 2023
Sep 2, 2017
Nov 10, 2019
Sep 2, 2017
Sep 2, 2017
Feb 2, 2023
Feb 2, 2023
Jan 30, 2023
Jan 30, 2023
Jan 30, 2023

Repository files navigation

Ire: the I2P Rust engine

Crates.io Build Status codecov

Ire is a Rust implementation of an I2P router, designed to participate in the global, decentralised I2P network.

Development Status

Ire is in pre-alpha; much of the internal architecture still needs to be defined and implemented.

Implemented Features

  • Cryptographic primitives
    • Signing
      • ECDSA_SHA256_P256
      • ECDSA_SHA384_P384
      • ECDSA_SHA512_P521
      • Ed25519
    • Verifying
      • DSA
      • ECDSA_SHA256_P256
      • ECDSA_SHA384_P384
      • ECDSA_SHA512_P521
      • RSA_SHA256_2048
      • RSA_SHA384_3072
      • RSA_SHA512_4096
      • Ed25519
    • ElGamal
    • AES256
  • I2NP
    • Message parsing
    • Message handling
  • NetDB
    • Local storage
    • Persistence to disk
    • Reseeding
    • Lookups
    • Expiry
    • Exploration
    • Publishing
    • Floodfill
  • Transports
    • Transport manager
    • NTCP
      • Handshake
      • Session tracking
      • Automatic session creation
    • NTCP2
      • Handshake
      • Session tracking
      • Automatic session creation
    • SSU

Usage

The binary implements a router, along with a basic client that can be used to test the various transports:

  1. Create a router.toml file and configure the router. See examples/router.toml for available configuration options.

  2. Run the router:

$ RUST_LOG=ire=debug cargo run --features cli --release router router.toml
  1. Generate keys for the client:
$ cargo run --features cli --release cli gen client.router.keys.dat
  1. Run a client:
$ RUST_LOG=ire=debug cargo run --features cli --release cli client client.router.keys.dat router.info [NTCP|NTCP2]

Code of Conduct

We abide by the Contributor Covenant and ask that you do as well.

For more information, please see CODE_OF_CONDUCT.md.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/str4d/ire

Copyright

Copyright (c) 2017-2023 The Ire Developers. See LICENSE.txt for further details.