Giter VIP home page Giter VIP logo

ondrop's Introduction


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

ondrop's People

Contributors

dependabot[bot] avatar devxan avatar explosion-scratch avatar restyled-io[bot] avatar retronbv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ondrop's Issues

[Bug]: Mobile devices cannot send/recieve files to/from desktop devices

Contact Details

JoshAtticus on Meower & Revolt (I don't have Discord :D)

What happened?

When sending files to or from a mobile device using a desktop device (and vice versa), the file does not send. It says encrypting, then does nothing else.

Devices tested

  • iPhone 6s iOS 15.7.1 (Mobile Safari) --> Ubuntu 22.10 (Firefox & Vivaldi)
  • iPhone 6s iOS 15.7.1 (Mobile Safari) --> Windows 11 Home (Microsoft Edge & Vivaldi)
  • iPhone 8 iOS 16.3 Public Beta (Mobile Safari) --> Ubuntu 22.10 (Firefox & Vivaldi)
  • iPhone 8 iOS 16.3 Public Beta (Mobile Safari) --> Windows 11 Home (Microsoft Edge & Vivaldi)
  • Samsung Galaxy Tab A7 Android 12 (Google Chrome & Samsung Internet) --> Ubuntu 22.10 (Firefox & Vivaldi)
  • Samsung Galaxy Tab A7 Android 12 (Google Chrome & Samsung Internet) --> Windows 11 Home (Microsoft Edge & Vivaldi)
  • Samsung Galaxy S4 Lineage OS 18.1 (Chromium & Vivaldi) --> Ubuntu 22.10 (Firefox & Vivaldi)
  • Samsung Galaxy S4 Lineage OS 18.1 (Chromium & Vivaldi) --> Windows 11 Home (Microsoft Edge & Vivaldi)

Did you modify OnDrop in any way?

  • Check the box if you were

What browsers are you seeing the problem on? (Select multiple if needed)

Firefox, Chrome, Safari

What does this suggestion relate to? (Select multiple if needed)

No response

Relevant log output

No errors appeared in popups or browser consoles

Read the README

  • Check the box if you read it

Please change the license

Contact Details

On this issue, just mention @Secret-chest

What's your idea?

Change the license to AGPL.

Why?

It might look like it, but the CC BY-NC-SA is not a free license. Also, CC licenses are not suitable for software because they don't especially address the source code.

The AGPL will also prevent this from being used on servers without sharing the source code.

What does this suggestion relate to?

No response

Idea: File Storage Site

You could add a service so you could store your files online. Kind of like Mediafire, but free maybe? It's your choice though.

help

can i help please

[Bug]: Before the service worker has been installed, it's still possible to share

Contact Details

No response

What happened?

Before the service worker is installed, OnDrop still shows up in the navigator.share menu:
image
Therefore it's possible to share using navigator.share() before the service worker is installed, this causes the following error:

Cannot POST /

We can fix this by setting up a POST route server-side and possibly display an error message. It'd be pretty tricky to handle files server side, so the best course of action would be to display an error message.

Did you modify OnDrop in any way?

What browsers are you seeing the problem on? (Select multiple if needed)

Firefox, Chrome, Safari, Microsoft Edge

What does this suggestion relate to? (Select multiple if needed)

PWA support, Backend functionality

Relevant log output

Cannot POST /

Read the README

  • Check the box if you read it

[Bug]: Testing!

Contact Details

[email protected]

What happened?

A bug happened!

Version

1.0.2 (Default)

What browsers are you seeing the problem on?

Firefox, Chrome

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Domain Expired

Contact Details

No response

What happened?

https://ondrop.dev/

image

Did you modify OnDrop in any way?

  • Check the box if you were

What browsers are you seeing the problem on? (Select multiple if needed)

No response

What does this suggestion relate to? (Select multiple if needed)

No response

Relevant log output

No response

Read the README

  • Check the box if you read it

Find a better way to import Crypto.js

Maybe a file or something, this way is likely prone to breaking.


@todo Find a better way to import Crypto.js
@body Maybe a file or something, this way is likely prone to breaking.
*/
eval(
await fetch(
"https://cdn.jsdelivr.net/gh/juhoen/[email protected]/web/hybrid-crypto.min.js"


This issue was generated by todo based on a todo comment in e348a0b. It's been assigned to @Explosion-Scratch because they committed the code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.