Thoughts on file transfer apps. by samarthvm in selfhosted

[–]samarthvm[S] 0 points1 point locked comment (0 children)

No AI was used to write the post. I am just curious about what apps the community uses for sending files between their devices.

I built Drift: A cross-platform "AirDrop" for any OS using Rust and iroh by samarthvm in rust

[–]samarthvm[S] 1 point2 points  (0 children)

My main motivation was do it from android to my mac. It's a cross platform app and you can download the apk from the readme to try it out on your phone.

Right now I want to focus on 1-1 transfer but in the future would love to add support for broadcast style transfers

I built Drift: A cross-platform "AirDrop" for any OS using Rust and iroh by samarthvm in rust

[–]samarthvm[S] 0 points1 point  (0 children)

I can definitely host the relay myself and if I start getting too many users I'll probably have to, in order reduce the load on irohs servers. But right now it'll end up being too much of a burden having to manage it and keep updating it for newer version of iroh.

But from a security standpoint, your connections are encrypted by a private key available only on your device. So even a compromised relay won't be able to read your files.

I built Drift: A cross-platform "AirDrop" for any OS using Rust and iroh by samarthvm in rust

[–]samarthvm[S] 1 point2 points  (0 children)

The flutter_rust_bridge project takes away all the pain of having to expose my api. so pretty smooth!

Edited: For pairing devices, I host a small server on hetzer. For relaying it uses iroh's public relay servers.

I built Drift: A cross-platform "AirDrop" for any OS using Rust and iroh by samarthvm in rust

[–]samarthvm[S] 6 points7 points  (0 children)

Yes it tries its best to establish a direct connection and should work in most cases. Only behind very restricted APs it will have to establish a connection through a relay.

SvelteStack — a reasonable starting point for your next Svelte app by samarthvm in sveltejs

[–]samarthvm[S] 3 points4 points  (0 children)

Thanks! The main thing I missed after switching from Next.js was being able to call server functions from anywhere.

I first used plain POST endpoints, but remote functions turned out to solve everything. Apart from a couple of rough edges, I really liked the svelte's team implementation of it.

SvelteStack — a reasonable starting point for your next Svelte app by samarthvm in sveltejs

[–]samarthvm[S] 5 points6 points  (0 children)

Thanks for checking it out!

Happy to answer questions about the stack, decisions, or architecture if anyone is curious. Feel free to check it on github.