Airdrop is nice, but is not available for the linux machine. I have been using scp between the mac and the linux.
And if I need to transfer something to my phone, I will have to scp to my mac first, then airdrop.
webrtc based anonymous services like
https://file.pizza/
https://www.sharedrop.io/
are not ideal either. mainly they expect people to type very long urls or share urls with a message app. But in many cases, I need to share files with random people, I don't know how to exchange the long urls.
I want to make something better to solve this problem (as a side project). I have been having the itch for doing it for long. But every time I consult my friends about this idea, they don't seem to feel the pain that much.
Is this worth my time solving? Or I just missed some already existed solutions?
If you want to get extra fancy, you can use an alias in .bashrc to shorten the "python -m http.server" to something you prefer.
I use the Mac apps to transfer from iphone to Mac.
- An RPC mechanism (not built yet)
- A bi-directional multiplexing stream protocol [1] (mostly there)
- A general purpose binary encoding mechanism [2] (I've gotten bogged down with this for the past few months, but I can finally see the light at the end of the tunnel!)
The idea is to get these lower layers finished so that I can build all of my data communications related projects on top of them. One of those is a general-purpose file access system that I can build actual products on top of, such as file managers, remote filesystems, streaming services, synchronization, etc. I'm rebuilding everything underneath because the existing protocols are too chatty and bloated, not modular enough, don't work with encryption, or have weird requirements (like NFS requiring kernel integration for example, or they're restricted to the local net, etc).
[1] https://github.com/kstenerud/streamux/blob/master/streamux-s...
If you just want something simple for personal use, I'd look into the iOS Shortcuts app. Shortcuts can send files that were shared to it via HTTP or SSH (as STDIN to a shell command), and it can store files on your phone. You could use QR codes to exchange URIs, IP addresses or file paths.
For example, to send from Linux to iOS:
- Linux machine serves file over HTTP, displays a QR code with the URL
- You scan QR code and download the file
For iOS -> Linux: - Linux machine displays QR code with its IP address
- On your phone, you share the file with a shortcut
- The shortcut scans the QR code, then connects to the machine via SSH.
It runs an application on your Linux machine (e.g. cat > /tmp/file-from-ios)
and passes the file in as input.
Let's assume that the service is called "Throwbox", and you have an account with username `you@foo.com`, and the person you want to send a file to has username `them@bar.com`:
- You have a folder on your computer called "Throwbox"
- Inside that folder you create a folder called "them@bar.com" (so /Throwbox/them@bar.com)
- You put a file inside that folder.
- They create a folder inside their Throwbox directory called "you@foo.com" (so /Throwbox/you@foo.com)
- The file that you put in the folder on your machine gets copied onto the folder they created on their machine.
That way you don't need any information from them other than their username, and you can't send files to people who don't want to receive them. If you don't want to get files from another person anymore, then just delete the directory with their email address. And sending files is 2 way; if you want to send them a file back, just put it in the same place.
with a couple of clicks you can also share the things via URL with someone else.
I mean, I wish something like this existed, but I just don’t think there’s enough real need
For sharing with random people, if you can’t send long URLs (through messages or even through a QR code), then you probably can’t ask them to install an app or visit a website I suppose.
[1]: https://airdroid.com
It's open source and your data will be encrypted.
I don’t know about Linux but I’m assuming it handles WebDAV as well.
In Finder and Windows Explorer you can natively add a WebDAV location and it shows as a (removable) drive.
On iOS you can connect to WebDAV natively from the Files app, or use third party apps like FileExplorer.
Very convenient for “normal files”, maybe not that good for very large files.
Sometimes I use [woof](http://www.home.unix-ag.org/simon/woof.html) that starts simple web server and prints link to the file you can use to download it.
It's not perfect, but I still use it sometimes.
Snapdrop is a nice option as well, plus you can save it as a PWA
Aren't there scp/rsync clients for iPhone?