🍐 A cross-platform file transfer application
These days, closed ecosystems surround us. iPhones only share with Apple devices, Android phones only with Windows. Sending a file from one place to another is difficult and frustrating, usually requiring you to send an email to yourself. This is not acceptable, and PearDrop aims to solve this issue. PearDrop is an application built on a custom protocol that is available on every platform (Apple, Google, Windows, etc). This allows for simple and efficient file transfer when you really need it.
iOS:
Via the App Store or Testflight for the latest version
Android:
Via the Google Play Store
Windows:
Clone this repo, ensure you are on the latest flutter dev
release with flutter channel dev
, then run
flutter pub get
cd peardrop_flutter
flutter run -d windows
There will be a new PearDrop.exe
file under peardrop_flutter/build/windows
for you to run
MacOS:
Same as Windows, except run flutter run
targeting macos
Linux:
Coming soon...
If you run into issues when building for desktop, try running flutter doctor
PearDrop is an app built on Flutter, a framework that enables cross-platform compatibility for a single codebase. It uses a one-page layout with the following UI/UX flow:
Open App or Click On Share Sheet/Taskbar => Select File to Share => Select Device to Share To
Once a device has been clicked on, it will initiate a function that displays a modal panel to the receiving device asking them to accept or decline. If the transmission was accepted, it will share the file to the other device. The sharing user can then select another device to send to, or click on the file button to select a different file to send.
For more information on how PearDrop works visit the wiki, which describes Architecture, Core Format, and Network Extensions in detail
Simply clone the repository, then run
flutter pub get
Then to test the app, enter the peardrop_flutter
directory and run
cd peardrop_flutter
flutter devices
flutter run -d "target device"
- Fork PearDrop here
- Create a feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
Created by Students @GoldinGuy and @anirudhb
Distributed under the GNU AGPLv3 license. See LICENSE for more information.