> bypassing the need for centralized servers
I don't follow this part... it's using a centralized server to serve the web app, which could easily serve JS code that steals confidential data right?
11–20 of 112 posts
> bypassing the need for centralized servers
I don't follow this part... it's using a centralized server to serve the web app, which could easily serve JS code that steals confidential data right?
Looks good but any plans to make it open source? Similar open source solutions exist like: - https://pairdrop.net/ - https://wormhole.app/ - https://www.snapdrop.net/ How does this compare?
I've been hosting my own pairdrop for a year now, very easy and quick to share a file between my smartphone and laptop without digging out a usb cable.
A bit off-topic, but since I was looking at doing a side project with a P2P feature, would appreciate if I could pick your brain for a bit: don't you still need to run the STUN and TURN servers? Can you run those using Vercel's serverless functions?
look at https://peerjs.com that this the project is using.
> To broker connections, PeerJS connects to a PeerServer. Note that no peer-to-peer data goes through the server; The server acts only as a connection broker.
> If you don't want to run your own PeerServer, we offer a free cloud-hosted version of PeerServer.
So I suppose there's still a server, but it's shared and run by two folks based on donations: https://peerjs.com/peerserver
Earlier quoted context omitted.
I've been hosting my own pairdrop for a year now, very easy and quick to share a file between my smartphone and laptop without digging out a usb cable.
I use KDE Connect for that. Have you given it a try?
> without involvement of any server > bypassing the need for centralized servers I don't follow this part... it's using a centralized server to serve the web app, which could easily serve JS code that steals confidential data right?
Web apps are better than native apps from a security perspective. Browsers have fairly decent built-in debugging tools that you could use to verify that data isn't being uploaded to a 3rd party.
On the other hand, to do the same with a native application you would need to use a separate network protocol analyzer application.
Web apps also run in a sandbox that users tend to have fairly good knowledge about. For example, they generally cannot access any file on your device unless you grant permission. What are the limits of the iOS, OSX, Android or Windows application sandboxes? Can apps on those platforms access files without explicit permission? I think the vast majority of users wouldn't be able to tell you.
I looked around and couldn't find a description of the protocol by which two peers authenticate to each other/transfer files. Also, is the E2EE encryption referred to simply whatever is being used to encrypt the transport(DTLS/SRTP/etc)? or are you doing additional encryption/decryption of files? Also I'm curious like others, does this only work if no nat traversal is required? or are you leveraging public stun/turn…
Looks good but any plans to make it open source? Similar open source solutions exist like: - https://pairdrop.net/ - https://wormhole.app/ - https://www.snapdrop.net/ How does this compare?
> without involvement of any server > bypassing the need for centralized servers I don't follow this part... it's using a centralized server to serve the web app, which could easily serve JS code that steals confidential data right?
That is true, but unless you develop an application yourself, it is always coming from somewhere else. Web apps are better than native apps from a security perspective. Browsers have fairly decent built-in debugging tools that you could use to verify that data isn't being uploaded to a 3rd party. On the other hand, to do the same with a native application you would need to use a separate network protocol analyzer app…
This isn't true. Sure, they have less access to the host system, but verifying the integrity and authenticity of a web app is harder than that of a native app, where code signing is commonplace (not that code signing is a whole solution, but it's a great start). Extensions[0] exist to improve the situation but it's not yet broadly applicable.
A compromised web app doesn't have to upload your data to a 3rd party, it just has to (for example) encrypt with weak keys. You'd never notice that from the network logs alone.
And while I agree that debug tooling for the web is great, there's a lot of great stuff for native code too. Ignoring "expert" tools entirely, a more user-facing example is Little Snitch[1], which handles the "detect data being sent to 3rd parties" use case.
[0] https://engineering.fb.com/2022/03/10/security/code-verify/
Looks good but any plans to make it open source? Similar open source solutions exist like: - https://pairdrop.net/ - https://wormhole.app/ - https://www.snapdrop.net/ How does this compare?
I've been hosting my own pairdrop for a year now, very easy and quick to share a file between my smartphone and laptop without digging out a usb cable.
Looks good but any plans to make it open source? Similar open source solutions exist like: - https://pairdrop.net/ - https://wormhole.app/ - https://www.snapdrop.net/ How does this compare?
I've been hosting my own pairdrop for a year now, very easy and quick to share a file between my smartphone and laptop without digging out a usb cable.
- FileBrowser (https://filebrowser.org/features)
- Syncthing (https://syncthing.net/)
Run both as Docker containers on a server at home. Syncthing keeps the files on your PC, Mac, and BSD systems in sync, and FileBrowser can point to the sync share and supply a convenient web UI for phones, etc. It works for me, it's kind of like a local Dropbox.