# irungentoo/toxcore

**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/irungentoo-toxcore).**

8,751 stars · 1,291 forks · C · GPL-3.0

## Links

- GitHub: https://github.com/irungentoo/toxcore
- awesome-repositories: https://awesome-repositories.com/repository/irungentoo-toxcore.md

## Description

Toxcore is a peer-to-peer networking library that implements a decentralized communication protocol for secure messaging and media calls without the use of central servers. It provides a core engine for establishing direct encrypted connections between devices using a public-key identity system where unique identifiers serve as both addresses and authentication keys.

The project features a decentralized network architecture that utilizes a distributed hash table for peer discovery and Kademlia-based routing to locate participants. To maintain connectivity across restrictive network environments, it employs UDP hole punching for NAT traversal and multi-hop relay routing with TCP fallback to bypass firewalls.

The library covers a broad capability surface including end-to-end encrypted data transmission for text and files, as well as real-time encrypted voice and video calling. It also manages the generation of cryptographic identities and the registration of trusted communication partners.

## Tags

### Networking & Communication

- [Peer-to-Peer Messaging](https://awesome-repositories.com/f/networking-communication/peer-to-peer-messaging.md) — Implements a peer-to-peer networking library for secure direct messaging and calling without central servers.
- [Decentralized Messaging Protocols](https://awesome-repositories.com/f/networking-communication/decentralized-messaging-protocols.md) — Implements a decentralized communication protocol for secure end-to-end encrypted messaging and media calls.
- [Kademlia Routing](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking/peer-to-peer-file-sharing/encrypted-peer-to-peer-transfers/kademlia-routing.md) — Utilizes Kademlia-based routing to efficiently locate peers by navigating through nodes numerically closest to the target.
- [NAT Traversal](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-proxying-tools/network-proxies/udp-tunneling/nat-traversal.md) — Provides NAT traversal capabilities using UDP hole punching and relay nodes to connect remote devices.
- [Peer Discovery](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking/peer-discovery.md) — Provides mechanisms for locating network participants using a distributed hash table and coordinated hole punching. ([source](https://github.com/irungentoo/toxcore#readme))
- [Peer-to-Peer Tunneling](https://awesome-repositories.com/f/networking-communication/peer-to-peer-tunneling.md) — Provides a library for establishing direct encrypted connections between devices using a distributed hash table.
- [Encrypted Voice & Video Calling](https://awesome-repositories.com/f/networking-communication/peer-to-peer-tunneling/peer-to-peer-media-libraries/encrypted-voice-video-calling.md) — Facilitates real-time encrypted voice and video communication over a decentralized transport layer.
- [Peer Identity Managers](https://awesome-repositories.com/f/networking-communication/private-networks/peer-identity-managers.md) — Manages cryptographic key generation and profile management to provide decentralized identities for peer communication.
- [Hole-Punching Connection Dialing](https://awesome-repositories.com/f/networking-communication/webrtc-media-orchestration/peer-connectivity/hole-punching-connection-dialing.md) — Implements UDP hole punching to establish direct peer-to-peer connections by bypassing NAT and firewalls.
- [Secure P2P Connection Establishment](https://awesome-repositories.com/f/networking-communication/webrtc-media-orchestration/peer-connectivity/secure-p2p-connection-establishment.md) — Establishes secure, direct encrypted connections between devices for private communication without relying on central servers. ([source](https://github.com/irungentoo/toxcore/blob/master/libtoxcore.pc.in))
- [Firewall Traversal Mechanisms](https://awesome-repositories.com/f/networking-communication/firewall-traversal-mechanisms.md) — Uses UDP hole punching and TCP relays to establish direct connections when firewalls block standard traffic. ([source](https://github.com/irungentoo/toxcore#readme))
- [Encrypted Relaying](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/network-traffic-management/encrypted-relaying.md) — Forwards encrypted packets through intermediary relay nodes to establish connectivity when direct communication is blocked.
- [Trusted Peer Registries](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking/peer-discovery/trusted-peer-registries.md) — Manages the registration of trusted communication partners through the exchange of public keys and encrypted requests. ([source](https://github.com/irungentoo/toxcore/blob/master/docs/updates/Crypto.md))
- [TCP Fallback Transports](https://awesome-repositories.com/f/networking-communication/udp-protocol-routing/udp-fallback-strategies/tcp-fallback-transports.md) — Provides a reliable TCP-based communication channel when direct UDP connections are blocked by security policies.

### Security & Cryptography

- [Cryptographic Key Generators](https://awesome-repositories.com/f/security-cryptography/cryptographic-key-generators.md) — Generates secure public-private key pairs to serve as unique identifiers for decentralized communication. ([source](https://github.com/irungentoo/toxcore/blob/master/docs/updates/Crypto.md))
- [Data Encryption](https://awesome-repositories.com/f/security-cryptography/data-encryption.md) — Secures the transmission of messages, files, and media streams using robust cryptographic standards. ([source](https://github.com/irungentoo/toxcore#readme))
- [End-to-End Encrypted Messaging Frameworks](https://awesome-repositories.com/f/security-cryptography/end-to-end-encrypted-messaging-frameworks.md) — Provides a core engine for managing cryptographic identities and securing end-to-end encrypted text and media exchange.
- [End-to-End Encryption](https://awesome-repositories.com/f/security-cryptography/end-to-end-encryption.md) — Provides end-to-end encryption to secure communication channels and prevent unauthorized access to message content.
- [Asymmetric Identity Systems](https://awesome-repositories.com/f/security-cryptography/public-key-authentication/asymmetric-identity-systems.md) — Employs a public-key identity system where unique cryptographic identifiers serve as both network addresses and authentication keys.
- [Call Encryption](https://awesome-repositories.com/f/security-cryptography/call-encryption.md) — Provides encrypted transport layers for real-time voice and video communication to prevent unauthorized interception. ([source](https://github.com/irungentoo/toxcore/blob/master/libtoxav.pc.in))
- [Encrypted Message Routing](https://awesome-repositories.com/f/security-cryptography/message-encryption/encrypted-message-routing.md) — Routes encrypted data packets through intermediary nodes to reach receivers while bypassing restrictive network configurations. ([source](https://github.com/irungentoo/toxcore/blob/master/docs/updates/Crypto.md))

### Software Engineering & Architecture

- [Distributed Hash Tables](https://awesome-repositories.com/f/software-engineering-architecture/distributed-systems/distributed-data-management/distributed-hash-tables.md) — Implements a distributed hash table to locate network participants using unique identifiers in a decentralized peer network.

### Part of an Awesome List

- [Build Systems](https://awesome-repositories.com/f/awesome-lists/devtools/build-systems.md) — A library for building decentralized communication platforms.
- [Communication Platforms](https://awesome-repositories.com/f/awesome-lists/media/communication-platforms.md) — Protocol for secure, decentralized online communication.
