awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
arvidn avatar

arvidn/libtorrent

0
View on GitHub↗
5,948 estrellas·1,073 forks·C++·11 vistaslibtorrent.org↗

Libtorrent

libtorrent is a portable C++ library that implements the complete BitTorrent protocol for peer-to-peer file transfers, supporting distributed hash tables (DHT), magnet links, and protocol extensions. It provides a well-documented C++ interface for building custom BitTorrent clients with full protocol support, handling peer communication, piece management, and swarm coordination.

The library includes a comprehensive set of protocol components, including peer wire protocol encoding, piece-picking scheduling using rarest-first algorithms, session-based connection management for TCP and uTP connections, and asynchronous disk I/O with a dedicated thread pool. It supports metadata extension for magnet links, tracker communication via HTTP and UDP, and Kademlia-based DHT node implementation for decentralized peer discovery. The storage abstraction layer maps torrent pieces to physical file offsets with support for sparse files and preallocation.

Designed for deployment flexibility, libtorrent can run efficiently on resource-constrained devices like routers and NAS boxes, as well as on servers for seeding and distributing large files. It offers configurable memory and concurrency settings to optimize performance across different hardware environments. The library handles torrent metadata parsing, peer-to-peer file distribution, and swarm-based replication without requiring a central server.

Features

  • BitTorrent Client Libraries - Exposes a well-documented C++ interface for building custom BitTorrent clients with full protocol support.
  • BitTorrent Protocol Cores - A portable C++ library implementing the complete BitTorrent protocol for peer-to-peer file transfers with DHT, magnet links, and extensions support.
  • C++ Networking Libraries - A portable C++ library providing low-level networking and protocol handling for peer-to-peer applications.
  • Peer-to-Peer File Distribution - Distributes large files across many recipients without a central server, leveraging swarm-based replication and parallel downloads.
  • Storage Abstraction Layers - Maps logical torrent pieces to physical file offsets, supporting sparse files, preallocation, and memory-mapped I/O.
  • Rarest-First Piece Selectors - Selects which data blocks to request from peers using a rarest-first algorithm to maximise download throughput and swarm health.
  • BitTorrent Clients - A BitTorrent implementation designed to run efficiently on resource-constrained devices with configurable memory and concurrency.
  • Embedded - Integrates BitTorrent functionality into resource-constrained devices like routers or NAS boxes with minimal memory and CPU footprint.
  • Torrent Metadata Management - Reads and writes .torrent files and magnet links to extract or construct metadata for initiating transfers.
  • BitTorrent - Transfers data using the BitTorrent protocol with support for popular extensions for servers and embedded devices.
  • Peer Connection Managers - Maintains a pool of TCP and uTP connections to peers, handling handshakes, timeouts, and reconnection logic.
  • BitTorrent Wire Protocol Encoders - Serialises and deserialises BitTorrent peer messages into compact binary frames for efficient network transmission.
  • Distributed Hash Table Discovery - Participates in the Kademlia-based distributed hash table to find peers without relying on centralised trackers.
  • HTTP and UDP Tracker Announcers - Sends periodic HTTP or UDP announcements to trackers to discover peers and report download/upload statistics.
  • Thread-Pool Disk I/O Engines - A disk I/O subsystem that manages file reads and writes using a dedicated thread pool to avoid blocking the main network loop.
  • Peer-to-Peer Transfer Engines - Implements the complete BitTorrent protocol to transfer files between peers efficiently and scalably.
  • Embedded BitTorrent Clients - Optimizes CPU and memory usage to operate reliably on embedded devices and desktops.
  • Server-Side Torrenting - Runs BitTorrent clients on servers for seeding, downloading, or distributing large files with configurable resource limits.
  • Memory and Concurrency Tuners - Adjusts memory and concurrency settings to run efficiently on servers and resource-constrained devices.
  • BitTorrent Metadata Extensions - Parses and serves magnet link metadata via the BitTorrent extension protocol, enabling torrents without a separate .torrent file.
  • Bittorrent - Feature-complete library for BitTorrent protocol implementation.

Historial de estrellas

Gráfico del historial de estrellas de arvidn/libtorrentGráfico del historial de estrellas de arvidn/libtorrent

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Libtorrent

Proyectos open-source similares, clasificados según cuántas características comparten con Libtorrent.
  • anacrolix/torrentAvatar de anacrolix

    anacrolix/torrent

    6,041Ver en GitHub↗

    This project is a full-featured BitTorrent client library and protocol implementation. It provides the core components necessary for peer-to-peer file sharing, including a networking stack that supports the BitTorrent specification, tracker communication, and swarm management. A primary differentiator is the inclusion of a virtual filesystem that allows torrents to be mounted as read-only drives. This system enables on-demand content streaming, where specific data pieces are fetched from the network only when a read request occurs, rather than requiring the entire archive to be downloaded fir

    Gobittorrentgomagnet-link
    Ver en GitHub↗6,041
  • veggiedefender/torrent-clientAvatar de veggiedefender

    veggiedefender/torrent-client

    2,030Ver en GitHub↗

    This project is a Go-based library and utility for downloading files from decentralized peer-to-peer networks. It functions as a BitTorrent client engine, handling the end-to-end process of parsing metadata, communicating with trackers, and coordinating the retrieval of distributed data. The client distinguishes itself through its low-level implementation of the BitTorrent protocol, which manages direct peer-to-peer socket connections and concurrent request orchestration. By pipelining multiple network requests, the software maximizes throughput and reduces latency during the assembly of larg

    Gobittorrentbittorrent-clientgolang
    Ver en GitHub↗2,030
  • jpillora/cloud-torrentAvatar de jpillora

    jpillora/cloud-torrent

    6,233Ver en GitHub↗

    Cloud-torrent is a self-hosted BitTorrent client and remote torrent manager written in Go. It functions as a torrent server that allows users to search for, start, and monitor downloads on a remote machine through a web interface. The system acts as an HTTP torrent file streamer, enabling the streaming of downloaded content directly through a web browser for immediate playback without requiring full local downloads. It includes an integrated search interface to discover torrents and initiate downloads without leaving the server environment. The server provides secure remote access through au

    Go
    Ver en GitHub↗6,233
  • rakshasa/rtorrentAvatar de rakshasa

    rakshasa/rtorrent

    4,713Ver en GitHub↗

    rTorrent is a headless BitTorrent client daemon and manager designed for Unix-like systems. It operates as a background process to handle the downloading and uploading of files via the BitTorrent protocol. The application provides a text-based user interface using ncurses for real-time updates and keyboard navigation in a console. It also exposes a socket-based remote control interface, allowing external clients to send commands and query status via a network protocol. The software covers core torrent management capabilities, including file priority configuration, torrent import, and list fi

    C++bittorrentbittorrent-clientrtorrent
    Ver en GitHub↗4,713
Ver las 30 alternativas a Libtorrent→

Preguntas frecuentes

¿Qué hace arvidn/libtorrent?

libtorrent is a portable C++ library that implements the complete BitTorrent protocol for peer-to-peer file transfers, supporting distributed hash tables (DHT), magnet links, and protocol extensions. It provides a well-documented C++ interface for building custom BitTorrent clients with full protocol support, handling peer communication, piece management, and swarm coordination.

¿Cuáles son las características principales de arvidn/libtorrent?

Las características principales de arvidn/libtorrent son: BitTorrent Client Libraries, BitTorrent Protocol Cores, C++ Networking Libraries, Peer-to-Peer File Distribution, Storage Abstraction Layers, Rarest-First Piece Selectors, BitTorrent Clients, Embedded.

¿Qué alternativas de código abierto existen para arvidn/libtorrent?

Las alternativas de código abierto para arvidn/libtorrent incluyen: anacrolix/torrent — This project is a full-featured BitTorrent client library and protocol implementation. It provides the core components… veggiedefender/torrent-client — This project is a Go-based library and utility for downloading files from decentralized peer-to-peer networks. It… jpillora/cloud-torrent — Cloud-torrent is a self-hosted BitTorrent client and remote torrent manager written in Go. It functions as a torrent… rakshasa/rtorrent — rTorrent is a headless BitTorrent client daemon and manager designed for Unix-like systems. It operates as a… cjb/gittorrent — GitTorrent is a decentralized Git distribution system that enables the sharing and cloning of repositories across a… michaing/dietpi — DietPi is an ultra-lightweight Debian distribution and software platform purpose-built for single-board computers. It…