How to copy a file between devices? (2022)
grdw.nl
grdw.nl
I remember way back in the Android 4 era, my phone and my tablet both supported some "standard" form of WiFi Direct. It worked intuitively (just share a file), was blazingly fast (as fast as P2P WiFi can be), was low latency, and just worked. I used it to transfer media files and backups and it easily beat having to hook up a USB cable to two devices. I was sad to find out this was probably some kind of proprietary interface, because the feature seems to have vanished. It was the best local file sharing mechanism I'd ever used and it disappeared into thin air. Android Beam was nice, but computers and tablets don't have the required NFC hardware to make it work.
I don't expect Apple to play nice with anyone else, but it's time Microsoft, Google, and the various Android manufacturers got their shit together and developed some kind of open sharing system. Google and Samsung already joined forces, but Microsoft seems to have gone off to do their own thing again. We have P2P WiFi for display sharing and the like, why can't we decide on some kind of file sharing protocol here? I don't care if it's SMB or FTP or HTTP, it's really not that difficult a problem to solve. The only issue is that there are hundreds of apps, each with their own protocols and implementations, none of which come packaged with the OS.
My biggest frustration is that there doesn't seem to be anyone with a large platform willing to ask people in leadership at the big tech companies about such features.
In my ideal world: big tech would come together to write some spec, then devices and operating systems would slowly implement and roll it out. And on older devices you could just build a third-party app that implements the same functionality. The goal would be that ultimately you'd have seamless basic interoperability between devices without having to install third-party apps.
How would this help them coerce people to stay within one vendor's ecosystem? It wouldn't.
>The goal would be that ultimately you'd have seamless basic interoperability between devices without having to install third-party apps.
Interoperability is the last thing that some big tech companies want.
I think the worse blocker is _piracy_. The copyright predators are terrified about people sharing files locally.
There is one: Quick Share/Nearby Share. It's supported on both Windows and Android.
Yesterday my son needed to transfer a video file from his Android phone to his school iPad. We tried Bluetooth, but it simply kept failing, no matter what we tried. The devices saw each other and could be paired, but file transfer didn't work at all. We tried sending the same video file to another Android phone, and it just worked on first try.
So, even basic Bluetooth doesn't work in all cases, unfortunately. He ended up recording a video of his phone playing the video... :)
> I don't expect Apple to play nice with anyone else...
This seems to be the problem in our case.
Tonight I'll setup a Nextcloud on our network, this should work properly.
The iOS version of VLC has a built in webserver you can remotely connect to for file transfers.
You connect to the iPad's IP address with any web browser and then transfer files back and forth.
https://allthings.how/vlc-player-share-files-wifi-iphone-pc/
Not very nice when you're trying to transfer an image several MB in size.
Ditto. KDE connect is flawless, one of the best features.
WiFi Direct is a really great technology but unfortunately it is as simple as its name implies: it's a peer-to-peer version of WiFi. It establishes a connection between two devices, but you need to do everything else (like figuring out how to send files over the socket) yourself.
There are plenty of cross-platform apps that implement WiFi Direct file sharing though.
I have just Discovered Windows 10 have Wi-Fi Direct if you have both Wi-Fi and Bluetooth adapters, and it's as easy as enabling it and right clicking a file to share it. It's a shame this isn't common knowledge nowadays
You can have it on multiple devices at the same time (computers, phones,...), there is a special "saved messages" channel for files, it can easily accommodate small to reasonably big files (like GB files), and there is also a webclient that you can use in a few seconds if you are not on your trusted computer.
You can also delete the file once you are done. The only problem is that you will have to trust Telegram for having you data. But I guess that if you are ready to trust WeTransfer or Google drive, it is not really different.
For example, often the target might not be up or connected and you might want to have your file available to all your devices.
The closest competitor to Telegram in term of convenience is email I think.
Just a common use case, I will be at work, and will get a airplane eTicket pdf for a business trip.
I would connect through telegram web to drop it into my saved messages. Then, later I would be quite sure to have it available on any of my phones when being at the airport, and even being able to access it from my personal laptop later for a visa request for example.
Also, a moment later, I could suddenly share it with my girlfriend so that she have all the info to pick me up when I will come back.
In addition I can quite easily search such documents by keywords or date.
The best option I can think of is syncthing, but the ux for non technical users isn't great.
My current iteration is just a "transfer" SyncThing folder that is on all my devices. It's not clean or convenient but at least its incredibly fast.
Proximity-based sharing just makes significantly more sense than uploading files to some server miles away, then immediately redownloading them back when the computer was two feet away from you the whole time.
Windows, Linux, Android, iOS and macOS. Seems quite cross-platform. Can confirm it works smoothly for Linux and Android at the very least.
Works a treat for me.
I was using syncthing but this will replace it for one offs.
EDIT: I checked out another app in the comments and their website mentioned that it didn't work with a VPN. I can also confirm that LocalSend works when connected to VPN.
Seems to good to be true. Are we sure this isn't malware?
That one has no one but themselves to blame - the developers went for monetization by click fraud.
[1] https://www.slashgear.com/1010495/the-file-explorer-app-you-...
Like Drew Houston's demos to Y Combinator was copying a file to a given folder on one computer... and seeing it show up in the corresponding folder on another computer. HN comments at the time were dismissing, like "whatever, I can do that with rsync"
And then cloud storage became a thing.
If I knew your computer's address (and it didn't change) and you knew mine, we could route traffic through the infrastructure we already pay for.
It will at least address the NAT problem. Theoretically, if ISPs truly embrace it, it will also open up the possibility of direct P2P communication across most devices on the Internet. Can't remember if there's a standardized protocol for IPv6 like UPnP but if not you can just configure your firewall manually. Of course, that's assuming ISPs allow you to do so.
Tbh, I misread your OP and I somehow got the idea you were talking about NAT. Static addressing is also a problem but a smaller one. In fact, IPv6 probably does nothing to help here, and may even make the problem worse with address randomization (which is a legitimate privacy feature, but still).
Mail? Goes to spam.
WeTransfer? Mail clients break URL.
Download from my website? Some stupid browser will display the zip data onscreen.
Send the link through messenger? Messenger breaks the link.
SaaS gallery? Some file managers can't open the zip file.
I've been doing that for two years now. Still don't have a 100% working solution. It drives me mad. Just yesterday I spent 30 minutes sending 3 jpeg files to a customer.
That said, I've had updates (across major versions) break things on multiple occasions, one out of two servers running the exact same version has random crashes and in addition to that the file locking by default (if enabled, but not using Redis: https://docs.nextcloud.com/server/latest/admin_manual/config...) has broken and prevents me from deleting a file that just sits there and takes up a few GB of space. Oh and their Android app fails to upload files if I use the share option, instead of the file picker from within the app.
On the other hand, sure beats storing data on third party clouds and is free, so I'll still keep using it.
I've had that with both mail clients and messenger. Call it antivirus protections, "you're leaving our website" thing, facebook tracking data... Whatever, they will break your links eventually.
I know, it's unbelievable, I don't blame you for doubting me. But still...
And this is how some company can accidentally see way more than it had should.
Never do this for anything remotely important, just add a separate 'Share' folder and allow sharing to external users only from it.
Don't forget, if the user can't see something on the server that doesn't mean there is nothing else there. Eg: ABE enabled SMB share.
Are your customers using IE6 or something? Customers like that should be fired.
When my workplace tried that, I just asked the CISO how they handle the bank credentials of the people that access their bank account at work. I never got an answer, but the system was gone a week later.
Looks like your company don't want millions of profit?
# https://stackoverflow.com/questions/9054354/how-to-force-fil...
# https://stackoverflow.com/questions/37131398/how-to-configur...
FYI - I've also recently run across end users who are likely victims of overzealous IT departments that disable Basic Auth, even on HTTPS connections. Even though they don't do anything to form fields which might contain the exact same data. I don't mind if they break their own domains but the whole Internet?
Maybe Safari has something similar.
These days in the same circumstance as you (and they) had, i'd fedex them a USB stick, or optical disc, depending. Because the first time someone said "the web page you linked is just displaying garbage" i'd turn in my tech credentials, because that's probably my server's fault, not the browser. MIME has been a thing for three decades, at least. it sounds like someone tried to use a static html daemon to share a zip file, and it assumes everything is ascii. like it's 19xx and zmodem hasn't been invented yet.
SSL proxies -- corporate middleware -- have a habit of breaking this way, by stripping the content-disposition field or similar.
If that's really happening (I have my doubts) and that's a client you want to continue supporting, then the next step would be limiting yourself to SingleFileZ-style ZIP payloads that can be as text/html.
You can "Get a link" for a transfer you have uploaded and it will be very short and near-unbreakable.
I guess if your company blocks that you might have problems.
But I agree it’s a mess.
[1] https://www.sendutil.com/ [2] https://github.com/timvisee/send
It's WebRTC based so peer-to-peer, E2E encrypted, with servers only used for serving the client, and for NAT punching.
[1]: https://play.google.com/store/apps/details?id=io.sanford.wor...
Are you simply unaware these solutions exist?
It usually works...
SnapDrop
- Site: https://snapdrop.net/
- Source: https://github.com/RobinLinus/snapdrop
ShareDrop
- Site: https://www.sharedrop.io/
- Source: https://github.com/szimek/sharedrop
FilePizza
- Site: https://file.pizza/
- Source: https://github.com/kern/filepizza
Original Wormhole
Some of them used to work better than they do now, I imagine with browsers updating and the software going unmaintained, it hasn't left them in a great state. These are small open source projects without funding from what I can tell.
The fact that they work at all is amazing to me, and says a lot about what we can do with a few Web APIs. If only it was worth getting these individuals to collaborate on a web standard API around file transfers, maybe then we would finally see a long-standing solution.
I spent less than a minute searching and found another WebRTC based project.
- Site: https://perguth.de/peertransfer/
- Source: https://github.com/perguth/peertransfer
Imagine what could be built with an actual investment? I don't think the money exists for this type of tech, otherwise we would've seen someone do it in the last 20 years.
UBlock Origin's "Prevent WebRTC from leaking local IP addresses" setting also might interfere even though I don't think it turns WebRTC off. The same applies to Brave's "Disable non-proxied UDP" option for the "WebRTC IP handling policy" setting.
b) Local IP addresses to connect to may not be provided by the browser to the Javascript code if there's a setting or extension that disables it.
c) Local router can be set up to prohibit traffic between clients (usually wireless devices). If hairpins don't work, you can't exchange any data between such devices without the help of external relay server, as there is no local network at all.
Other than that, WebRTC promises that two browsers can transfer data directly if they are able send UDP packets to each other somehow.
If properly invested in and maintained instead of being a toy open source project, they’d work seamlessly everywhere the web does.
- Website: https://send.vis.ee/
- Source: https://github.com/timvisee/send
- List of instances at: https://github.com/timvisee/send-instances
JustBeamIt
- Site: https://justbeamit.com
- Source: https://github.com/justbeamit/beam
The tricky bit that makes this hard is discovery. I think Apple does it right. UDP multicast discovery across local intranet, with bluetooth broadcast/NFC proximity for physically near devices that might be on separate networks/locked down. There's the possibility of internet based discovery, but that involves a central authority keeping track of your IP, constant polling, with a nice record of all your devices and transactions. In China, there are apps that use audio, for local discovery, which is neat.
I firmly believe we won't ever have a real solution for the next 30 years. It would require three enemies cooperating: Android, Microsoft, Apple. As is, Apple has this solved. Samsung is gettin there. Microsoft has nothing.
Now this violates rule #1 (you need an account and you need to pay $6/TB/month for files stored, or $1.5/TB if you store files for only 7 days). For rule #4 you can set the lifecycle arbitrarily, like 1 day, such that the cost of storage is less than the cost of traffic.
KDE works over Bluetooth, I guess, but it was super fast for transferring around 20 to 30 photos at the same (maybe more might also work, didn't try that).
But the most important thing was that I could look at the thumbnails of the photos before marking them for transfer. This process was always very slow with an USB connection, because it was always trying to 'thumbnailize' every photo in the folder (which were 100s or 1000s). Picking the right photos by obscure datetime-name is not fun.
Because they've had to specifically put that limitation in place, no way they don't realise it could be useful.
https://github.com/error-try-again/KDE-Dolphin-TailDrop-Plug...
This article is exploring the wrong problem.
The filesystem where my files reside should already be a fully-distributed filesystem covering all the devices I own, right from the moment I buy and enroll them.
With that precondition, my file is already where I need, and any physical bit shuffling is just a detail managed by the OS, using whatever connectivity is already available (or prompting me to "please connect cable type X between devices Y and Z for N minutes" if devices are out of sync).
edit: apparently at least Dropbox has had LAN sync for nearly a decade: https://dropbox.tech/infrastructure/inside-lan-sync
- They are a bolted-on "magical part" of your filesystem. If you manage your files anywhere outside of the magical field of synchronization, they're invisible (e.g if your file is in the "Downloads" folder, but that folder is not synchronized by Dropbox, then you won't find it from any other device.)
- They are not distributed filesystems. They are a central filesystem (on their premises, outside your reach) and a smart replication strategy. You don't get a say on data sovereignty, and your data lives on rented disk space.
- Trying to operate on your files is dependent on which device you're using. If you're on a computer, you get first-class local files in first-class directory trees, that you can manage with the usual semantics, provided you have enough free space in the physical disk of that device. If you're on a phone, you download copies of files (and pray they get uploaded if you change them in phone), and almost no way to manage the directory tree aside from the application itself.
Let's take a real life example: My Android GPS (OsmAnd) records GPX files on my phone storage when I'm out on a trek.
How should I configure Google Drive/OneDrive/iCloud to expose those files transparently in my computer (a linux box at home) as they get created?
And more importantly, why should I have to configure anything at all? The idea I'm advocating for is that those are my files, and so they should be in my (distributed) personal filesystem by default without me having to set anything up.
I'd rather not set up the possibility for a single software bug to destroy all my data at once. Even if you have good backups, there could be subtle data corruption that you don't notice until it's too late.
Have you found a solution yet?
Share with kde connect, select your windows, linux, iOS, android whatever device, done. The only restriction is that both devices are connected to the same WiFi.
Why are you looking for cloud solutions for a local transfer?
The app is available for Linux, Windows, macOS, iOS and more.
Rule 1: There are user accounts, but they're local to the NAS. I think it meets this one.
Rule 2: Setting up the NAS is likely out of reach for many non-technical users, but using the files app and doing stuff in it is perfectly reasonable. Partial marks here.
Rule 3: It's consistent in the sense that every platform uses its native file manager to connect to the NAS and manage files. Managing files on each platform is different, but you're already dealing with that difference. I'm calling it a pass.
Rule 4: The NAS is the junk in the middle, so this is a fail.
My slow-to-moderate internet speed may play a role; however even connecting to my laptops SMB share over a wired connection was fraught with issues.
1: the failed but in-progress transfers often stick around with no way to remove them. They're gone after restarting the device, though.
Not for AirDrop, at least. You must be within RF range (~9 meters). https://en.wikipedia.org/wiki/AirDrop#:~:text=AirDrop%20uses....
> So, considering the solution needs to be cross-platform the easiest way to get something up and running would be through a web browser.
Yes, and Snapdrop seems to meet his 4 requirements: https://snapdrop.net/
iOS 17.1 allows you to begin a transfer when close by, but keep it going over cellular data so you don't have to wait around the person to finish it:
* https://www.macrumors.com/how-to/ios-use-airdrop-without-wi-...
# send
cat file | nc -l -p 8888
# receive
nc IP-OF-SENDER 8888 > file
this works as long as both computers are connected to the same network, for example the internet python -m http.server
Which tends to be my go-to solution for file transfer between devices, it shares the current directory over HTTP. Not perfect, since HTTP makes downloading directories rather cumbersome, but at least every device that can open a website can download stuff.* It needs to be useable for a non-technical person
* Its flow has to be consistent across platforms
Besides having access to a terminal, netcat must be installed and hosts accessible, ports open etc. Not what is usually the case and especially not advisable when you operate on the internet level and not on protected local networks.
The median user controls 0 public IPv4 addresses.
But many of the solutions mentioned in the article and comments will effectively use some "third place" to link the two devices, e.g. how magic wormhole does that.
https://github.com/nwtgck/piping-server
https://github.com/schollz/croc
Or a NAT traversal tool:
https://github.com/shawwwn/Gole
https://github.com/samyk/pwnat
Or can just manually ncat simultaneously from both sides to proper addresses and ports, probably with the help of some public STUN server.
Note that if worst case combination of NATs doesn't allow direct connection, then by definition a relay is needed, hacker or not, it doesn't matter.
P.S. I love WireGuard, it's easy to set up and allows you to use protocols with no encryption (or bad proprietary encryption) securely.
F-droid has an android app and the cli runs on Linux, Mac, and Windows. Super pain free. It's not a synchronization solution, but sends stuff pretty easily.
(sending computer)
computer-1$ croc file-i-want-to-send.txt
Did you mean to send 'file-i-want-to-send.txt'? (Y/n) y
Sending 'file-i-want-to-send.txt' (555 B)
Code is: 1234-some-diceware-passphrase
On the other computer run
croc 1234-some-diceware-passphrase
(receiving computer) computer-2$ croc 1234-some-diceware-passphrase
Accept 'file-i-want-to-send.txt' (555 B)? (Y/n) y
Receiving (<-127.0.0.1:44404)
file-i-want-to-send.txt 100% || (555/555 B, 105 kB/s)
You can also just drag-and-drop a file onto the executable icon and it will pop up a GUI letting you do the same thing. Transfer is encrypted, no account needed.python3 -m http.server
command from a command line on whatever device I need to send from and then hit it on a webpage. You can run that on an iOS device even with something like Libterm
I would not be happy if I had to give it up.
So far works great, no issue.
When you use directories and files your OS itself is the natural interface and everything just works.
python3 -m http.server 8080
to launch a web server in the current directory on port 8080.
HTTP is clunky, unintuitive, and requires typing in IP addresses. It's not a natural interface to file sharing at all.
It uses WebPush notifications to set up a WebRTC data channel. So full E2EE with no website-run server in the middle (unless you need TURN). The actual domain is just a static site.
It is similar to a lot of the other WebRTC based solutions but it works better for me because the push notification means that I only have to navigate to the site on one device. Then on the other I can just click the notification. And other than initial setup there is no need to manage pairing codes or similar each time.
I mostly use it for between my phone and desktop. But has also come in useful for transfering files to and from my partner's Steam Deck and various other situations.
(Although last I checked it was having trouble on Chrome due to some weird interaction between the Chrome push server and the CORS proxy on Deno. It used to work and Firefox doesn't need a CORS proxy so that still works. I should probably get around to filing a bug against Chrome to enable CORS on their push server)
I should probably add a link to the source on the site.
Websockets are not necesary. It can be done with HTTP/1.1.
https://news.ycombinator.com/item?id=19122646
https://news.ycombinator.com/item?id=28913973
https://news.ycombinator.com/item?id=37255178
https://news.ycombinator.com/item?id=38988519 <-- I tried to provide a simple usage example here.
No, we don't need more proprietary protocols like Apple This or Google That. We've got scp, sftp, Bluetooth, all manner of secure connecting and tunneling methods, all of which can be made easy to use and secure.
Apparently, I can't Bluetooth a file from my Android phone to my partner's Apple phone because apparently Bluetooth is insecure and Apple have hobbled it on iPhones. What a crock. Fix the damn protocol or make a new one that's open. It's anti-competitive and user hostile to do otherwise.
Yes, there are the various wormhole and filedrop services, and good for them. Unfortunately they sometimes don't work on corporate/academic networks.
Ugh. What a mess. Rant over.
I’ve sent PDFs between my Linux desktop and iPhone, but never anything bigger than a few Mb.
1. I can’t use an account from an existing online service.
2. It needs to be useable for a non-technical person.
3. Its flow has to be consistent across platforms.
4. No junk in the middle.
In the year 2024 you should be able to seamlessly transfer files across devices wirelessly regardless of operating system or manufacturer.
AirDrop is pretty close to ideal, but it's limited to Apple's platform. I don't really care about any of the underlying details, I just want to have a simple way of sending files between devices without having to enable complex configurations (cough SMB, WebDAV, etc.) or tinker with anything. This could be achieved, it's not a pipe dream.
Why isn't anyone lobbying for such an essential feature that could make everyone's life slightly better?
There are no technical barriers to implementing this. There's just no political will.
Edit: I think the ideal solution would be to have some sort of spec that device and operating system vendors could implement, so that workaround stop being required at some point. Then for older devices you could build an application that implements the same functionality.
It's incredibly difficult. Do you have any idea how "non-technical" these "non-technical" people are? I know people that use phone every day to make calls as send messages, take photos, browse Facebook, read emails and they could not send an email with a file attachment to save their life. Asking that kind of person to:
1. Enable Bluetooth and make device discoverable
2. Enable Bluetooth on another device.
3. Pair the devices.
4. Find an option to send the file
5. Accept the file in another device.
6. Wait for the file transfer to finish.
7 (bonus). File transfer failed for some reason and you have to start again.
It's simply impossible.
I suppose it depends what you mean by 'non-technical', maybe our parents couldn't have and we were 'tech-savvy' in the way that children are, but this was normal, what everyone did, and of course many in 'non-technical' work now, didn't study CS, etc.
You elongated this by assuming Bluetooth is disabled on both devices, which is not the default state on any OS I am aware of. The actual step list looks like this:
1. Enable Bluetooth discoverability on the target device.
2. Share file over Bluetooth on source device.
3. Accept the file transfer on target device.
You don't need to add extra steps for things like "wait", that's the same for any kind of I/O operation such as "copying a file". It's also extremely silly to add something like "Find an option to send the file". On most operating systems, it's just not that hard. On Android it's in the normal "Share" popup. So this amazingly difficult and highly technical step is to press "Share" on a file and select Bluetooth.
I could also make turning on a computer sound like a tedious seven step process if I wanted to be an asshole.
I don't know why you are so annoyed, but I know for a fact that average non-technical person is incapable of sharing files over Bluetooth on their own, and this probability of incapacity increases with age.
There are a lot of things where simply knowing to do them is a large part of the problem, rather than a literal inability.
Receiver steps:
1. Double-click bluetooth taskbar icon
2. "Send or receive files via Bluetooth
3. Receive files then wait for sender & transfer
4. Choose location to put the files
Sender steps:
1. Choose file
2. Press Share
3. Choose Bluetooth
4. Choose target device
Four steps on both sides. Slow for a few MB photo though.
I have an admin panel on my website for dumping files into S3 that I can then download later.
There are a million solutions out there, but simply hosting a file upload/download service that syncs to your own S3 bucket is for me my favorite solution. It's user friendly to me only, it's unusable for everyone else.
- create a group and add 1 person
- remove that person
- share whatever you like with yourself via WhatsApp web :)
iCloud Drive probably does too, but it’s horrible in my opinion.
- Is it switching to some low power mode?
- Is it falling back to some old version of the protocol? Why is it slow?
- It shows it's transferring on my laptop, but on the phone is shows it's still connecting.. why?
- Oh look, it just randomly "failed" in the middle of the transfer.. okay, why? Where do I find more info and debug/fix it?
I've not been able to find a good way to work with it. Maybe I need to bring out Wireshark? Maybe Ubuntu is misconfigured somehow.. If the issue is with my Android phone then I'm probably totally screwed b/c there are only a couple of toggles in the Android menus
( and I have basically identical issues with KDEConnect and other methods )
Every kid knew how to use this 15 years ago.
It can punch through a NAT. It’s blazing fast.
It doesn’t strictly require any central components, only the optional tracker to make peer discovery larger.
Too bad it got labeled as a piracy-only tool. Now Apple won’t allow it on the App Store. It’s actually damn useful for legit purposes too!
- from a linux computer/laptop
- to an android phone and
- not follow rule 2,
I'd like to suggest another alternative: `adb` (just platform tools) which has the `push` [1] command
push [--sync] [-z ALGORITHM] [-Z] LOCAL... REMOTE
copy local files/directories to device
--sync: only push files that are newer on the host than the device
-n: dry run: push files to device without storing to the filesystem
-z: enable compression with a specified algorithm (any/none/brotli/lz4/zstd)
-Z: disable compression
[1]: https://developer.android.com/tools/adb#copyfilesEDIT: I removed my password and instead of relying on the app for scanning the pin, I used the iOS built-in camera app to scan the pin and copied it to the app. Now it works. But that was poor experience nevertheless and I wish it was better designed.
So in an ideal world anyone can share files directly, can serve their own blog, participating in decentralized socials like Usenet, exchange messages in a decentralized manner like emails (not to be confused with WebMails frontends common today), having direct IP2IP (well, personal domain to personal domain) VoIP calls with or without video and so on.
Such ideal world is there technically, it's not utopia technically but it's utopia socially in a society who have mostly chosen ignorance for the many and abuse of their ignorance for few.
The power of IT is the power to store, analyze, craft, manipulate information, if you give it to the most than the most can be Citizen not just slaves...
I'll also use my storage in Bitwarden and send files through Bitwarden Send if I can't be online at the same time as the recipient.
As a side note, for Android I've been using (and can't praise enough) Material Files [1]. It's the best simple file manager I've used that has built in samba support.
Spoiler: I wrote it.
1) No account needed
2) Easy to use for non-technical people: just copy files into shared folders (like Dropbox)
3) Works the same way across platforms
4) It is distributed, you can share a folder with local devices only
Sadly, despite pretending to try hard, it doesn’t pass the “requires expert to setup” test, it’s super easy to either accidentally lock down everything or accidentally open up your network to the world. It also fails the platform-consistency requirement, outside windows or outside your home network it is very frustrating.
Also, you can send files to yourself and others using XMPP, there are free servers available online.
What would work for that? How about:
1. One of the parties goes to the site, gets a code/link
2. Other party goes to the site, enters the code/link
3. Either party can drop a file/folder to the page
4. Data simply piped from one request to another by the server
Any improvements to that flow?
What makes you think that?
But when it works it's great. P2P over lan.
Now, universal cross-platform copy/paste? Ha. I’d love that solved!
Taildrop suits some cases, but the UI is poor (sudo taildrop get etc), and there are many use cases where taildrop is not useful or impossible.
You could have a Tailscale serve where all devices could add to and remove from it. A bit like a mini webserver.
Because of privacy? Or principles? I don't think this is so much a problem for the average non-technical person.
If privacy is the reason, maybe encrypt it?
[1]: https://gist.github.com/SMUsamaShah/fd6e275e44009b72f64d0570...
For a long while for stuff like sending drone footage to a friend while on my cellphone only i'd use syncthing, but it was very fiddly and hard to use in the winter, and i never got a "here's your link" thing, which may be fixed now. So i'd have to edit the filename and remember it, and then type the whole FQDN and URI to send someone a link.
Nextcloud handles this much better. Misskey also handles this better, although i don't use it for large files. But at home, synology. There's clients for nearly everything including smart TV devices, and between computers i can use NFS or CIFS. I can even link https:// download links locally.
Let's just remember, folks, we had fully p2p video chat on windows, and then techbros started buying up huge portions of ipv4 because their antics were getting subnets blocked at routers, and now i've never (and i mean not one time) been able to get an open ipv6 port to accept traffic on a home device. Additionally, i barely remember what life was like without CGNAT, as i've been behind it for a decade with 3 ISPs.
So i don't really care if you or your grandparents or kids can transfer files easily. use a USB stick like i do with my in-laws, neighbors, and whatnot. You did this to yourself. Enjoy your fb messenger - and email spam, though!
-signed by someone who had /28 on GTE.net DSL 26 years ago
LAN, Android / PCs, easy to use for non techs
no middleware and other sh..
I've been using localsend lately for local stuff. It's great. Before that, thumbdrives
I guess nowadays the only files that most non-techies care about are photos and videos on their phones, so solutions specific to those work, or indeed the ubiquitous e-mail attachments.
Oh, yeah , and that's my main way to share files too these days... and don't forget to share music as documents before whatsapp ruins it >.> - so it's still a bit tricky!
The problems are elsewhere:
a) “Simple enough” is a moving target. Some time ago, users were expected to state their needs, find convenient tools, figure out how to use them, and be happy that their problem is solved. Nowadays it is proclaimed that user is an idiot, because the idiots don't actually choose anything, they do what someone else decided for them to do, and it's Good for Business.
b) People don't know which solutions already exist (looking at the author here).
c) Smartphones are deliberately crippled to create the market for 50 different bundled and third party file sharing apps and other reinvented wheels, with data and money trickling to the platform owner. In addition, rat race never ends, and the developers must update their apps constantly. Say, there is some ancient BTSync installer for Windows. It's rough, but it works. I'm not saying anyone should use that, but you can still transfer files that way. Can you use smartphone apps from ages ago in the same manner? Most likely not (and race organizers make sure you can't). It's quite like constantly resetting the MMORPG server to restart the money and activity flow into its economy.
Most people can figure that out.
No. I have never had an issue with Dropbox or Discord for simple file sharing.
For encryption I use Mega with Signal for key sharing.
MegaSync is fantastic for files you want to sync between everything and has builds for all the popular distros. The fact that he doesn't list Mega is worrying to say the least.
He's a nuDev creating a solution in search of a problem.