navvvgupta / apna-hub

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Apna-Hub Decentralized P2P File Sharing Platofrm

Apna-Hub is a decentralized peer-to-peer (P2P) file-sharing platform inspired by the popular Local DC++ system. Designed to facilitate seamless data exchange within a local network Apna-Hub empowers users with a suite of robust features that streamline the process of sharing and managing files.

🧐 Features

Here're some of the project's best features:

  • Decentralized Network: Apna-Hub operates on a decentralized network ensuring that there is no single point of failure. Users can connect directly with one another to share files without relying on a central server.
  • Real-time Chat: The platform is equipped with an integrated chat feature that allows users to communicate with one another in real-time.
  • Multiple File Sharing: Apna-Hub allows users to share multiple files simultaneously. Whether you're distributing large datasets or sharing media files the platform handles it with ease.
  • Download Management: Apna-Hub includes advanced download management features such as the ability to pause and resume downloads. This ensures that even if a connection is interrupted the download can be resumed from where it left off without any data loss.
  • Multi-threading Support: To enhance performance Apna-Hub leverages multi-threading enabling users to upload and download multiple files concurrently. This parallel processing capability significantly reduces the time required for large file transfers.
  • User-friendly CLI: Apna-Hub is designed with a command-line interface (CLI) that is both powerful and easy to use. Users can quickly execute commands to share files monitor transfers and communicate with other peers.

Functions

Here're functions:

  • connect(): To connect to any client for file tranfer.
  • upload(): To upload file/folder from my local device to Public folder so that users can see which whiles are avaialble within a user.
  • list_public_folder(username): To list publically available folder of a user
  • search_by_file(file_name): TO see wether this file is available within network with any user.
  • list_all_user(): To list all online users in a network.

System Architecture:

🛠️ Installation Steps:

1. Clone the repository:

git clone https://github.com/yourusername/apna-hub.git

2. Navigate to the project directory:

cd apna-hub

3. Install the required dependencies:

pip install -r requirements.txt

4. Run Apna-Hub

python client/client.py

About


Languages

Language:Python 100.0%