Skip to content

Python-based P2P file-sharing client with socket programming, multithreading, and torrent parsing.

License

Notifications You must be signed in to change notification settings

AhmedFaizanDev/PyTor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyTor - P2P File Sharing Client

Overview

PyTor is a peer-to-peer (P2P) file-sharing client built with Python, featuring advanced socket programming and multithreading capabilities.

Features

  • Socket Programming: Robust socket-based communication between peers
  • .torrent File Parsing: Full support for parsing and interpreting .torrent metadata files
  • Chunk-Based Downloads: Efficient file downloading through chunk-based transfers
  • Peer Discovery: Automatic discovery and management of 10+ concurrent peers
  • Multithreading: Concurrent peer connections handled via multithreading

Architecture

The client is designed to handle multiple simultaneous peer connections, enabling fast and efficient file downloads through parallel chunk transfers.

Getting Started

Requirements

See required.txt for dependencies.

Installation

pip install -r required.txt

Usage

python main.py

Project Structure

  • main.py - Main entry point
  • b.py - Core functionality module
  • rp.py - Additional utilities
  • required.txt - Python dependencies

Technical Highlights

  • Implements TCP/IP socket communication for peer connections
  • Handles concurrent downloads using Python's threading module
  • Parses .torrent files to extract metadata and piece information
  • Manages multiple simultaneous peer connections for optimal performance

About

Python-based P2P file-sharing client with socket programming, multithreading, and torrent parsing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages