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

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectServer MCPDespreCum realizăm clasamentulPresă
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
anacrolix avatar

anacrolix/torrent

0
View on GitHub↗
6,041 stele·667 fork-uri·Go·MPL-2.0·6 vizualizări

Torrent

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 first.

The library covers a broad set of peer-to-peer capabilities, including decentralized peer discovery via distributed hash tables, NAT traversal through hole-punching and UPnP, and data integrity enforcement via hash-based piece verification. It also handles bencode data processing, encrypted handshakes, and traffic management for controlling bandwidth and peer connections.

The implementation includes support for BitTorrent v2 compatibility and provides structured logging and internal metrics for monitoring connection performance.

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.

Istoric stele

Graficul istoricului de stele pentru anacrolix/torrentGraficul istoricului de stele pentru anacrolix/torrent

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Torrent

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Torrent.
  • veggiedefender/torrent-clientAvatar veggiedefender

    veggiedefender/torrent-client

    2,030Vezi pe 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
    Vezi pe GitHub↗2,030
  • libp2p/libp2pAvatar libp2p

    libp2p/libp2p

    2,940Vezi pe 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

    Vezi pe GitHub↗2,940
  • arvidn/libtorrentAvatar arvidn

    arvidn/libtorrent

    5,948Vezi pe 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
    Vezi pe GitHub↗5,948
  • webtorrent/webtorrentAvatar webtorrent

    webtorrent/webtorrent

    31,045Vezi pe 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
    Vezi pe GitHub↗31,045
Vezi toate cele 30 alternative pentru Torrent→

Întrebări frecvente

Ce face anacrolix/torrent?

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.

Care sunt principalele funcționalități ale anacrolix/torrent?

Principalele funcționalități ale anacrolix/torrent sunt: 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.

Care sunt câteva alternative open-source pentru anacrolix/torrent?

Alternativele open-source pentru anacrolix/torrent includ: 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…