Agileshare is a file-sharing program built with security in mind that is designed to improve the in-person cross-platform file-sharing experience. Agileshare's logo is inspired by put a folder open face down on the table.
Agileshare is a file-sharing program built with security in mind that is designed to improve the in-person cross-platform file-sharing experience.
Agileshare is an application designed to improve the in-person cross-platform file-sharing experience. Users can share the file by entering the same passcode simultaneously or using a QR code.
You might ask, there are already many file-sharing web app alternatives, why create a new one? Sure there are many similar programs. However, I can't find one good solution that addresses the problem in WebRTC and Man in the Middle Attacks. Moreover, most solutions out there need to use a shared link to connect with other peers or connect within the same local network.
Instead, Agileshare takes a unique approach to creating secure peer-to-peer connections that could mitigate MITM attacks without complex security mechanisms by letting all peers enter the same passcode simultaneously and generate all necessary security variables from it. Agileshare eliminates the hassle of link sharing while maintaining solid security, and all the password derivation and file encryption/decryption happen locally.
Agileshare is built with the following technologies:
- Vanilla HTML / JavaScript / CSS frontend
- Web Crypto API (PBKDF2, ECDH, AES-GCM)
- NodeJS / ExpressJS backend
- PeerJS (WebRTC) / Socket.IO (WebSocket)
Here are some of the key features and expected features:
- WebRTC data transfer
- Peer-to-peer file transfer with multiple peers
- Peer-based file encryption/decryption
- Local file encryption/decryption
- Local key derivation
- WebSocket as a fallback when WebRTC is not available
- Connect peer with QR code
- Show file transfer progress
- Handle multiple file transfer
- Auto-adjusted light/dark mode
- Modal pop-up notifications will malfunction for more than one peer
- A new download will remove the previous one
Run the following command to install all the requirements:
npm install
To see how this program works, run:
npm run watch
If there is no error, you should be able to access it from http://127.0.0.1:3000/
Please check package.json for more details
Bug reports, feature suggestions, and especially code contributions are most welcome. Feel free to open an issue or pull request, and please check out the develop
branch to catch up with the latest development.
Agileshare is released as free and open source software under the GPLv3 license.
Agileshare and its logo have been designed and created by Printfer with ❤️
Copyright © 2022 Printfer