awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

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

anacrolix/torrent

0
View on GitHub↗
6,041 estrellas·667 forks·Go·MPL-2.0·6 vistas

Torrent

Este proyecto es una librería cliente de BitTorrent completa y una implementación de protocolo. Proporciona los componentes principales necesarios para el intercambio de archivos peer-to-peer, incluyendo un stack de red que admite la especificación BitTorrent, comunicación con trackers y gestión de enjambres (swarms).

Un diferenciador principal es la inclusión de un sistema de archivos virtual que permite montar torrents como unidades de solo lectura. Este sistema permite el streaming de contenido bajo demanda, donde piezas de datos específicas se obtienen de la red solo cuando ocurre una solicitud de lectura, en lugar de requerir que se descargue todo el archivo primero.

La librería cubre un amplio conjunto de capacidades peer-to-peer, incluyendo descubrimiento descentralizado de pares mediante tablas hash distribuidas (DHT), cruce de NAT mediante hole-punching y UPnP, y cumplimiento de la integridad de los datos mediante verificación de piezas basada en hash. También maneja el procesamiento de datos bencode, handshakes cifrados y gestión de tráfico para controlar el ancho de banda y las conexiones de pares.

La implementación incluye soporte para la compatibilidad con BitTorrent v2 y proporciona registro estructurado y métricas internas para monitorear el rendimiento de la conexión.

Features

  • On-Demand Content Streaming - Mounts torrents as read-only drives that stream specific data pieces from the network on demand.
  • On-Demand Content Streaming - Fetches specific data pieces from the network on demand to enable streaming content without full downloads.
  • BitTorrent and File Sharing - Implements a full BitTorrent protocol for decentralized file distribution and peer-to-peer data sharing.
  • Torrent Data Downloading - Fetches segmented data from a peer-to-peer swarm using hash identifiers, including support for hybrid torrents.
  • Data Integrity Verification - Verifies the integrity of downloaded pieces by calculating hashes and matching them against the torrent specification.
  • Torrent-Backed Filesystems - Mounts remote torrent data as a local read-only filesystem to access files on demand.
  • BitTorrent Client Libraries - Provides a comprehensive library for building custom BitTorrent clients with full protocol support.
  • BitTorrent Protocol Cores - Provides a low-level protocol core implementing piece-picking, tracker communication, and swarm management.
  • uTP Protocols - Implements the uTP protocol to enable efficient, low-overhead data transfer over UDP between peers.
  • BitTorrent - Implements the BitTorrent protocol with support for multiple infohash versions for v2 compatibility.
  • Magnet Link Downloading - Retrieves file data from peer-to-peer networks by processing magnet links directly.
  • NAT Traversal Mechanisms - Provides NAT traversal using UPnP and hole-punching to establish direct peer-to-peer connections.
  • Peer Connection Managers - Manages pools of TCP and uTP connections, including handshakes and reconnection logic for the swarm.
  • P2P Network Participation - Implements a networking stack supporting DHT, PEX, uTP, and WebRTC for decentralized peer connectivity.
  • Peer-to-Peer Data Exchange - Implements peer data uploading to share file pieces with other members of the swarm.
  • Peer-to-Peer Networking - Manages distributed data exchange using DHT, NAT traversal, and hole-punching for serverless connectivity.
  • Peer Discovery - Locates peers sharing the same content using a Distributed Hash Table (DHT) for decentralized discovery.
  • UDP Transport Implementations - Implements a custom reliable transport protocol over UDP to optimize peer-to-peer connectivity.
  • HTTP and UDP Tracker Announcers - Sends periodic announcements to HTTP and UDP trackers to discover peers and report seeding status.
  • Filesystem Mounting - Mounts a virtual read-only filesystem that fetches torrent data from the network on demand.
  • P2P Virtual Mounts - Implements a system for mounting torrents as read-only filesystems that fetch data on demand.
  • Distributed Hash Tables - Uses a decentralized distributed hash table to locate peers sharing specific content hashes.
  • Kademlia Implementations - Implements the Kademlia routing algorithm to efficiently locate nodes in the peer-to-peer network.
  • Piece Integrity Verification - Detects and bans peers that send invalid data pieces by verifying hashes against torrent metadata.
  • Repository On-Demand Fetching - Retrieves only necessary data pieces from the swarm on demand for a specific file read.
  • Content Hash Verification - Verifies the integrity of downloaded data pieces by comparing their cryptographic hashes against torrent metadata.
  • Binary Serialization Formats - Implements Bencode encoding and decoding for processing torrent metadata and peer communications.
  • Magnet Link Construction - Generates structured magnet URIs by extracting trackers and info-hashes from torrent files.
  • Torrent Metadata Management - Parses and modifies torrent metadata files to facilitate peer discovery and file sharing.
  • Download Traffic Controllers - Limits the speed and concurrency of incoming data requests to manage network bandwidth.
  • Local Peer Discovery - Finds local peers on the same network using multicast UDP announcements.
  • Network Traffic Management - Controls bandwidth limits, manages port forwarding via UPnP, and filters peer connections to optimize network performance.
  • Network Port Forwarding - Manages network port mappings using UPnP to ensure the client is reachable by other peers.
  • Encrypted Handshakes - Uses secret keys to authenticate and establish encrypted handshakes with remote peers.
  • Hole-Punching Connection Dialing - Implements UDP hole-punching techniques to establish direct peer-to-peer connections across NAT firewalls.
  • Memory-Mapped I/O - Uses memory-mapped file I/O to increase the speed of reading and writing torrent pieces to disk.
  • Network Traffic Filtering - Limits upload and download rates and filters connections using blocklists for security.
  • Data Encoders and Decoders - Provides utilities for encoding and decoding data in the Bencode format used by the BitTorrent protocol.
  • Torrent Progress Monitors - Tracks the progress of torrent downloads by calculating completed bytes and remaining data.
  • Peer Banning Systems - Blocks specific IP addresses based on behavioral patterns to protect the client from attacks.
  • Webseeds - Downloads file pieces via HTTP from designated webseed servers to accelerate the initial transfer process.
  • Distributed Systems - Full-featured BitTorrent client implementation.
  • Distributed Systems - BitTorrent client implementation.

Historial de estrellas

Gráfico del historial de estrellas de anacrolix/torrentGráfico del historial de estrellas de anacrolix/torrent

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 Torrent

Proyectos open-source similares, clasificados según cuántas características comparten con Torrent.
  • 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
  • libp2p/libp2pAvatar de libp2p

    libp2p/libp2p

    2,940Ver en GitHub↗

    libp2p is a modular peer-to-peer networking stack designed for building decentralized applications. It provides the core infrastructure necessary for nodes to discover and connect with other participants across a network without relying on central servers. The project distinguishes itself through a flexible transport layer that abstracts multiple protocols, including TCP, QUIC, WebSockets, and WebTransport, into a single interface. It features specialized tools for NAT and firewall traversal, such as hole punching and relay nodes, to establish direct connections between peers and web browsers

    Ver en GitHub↗2,940
  • arvidn/libtorrentAvatar de arvidn

    arvidn/libtorrent

    5,948Ver en GitHub↗

    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 conne

    C++bittorrentcpplibrary
    Ver en GitHub↗5,948
  • webtorrent/webtorrentAvatar de webtorrent

    webtorrent/webtorrent

    31,045Ver en GitHub↗

    WebTorrent is a JavaScript client library and peer-to-peer file sharing tool that implements the BitTorrent protocol. It enables the seeding and downloading of files via magnet links and info hashes across both the browser and Node.js environments. The project distinguishes itself by using WebRTC data channels to establish direct browser-to-browser networking, allowing decentralized data transfer across different domains without a central server. It specifically focuses on streaming torrent media, enabling incremental video and audio playback by prioritizing sequential pieces of a file before

    JavaScriptbittorrentbrowserhacktoberfest
    Ver en GitHub↗31,045
Ver las 30 alternativas a Torrent→

Preguntas frecuentes

¿Qué hace anacrolix/torrent?

Este proyecto es una librería cliente de BitTorrent completa y una implementación de protocolo. Proporciona los componentes principales necesarios para el intercambio de archivos peer-to-peer, incluyendo un stack de red que admite la especificación BitTorrent, comunicación con trackers y gestión de enjambres (swarms).

¿Cuáles son las características principales de anacrolix/torrent?

Las características principales de anacrolix/torrent son: On-Demand Content Streaming, BitTorrent and File Sharing, Torrent Data Downloading, Data Integrity Verification, Torrent-Backed Filesystems, BitTorrent Client Libraries, BitTorrent Protocol Cores, uTP Protocols.

¿Qué alternativas de código abierto existen para anacrolix/torrent?

Las alternativas de código abierto para anacrolix/torrent incluyen: veggiedefender/torrent-client — This project is a Go-based library and utility for downloading files from decentralized peer-to-peer networks. It… libp2p/libp2p — libp2p is a modular peer-to-peer networking stack designed for building decentralized applications. It provides the… arvidn/libtorrent — libtorrent is a portable C++ library that implements the complete BitTorrent protocol for peer-to-peer file transfers,… webtorrent/webtorrent — WebTorrent is a JavaScript client library and peer-to-peer file sharing tool that implements the BitTorrent protocol.… syncthing/syncthing-macos — Syncthing macOS is a native application bundle that wraps the Syncthing binary to provide decentralized, peer-to-peer… ipfs/go-ipfs — go-ipfs is an implementation of an IPFS node, providing a distributed filesystem and a content-addressable storage…