SnapDrop / snapdrop

A Progressive Web App for local file sharing
https://snapdrop.net
GNU General Public License v3.0
18.26k stars 1.67k forks source link

remove signaling server and work in a pure LAN #127

Open Leo-Lionni opened 4 years ago

Leo-Lionni commented 4 years ago

I used safari (ipad), new edge (mac), kiwi browser (huawei), in ipad 2018, macbook pro 2019, huawei p30(android) during my test. 1 Connect ipad and macbook to huawei's hotspot shared network, 2 It is normal to transfer files 3 When I turn off huawei mobile phone traffic, but keep the hotspot, it is similar to a LAN that cannot communicate with the outside world 4 Those files in transfer continue to work and end normally. 5 (when not connected to the external network), I want to continue to transfer files, snapdrop.net prompts me "connection ..... retry 5seconds ..........you're offline!......retry 5 seconds" 6 i turn on huawei mobile phone traffic ,and"snapdrop.net : you go back online!" and everything works like 2 .

So, I would like to ask, can snapdrop run on the local area network (but not communicate with the external network.)?

"WebRTC needs a Signaling Server, but it is only used to establish a connection and is not involved in the file transfer)."-----this one-------- Maybe you remove a signaling server here? Make snapdrop.net in a pure LAN environment?

i'm chinese and my english is poor, thank you very much!

willstott101 commented 4 years ago

Web browsers don't really let you directly connect to one another. Unfortunately WebRTC is the only option, and it requires another form of communication to establish the connection.

Essentially, because your browser trusts the https certificate of snapdrop.net, it lets snapdrop.net broker secure direct connections to the other computers. But without snapdrop.net your browser won't trust these other computers.

There are solutions to this, and my favourite is:

This is then even more secure than snapdrop.io (in the sense that we don't even have to trust snapdrop.net), but will only work with an installed app, and not from a web-browser.

mubashir-rehman commented 4 years ago

Assuming there is an app installed on an android phone. Is it possible to do that without even connecting to snapdrop.io at all(not even once). @willstott101

willstott101 commented 4 years ago

If there is some way for them to discover each other (on the same LAN, or using a Bluetooth connection) then it's definitely possible (Apple's airdrop does these things AFAIK) but it's not functionality that's built into snapdrop

mubashir-rehman commented 4 years ago

https://github.com/trebleshot Provides that functionality to some extent but is in early stages in terms of web file sharing. It is like shareit but open source. Currnetly it can only share files between itself and any other connected device. Maybe you can help in that project or it can help this.