Skip to content

DaniloDuque/p2p-file-exchange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

156 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

P2P File Exchange

A memory-safe Napster-style P2P file sharing system built in C++, allowing users to locate and share files through a central index.

Key Features

  • Parallel Downloads: Download file chunks from multiple peers simultaneously
  • GUI Interface: GTK-based graphical user interface
  • Dual Hash System: Reliable file identification and integrity verification
  • Auto Peer Discovery: Heartbeat monitoring and dead peer removal

Architecture

  • Index Server: Central registry tracking files and peer locations
  • Peer Clients: File sharing nodes with GUI interface
  • Streaming Protocol: Memory-efficient chunked file transfers

Quick Start

1. Start Index Server

# See index/README.md for compilation
cd build/
./index_server 8585

2. Start Peer Clients

# See peer/README.md for compilation
cd build/
./peer_client 9001 9002 127.0.0.1 127.0.0.1 8585 ../assets/Peer1/

Component Documentation

About

A Napster-style P2P file sharing system built in C++, allowing users to locate and share files through a central index.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors