Skip to content

Explosion-Scratch/OnDrop

Repository files navigation


OnDrop


A lightning fast, secure and encrypted way to share files!

Features:

  • ✔️ Simple to use
  • 🔒 End to end encryption
  • ⚡ Quick
  • 🔥 Supports any device
  • 🚀 Easy
  • 🚫 No tracking or storing of data for more than 5 minutes.
    • This uses your IP adress as the key to find people nearby you on the app, in no way is this logged anywhere, stored, or sent to other users.
    • No analytics, no long term storage, no data sharing.
  • 😎 Looks good!
  • 🌔 Dark mode

Name by Jeffalo

Stuff that will be added soon:

  • END TO END ENCRYPTION!!!
  • Only public keys sent, files encrypted in chunks.
  • Minified and self-hosted libraries (no more <script> and <link> tags)
  • Support for pasting images (Control + V)
  • Browser extension?
  • UI support for custom keys instead of IP addresses. (Allows you to connect with someone with a different IP address than you. Currently it's ?ip=[anything_here] in the URL.)

What people are saying about ondrop:

image image image image image
(Thank you thank you thank you!!! ❤️)

FAQ

(Not actually asked frequently, this is just stuff that people may ask if they ever see this project and are interested in it 😩)

Why should I use this over other services?

  • This doesn't track you, it's easy, you can share between platforms (Airdrop only works on macs & iPhones 💻).
  • Most other services track you somehow.
  • OnDrop encrypts files end to end, this means that nobody but whoever you send your files can decrypt it! This includes the server itself! Even I can't see what files people are sending. This uses RSA encryption.

How does OnDrop work?

OnDrop uses your IP address to put you into a room using socket.io. To send files in realtime it sends the file as a blob to a certain person. This file is then received by that person. All connections are hidden from IP addresses outside of the current group. To view the full code that I wrote see index.js.

Does OnDrop track you?

Absolutely not! All files are deleted after 5 minutes, and whenever I run the server. IP addresses are not tracked in any way, they are only used as a grouping tool to group people together.

How'd you get that epic name?

image

Wowww, I love those shadows and stuff you did

Thanks! That's a style called neomorphism, which is a super cool way to make stuff look realistic and pleasant using CSS.

All these other people you show are contacting you on discord and I feel left out

--Explosion--#6807 is my Discord tag 😄

How did you come up with this idea?

Came to me when I realized that multiple people can have the same IP address, therefore it'd be possible to group them and figure out who's near whom.

Can I use your code?

See LICENSE.md

Tips and tricks!

  • You can click on a user to share a file with them.
  • You can create a unique link to share with someone if they don't live nearby or aren't on the same wifi network by using the ip query parameter, (like this: https://ondrop.dev/?ip=test, now if the person you send it to goes to that link you'll be able to connect)
  • You can paste anything and it'll upload it to everyone, an image, some text, etc!
  • You can drag and drop not just files, but images and text from webpages as well!
  • Installable as a PWA!
  • Add ?dev=true to the URL to send errors and logs to the server and view them at /errors/${ip_hash_here}
    • Errors are not recorded for users without dev mode on.

OnDrop © 2021 by Explosion-Scratch is licensed under CC BY-NC-SA 4.0