To whomsoever it may concern,
- Neither the idea for this project, nor the technology used, were conceived originally
by the me (there is no invention of anything).
- In fact, the project is somewhat still a basic & simple implementation of the
already-popular technology in-use.
- I am no expert in the field, but only a learner trying to experiment with it.
- I do not claim any credit for the idea, & have always maintained & acknowledged the
inspirations for the project (you can find as well as use them, I have mention them below
in the inspiration section).
- I am open to any constructive criticism, and welcome any corrections / contributions.
Cheers,
Ashwin Shenoy
- โ Light - Lightweight Progressive Web App that runs on your favorite browser!
- โ Fast - Does not use your internet too!
- โ Secure - P2P WebRTC-based End-to-End Encrypted File-Transfer
- โ No Special Hotspot - Works with any existing hotspot or network between devices.
- โ No App Install - Works on any device with a modern web browser.
- โ No Non-Sense - Open Source, No Ads, No User Info Asked/Stored
- Ensure both devices are in the same network
- Open Bayjdo in both devices, and from any one of the device enter the code of the other. (You may also make use of in-built QR-Scanner & Scan the QR instead)
- Select files to send ๐
- Wait till transfer is complete, ๐
The app is completely based on web-technologies and runs on any modern web browser. For establishing the connection between two devices, a WebRTC signalling server (PeerJS) is used. This server is however not involved in the data transfer process.
All files being transmitted get encrypted by WebRTC standards, no one except the two devices would be able to read them. For further clarification, no files are ever sent to any server, and the file are always transferred directly (P2P) from one device to another through an encrypted WebRTC/WS channel.
Sadly no. ๐ Only browsers with the support for WebRTC can support Bayjdo, however, all modern & popular browsers do support WebRTC and hence Bayjdo ๐ป
NextJS / PeerJS / WebRTC / WebSocket
Being an open source project, any sort of contributions - pull requests, bug reporting, feature request, documentation help are all welcomed.
To run and develop using docker-compose, you may use the following configuration
in you docker-compose.yml
-
version: '3.6'
services:
bayjdo_server:
container_name: bayjdo_server
image: peerjs/peerjs-server
ports:
- 9000:9000
bayjdo_webapp:
container_name: bayjdo_webapp
image: webapp
ports:
- 3000:3000
environment:
- PORT=3000
volumes:
- ./webapp:/app
- /app/node_modules
- /app/.next
build:
context: webapp
dockerfile: Dockerfile-Dev
command:
"npm run dev"
- Fork the repository, clone it locally and run it following the installation instruction above.
- Find an issue or feature to work on, and put up an issue.
- Work on the patch or feature, test it and send a pull request referencing the issue.
This project is only being developed, as a hobby project and does not intend to replace any popular file transfer application. The implementation of this project is currently very basic, and intends only to be a proof of concept for the technology used. This app may have technical glitches, security & privacy vulnerabilities. If you plan to use it for transferring confidential files etc., please look elsewhere for now.
Neither the idea for this project, nor the technology used, were conceived originally by me. This project only differs in implementations (+ some minor features), from some of the following popular projects it was inspired from -
- https://github.com/cowbell/sharedrop / https://www.sharedrop.io/
- https://github.com/RobinLinus/snapdrop / https://snapdrop.net/
This project repository is licensed under GNU General Public License V3.
- Icons / illustrations - https://icons8.com/, https://icons8.com/ouch
Developed with โฅ by Ashwin Shenoy.