# purplei2p/i2pd

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/purplei2p-i2pd).**

3,835 stars · 474 forks · C++ · bsd-3-clause

## Links

- GitHub: https://github.com/PurpleI2P/i2pd
- Homepage: https://i2pd.website
- awesome-repositories: https://awesome-repositories.com/repository/purplei2p-i2pd.md

## Topics

`anonymity` `c-plus-plus` `communication` `cryptography` `i2p` `i2p-client` `openssl` `p2p` `privacy` `security` `vpn`

## Description

i2pd is a C++ implementation of the I2P anonymous network layer, serving as a peer-to-peer overlay network and I2P network router. It functions as a decentralized communication system that masks IP addresses and encrypts data using a garlic routing protocol.

This project provides a lightweight daemon that acts as a self-hosted privacy gateway, connecting local applications to the I2P network for private data transmission without the use of Java.

The system covers anonymous peer communication, privacy-preserving networking, and secure client-server interactions. It implements end-to-end encryption, multi-hop tunneling, and a distributed hash table to facilitate private data transfers and hide network identities.

## Tags

### Networking & Communication

- [I2P Routing](https://awesome-repositories.com/f/networking-communication/traffic-routing/i2p-routing.md) — Provides a C++ implementation for routing traffic through the I2P anonymous network.
- [Peer-to-Peer Networking](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking.md) — Provides a peer-to-peer overlay network that enables end-to-end encryption and sender anonymity.
- [Traffic Anonymization](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking/traffic-anonymization.md) — Implements traffic anonymization techniques to obscure node identities and network traffic within the P2P network. ([source](https://cdn.jsdelivr.net/gh/purplei2p/i2pd@openssl/README.md))
- [Identity Masking](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking/identity-masking.md) — Hides real IP addresses by creating encrypted communication channels for anonymous peer-to-peer and client-server interactions. ([source](http://i2pd.website/))
- [Peer-to-Peer Tunneling](https://awesome-repositories.com/f/networking-communication/peer-to-peer-tunneling.md) — Establishes encrypted tunnels between peers to hide IP addresses during data transfers.
- [Anonymity Network Routing](https://awesome-repositories.com/f/networking-communication/traffic-routing/anonymity-network-routing.md) — Implements an anonymity network routing layer using the garlic routing protocol to mask IP addresses.
- [Multi-Hop Routing](https://awesome-repositories.com/f/networking-communication/traffic-routing/multi-hop-routing.md) — Routes network traffic through a sequence of multiple peers to hide source and destination IP addresses.
- [HTTP Proxies](https://awesome-repositories.com/f/networking-communication/http-proxies.md) — Ships a local HTTP proxy that interfaces external applications with the anonymous network gateway.
- [Non-Blocking Socket I/O](https://awesome-repositories.com/f/networking-communication/socket-networking/non-blocking-socket-i-o.md) — Implements non-blocking socket I/O to efficiently manage thousands of simultaneous peer connections.

### DevOps & Infrastructure

- [Privacy Gateways](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-applications/privacy-gateways.md) — Operates as a lightweight daemon and self-hosted privacy gateway connecting local applications to the I2P network.

### Education & Learning Resources

- [Private Peer-to-Peer Networks](https://awesome-repositories.com/f/education-learning-resources/educational-resources/systems-applied-computing/infrastructure-architecture/computer-networks/networking-protocols/private-peer-to-peer-networks.md) — Establishes private, secure, and decentralized communication networks between distributed nodes. ([source](https://i2pd.website))

### Security & Cryptography

- [Traffic Obfuscation](https://awesome-repositories.com/f/security-cryptography/network-privacy-protocols/traffic-obfuscation.md) — Masks network identities and encrypts traffic to prevent third parties from tracking online activities.
- [End-to-End Encryption](https://awesome-repositories.com/f/security-cryptography/privacy-data-protection/data-encryption/end-to-end-encryption.md) — Implements layered encryption to secure data from sender to receiver, preventing intermediate nodes from reading content.
- [Anonymous Client-Server Channels](https://awesome-repositories.com/f/security-cryptography/anonymous-client-server-channels.md) — Creates private communication channels between clients and servers to ensure anonymity and data confidentiality.
- [Network Transmission Security](https://awesome-repositories.com/f/security-cryptography/network-transmission-security.md) — Provides a secure network transmission layer that encrypts data and masks identities for application integration. ([source](https://cdn.jsdelivr.net/gh/purplei2p/i2pd@openssl/README.md))

### Software Engineering & Architecture

- [Distributed Hash Tables](https://awesome-repositories.com/f/software-engineering-architecture/distributed-systems/distributed-data-management/distributed-hash-tables.md) — Uses a distributed hash table to map destination identifiers to network locations in a decentralized manner.

### Programming Languages & Runtimes

- [C++ Implementations](https://awesome-repositories.com/f/programming-languages-runtimes/c-implementations.md) — Provides a high-performance implementation of the I2P network layer using C++ for low-level memory management.
