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

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
anacrolix avatar

anacrolix/torrent

0
View on GitHub↗
6,041 stars·667 forks·Go·MPL-2.0·6 vues

Torrent

Ce projet est une bibliothèque cliente BitTorrent complète et une implémentation de protocole. Il fournit les composants de base nécessaires au partage de fichiers peer-to-peer, incluant une pile réseau qui prend en charge la spécification BitTorrent, la communication avec les trackers et la gestion des essaims (swarms).

Un différenciateur principal est l'inclusion d'un système de fichiers virtuel qui permet aux torrents d'être montés en tant que lecteurs en lecture seule. Ce système permet le streaming de contenu à la demande, où des morceaux de données spécifiques sont récupérés du réseau uniquement lorsqu'une requête de lecture se produit, plutôt que de nécessiter le téléchargement complet de l'archive au préalable.

La bibliothèque couvre un large ensemble de capacités peer-to-peer, incluant la découverte décentralisée de pairs via des tables de hachage distribuées (DHT), le franchissement NAT via le hole-punching et UPnP, et l'application de l'intégrité des données via la vérification de morceaux basée sur le hachage. Elle gère également le traitement des données bencode, les handshakes chiffrés et la gestion du trafic pour contrôler la bande passante et les connexions entre pairs.

L'implémentation inclut la prise en charge de la compatibilité BitTorrent v2 et fournit une journalisation structurée et des métriques internes pour surveiller les performances de connexion.

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.

Historique des stars

Graphique de l'historique des stars pour anacrolix/torrentGraphique de l'historique des stars pour anacrolix/torrent

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait anacrolix/torrent ?

Ce projet est une bibliothèque cliente BitTorrent complète et une implémentation de protocole. Il fournit les composants de base nécessaires au partage de fichiers peer-to-peer, incluant une pile réseau qui prend en charge la spécification BitTorrent, la communication avec les trackers et la gestion des essaims (swarms).

Quelles sont les fonctionnalités principales de anacrolix/torrent ?

Les fonctionnalités principales de anacrolix/torrent sont : 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.

Quelles sont les alternatives open-source à anacrolix/torrent ?

Les alternatives open-source à anacrolix/torrent incluent : 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…

Alternatives open source à Torrent

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Torrent.
  • veggiedefender/torrent-clientAvatar de veggiedefender

    veggiedefender/torrent-client

    2,030Voir sur 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
    Voir sur GitHub↗2,030
  • libp2p/libp2pAvatar de libp2p

    libp2p/libp2p

    2,940Voir sur 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

    Voir sur GitHub↗2,940
  • arvidn/libtorrentAvatar de arvidn

    arvidn/libtorrent

    5,948Voir sur 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
    Voir sur GitHub↗5,948
  • webtorrent/webtorrentAvatar de webtorrent

    webtorrent/webtorrent

    31,045Voir sur 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
    Voir sur GitHub↗31,045
  • Voir les 30 alternatives à Torrent→