2015-08-04 10:36:00 -07:00
|
|
|
# go-i2p
|
2016-01-30 17:17:45 -05:00
|
|
|
|
2016-06-16 23:17:21 -07:00
|
|
|
A pure Go implementation of the I2P router.
|
2016-06-16 22:45:38 -07:00
|
|
|
|
|
|
|
## Status
|
|
|
|
|
2022-05-02 14:24:51 -04:00
|
|
|
go-i2p is in early development. The master branch is being refactored and API's are
|
|
|
|
definitely going to change. If you choose to use any part of this code right now,
|
|
|
|
please keep up with these changes, as they will not be backward compatible and require
|
|
|
|
**Fundamentally** changing any code that treats this as a dependency.
|
2016-06-16 22:45:38 -07:00
|
|
|
|
2021-04-19 20:43:37 -04:00
|
|
|
### Implemented Features
|
|
|
|
|
2021-04-27 10:03:52 -04:00
|
|
|
- Clients
|
|
|
|
- [ ] Datagrams
|
|
|
|
- [ ] I2CP
|
|
|
|
- [ ] Message routing
|
|
|
|
- [ ] SAM
|
|
|
|
- [ ] Streaming
|
|
|
|
- [ ] Tunnel Manager
|
2021-04-19 20:43:37 -04:00
|
|
|
- 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
|
2021-04-27 10:03:52 -04:00
|
|
|
- [ ] Red25519
|
2021-04-19 20:43:37 -04:00
|
|
|
- [ ] ElGamal
|
|
|
|
- [ ] AES256
|
2021-04-27 10:03:52 -04:00
|
|
|
- [ ] X25519
|
|
|
|
- [ ] ChaCha20/Poly1305
|
|
|
|
- [ ] Elligator2
|
|
|
|
- [ ] HKDF
|
|
|
|
- [ ] HMAC
|
|
|
|
- [ ] Noise subsystem
|
|
|
|
- End-to-End Crypto
|
|
|
|
- [ ] Garlic messages
|
|
|
|
- [ ] ElGamal/AES+SessionTag
|
|
|
|
- [ ] Ratchet/X25519
|
2021-04-19 20:43:37 -04:00
|
|
|
- I2NP
|
|
|
|
- [ ] Message parsing
|
|
|
|
- [ ] Message handling
|
|
|
|
- NetDB
|
|
|
|
- [ ] Local storage
|
2024-02-09 15:02:46 -05:00
|
|
|
- [/] Persistence to disk
|
|
|
|
- [X] Reseeding
|
2021-04-19 20:43:37 -04:00
|
|
|
- [ ] Lookups
|
|
|
|
- [ ] Expiry
|
|
|
|
- [ ] Exploration
|
|
|
|
- [ ] Publishing
|
|
|
|
- [ ] Floodfill
|
2021-04-27 10:03:52 -04:00
|
|
|
- [ ] LS2 and Encrypted Leasesets
|
2021-04-19 20:43:37 -04:00
|
|
|
- Transports
|
2024-02-09 15:02:46 -05:00
|
|
|
- [X] Transport manager
|
2021-04-27 10:03:52 -04:00
|
|
|
- NTCP2
|
2021-04-19 20:43:37 -04:00
|
|
|
- [ ] Handshake
|
|
|
|
- [ ] Session tracking
|
|
|
|
- [ ] Automatic session creation
|
2021-04-27 10:03:52 -04:00
|
|
|
- SSU
|
2021-04-19 20:43:37 -04:00
|
|
|
- [ ] Handshake
|
|
|
|
- [ ] Session tracking
|
|
|
|
- [ ] Automatic session creation
|
2021-04-27 10:03:52 -04:00
|
|
|
- [ ] Peer Tests
|
|
|
|
- [ ] Introducers
|
|
|
|
- Tunnels
|
|
|
|
- [ ] Building
|
|
|
|
- [ ] Build Message Crypto (ElGamal)
|
|
|
|
- [ ] Build Message Crypto (ECIES)
|
|
|
|
- [ ] Participating
|
|
|
|
- [ ] Tunnel Message Crypto
|
|
|
|
- [ ] Tunnel Message Fragmentation/Reassembly
|
2024-02-09 15:02:46 -05:00
|
|
|
- Common Data Structures
|
|
|
|
- [/] Keys and Cert
|
|
|
|
- [X] Key Certificates
|
|
|
|
- [X] Certificate
|
|
|
|
- [X] Lease
|
|
|
|
- [X] Lease Set
|
|
|
|
- [X] Router Info
|
|
|
|
- [X] Router Identity
|
|
|
|
- [X] Router Address
|
|
|
|
- [X] Session Key
|
|
|
|
- [X] Signature Types
|
|
|
|
- [X] Destination
|
|
|
|
- [X] Data Types
|
|
|
|
- [X] Session Tag
|
2021-04-19 20:43:37 -04:00
|
|
|
|
2016-06-16 22:45:38 -07:00
|
|
|
## Contributing
|
|
|
|
|
2016-06-19 15:23:01 -07:00
|
|
|
See CONTRIBUTING.md for more information.
|
2016-06-16 22:45:38 -07:00
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
This project is licensed under the MIT license, see LICENSE for more information.
|