Skip to content

A cross-platform file transfer application for desktop and mobile built with Flutter, enabling seamless file sharing, QR code pairing, messaging, and offline transfers via Wi-Fi or hotspots for enhanced collaboration and productivity.

License

Notifications You must be signed in to change notification settings

akranjithkumar/P2P-File-transfer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

51 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Cross Platform Peer-to-Peer File Transfer System (P2P Transfer)

Overview

P2P Transfer is a cross-platform peer-to-peer file transfer system that allows users to share files seamlessly across devices. It uses QR code-based authentication and network discovery to enable secure file sharing over the same WiFi network. This project focuses on developing a cross-platform file transfer application that allows users to share files such as documents, photos,videos and any file formats seamlessly across mobile devices, desktops, and web platforms (Across OS - Windows, Linux, MacOS, Android) . Built using Android Native, the application ensures a consistent and responsive user experience across all platforms. Features like QR code scanning for device pairing and authetication, and collaborative tools will enhance usability, making file sharing and teamwork more efficient.

Demo

1. Basic Installation and working:

USAGE.GUIDE.mp4

2. Multiple Scnearios and OS (Windows/Linux/Android) Output

output.mp4

Features

  • Cross-Platform Support:

    • πŸ–₯️ Windows (.exe)
    • πŸ“± Android (Native App)
    • 🐧 Linux (Web)
    • 🍏 MacOS (Web)
  • πŸ” QR Code-Based Authentication:

    • βœ… Generates a QR code containing network credentials.
    • πŸ”’ Ensures secure authentication before transferring files.
  • πŸ“‚ Local Network File Sharing:

    • πŸ” Discovers devices on the same network and ensures Secure connectivity
    • πŸš€ Transfers files without external internet dependency.
  • πŸ”§ Multi-Platform Compatibility:

    • 🐍 Uses Python Flask as the backend.
    • πŸ“± Native implementations for Android.
    • 🌐 Web-based access for Linux and MacOS.
  • πŸ”‘ Security Features:

    • πŸ“‘ Payload contains SSH and WiFi credentials for seamless connectivity.
    • πŸ”’ Encrypted authentication mechanism.

πŸ“₯ Installation :

Make sure your send and receive devices are connected to same WiFi network. (Future Update: The SSID password payload will be auto detected by QR)

πŸ–₯️ Windows (.exe) - Host Machine

  1. Download the latest .exe from the WINDOWS EXE directory.
  2. Run the executable.
  3. Ctrl + Click the IP address (either localhost or configured IP).
  4. Upload and delete files using the .exe application.

πŸ–₯️ Windows (Sub-Machine)

  1. Enter the host machine's IP address manually in the browser.
  2. (Future Update: Username and passkey authentication.)

πŸ“± Android (Native App)

  1. Install the APK from Android APK/P2P file transfer.apk.
  2. Open the app and grant necessary permissions.
  3. Tap the 3 dot button to Scan the QR code from a Windows/Linux/Android Host machine.
  4. Perform file transfer operations.

🐧 Linux & 🍏 MacOS (Web)

  1. Clone the repository:

    git clone https://github.com/akranjithkumar/P2P-File-transfer
    cd P2P-File-transfer
  2. Install dependencies :

    pip install -r requirements.txt
  3. Run the Flask server:

     python app.py
  4. Scan the generated QR code to access the web interface.

5. Usage:

Start the Application

  • Run the executable or start the Flask server.

πŸ“Έ Scan the QR Code

  • Use a mobile or desktop application to scan and connect to the file-sharing network.

πŸ“‚ Upload and Download Files

  • Use the web interface or Android app to upload/download files securely.

πŸ› οΈ Building the Executable

πŸ–₯️ For Windows (.exe)

pyinstaller --onefile --windowed app.py

🐧 For Linux/MacOS

python3 app.py

For Android

Use Android Studio or Kotlin/Java Native Development

πŸ“œ License:

This project is licensed under the Apache 2.0 License.

🀝 Contribution

πŸ’‘ Feel free to submit issues or contribute by forking the repository and making a pull request. If any queries contact [dpijai@gmail.com]

πŸš€ Happy File Sharing! πŸŽ‰

About

A cross-platform file transfer application for desktop and mobile built with Flutter, enabling seamless file sharing, QR code pairing, messaging, and offline transfers via Wi-Fi or hotspots for enhanced collaboration and productivity.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •