22 points andunie 2 hours ago 7 comments

This is a project that spun from my frustrations of using LocalSend and DashBeam to transfer stuff between devices, and with the extra goal of being fast, trying out the Slint framework and, most importantly, establishing a communication channel with trusted external people that can be left always on.

cold_boot 59 minutes ago | parent

Keeping the tunnel available between sends is the nice part. Once it's set up with someone, you can just use it.

StartingAbusine 57 minutes ago | parent

Why native code?

I would think this could be done completely in the browser using WebRTC?

kennywinker 45 minutes ago | parent

Iroh networking isn’t available in browser, and presents some cool ways to link things together - i suspect the connection by using iroh is more robust and solid than webrtc, but i’m just guessing.

mcoliver 38 minutes ago | parent

Can you talk a bit about the performance characteristics? What's the max throughput? How does that change with latency and jitter?

synctext 35 minutes ago | parent

Interesting project, towards a phone-2-phone Internet where citizens rule!

This Flipflop project relies on the Iroh library for NAT/Firewall puncturing, external address discovery and overlay networking. Connecting two 5G devices, without a coordinating central server is possible, but very hard. Iroh simply relies on a server which you could self-host. Cool stuff, we stress tested it a while ago and it somewhat worked.

NAT connectivity is unsolved. My university lab conducted one of the bigger puncturing studies a decade ago [1]. Recently, we also bought 40+ or something 4G and 5G SIM cards in Europe for puncturing [2]. My master student traveled Europe by bus to get these local SIM cards. He worked day-and-night to connect these weird symmetric 5G NAT filter boxes and got it working. Simple sync collision and birthday paradox brute force... It all works sometimes, but insufficiently reliable for mass-adoption. You can't build a decentralized social media ecosystem on top. Like Iroh, best to use a central server. So then you have legal liability for your users. Unless an AI agent buys the server fully autonomously using Bitcoin, next years students got that working[3] :-)

[1] UDP NAT and Firewall Puncturing in the Wild, https://inria.hal.science/hal-01597969v1/document

[2] Mass Adoption of NATs: Survey and experiments on carrier-grade NATs, https://arxiv.org/html/2311.04658v2

[3] Self-replicating seedbox servers using programmable money, https://arxiv.org/abs/2609.05431

YCombinedBob 5 minutes ago | parent

This actually looks good and uses the established Iroh.

Nice idea with the browser link to share with devices that dont have flipflop on the same LAN. This would be a killer if this would also work via internet! Not sure if Iroh can run in the browser though.

kkapelon 4 minutes ago | parent

Is it better/different than https://tailscale.com/docs/features/taildrop ?