Skip to content

P2P File Sharing System is a decentralized peer-to-peer (P2P) file sharing system designed for people who to easily and efficiently share files without relying on central servers. Built using Python, it implements the concept of UDP and TCP protocols for information sharing and file sharing between peers respectively.

Notifications You must be signed in to change notification settings

raghxvnair/Peer2Peer_File_Sharing_System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3fee2b3 · Dec 15, 2023

History

3 Commits
Dec 15, 2023
Dec 15, 2023
Dec 15, 2023
Dec 15, 2023
Dec 15, 2023

Repository files navigation

P2P File Sharing System

This Python project implements a peer-to-peer (P2P) file-sharing system using socket programming. The system allows users to host and download files over a local network.

Features

  • Efficient P2P file transfer using both TCP and UDP sockets.
  • Smart file handling with binary operations and chunking for optimized large file transfers.
  • Concurrent processing to enhance system performance, enabling simultaneous operations for incoming connections and file serving.
  • Robust security measures with firewall configurations and error handling for increased reliability.
  • Modular project architecture, featuring separate scripts for hosting, downloading, and service announcement for collaborative development.

Usage

  1. Clone the repository:

    git clone https://github.com/your-username/P2P-File-Sharing.git
  2. Navigate to the project directory:

    cd Peer2Peer-File_Sharing_System
  3. Run the script to announce the information:

    python announcer.py
  4. Run the script to listen to the information:

    python listener.py
  5. Run the server script:

    python server.py
  6. Run the client script:

    python downloader.py

Configuration

  • Customize the project settings in the scripts, such as port numbers, file paths, and network configurations.
  • Ensure that firewall rules are configured to allow communication on the specified ports.

Dependencies

  • Python 3.x

Contributing

Contributions are welcome! If you have ideas for improvements or encounter issues, feel free to open an issue or submit a pull request.

Make sure to replace placeholders like your-username and add relevant details such as project dependencies, additional configuration steps, or specific usage instructions based on your project's characteristics.

About

P2P File Sharing System is a decentralized peer-to-peer (P2P) file sharing system designed for people who to easily and efficiently share files without relying on central servers. Built using Python, it implements the concept of UDP and TCP protocols for information sharing and file sharing between peers respectively.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages