惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
V
V2EX
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
小众软件
小众软件
Vercel News
Vercel News
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
J
Java Code Geeks
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog
B
Blog
美团技术团队
量子位

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Building an open-source Windows file transfer app with Ru...
Kerim Sabic · 2026-05-18 · via DEV Community

Building an open-source Windows file transfer app with Rust, Tauri and QUIC

I recently launched Lightning P2P, an open-source Windows file transfer app.

The idea is simple:

Select a file → generate a link or QR code → receive the file.

No account.

No cloud upload.

No artificial storage dashboard.

Just direct-first file transfer.


Why I built it

File transfer still feels more complicated than it should, especially on Windows.

If you want to send a file from one device to another, you usually end up with one of these options:

  • upload it to cloud storage
  • send it through a messaging app
  • use a USB cable
  • use a tool that only works on the same LAN
  • create an account somewhere
  • deal with file-size limits
  • use something powerful but too technical for normal users

AirDrop solved this feeling well inside Apple’s ecosystem.

But outside that ecosystem, especially for Windows users, the experience still feels fragmented.

I wanted to build something closer to:

“I have a file. I want to send it now. I do not want to create an account or upload it somewhere first.”

That became Lightning P2P.


What Lightning P2P does today

The current release is Windows-first.

It lets you share files using a simple receive link or QR code flow.

Current state:

  • Windows release available
  • Android sideload alpha
  • open-source
  • no account system
  • no cloud storage bucket
  • direct-first transfer
  • relay fallback when direct connection is blocked
  • sender must stay online during transfer

The goal is not to make another complicated sync tool.

The goal is a simple file transfer experience that normal users can understand, while still being technically serious underneath.


Tech stack

The current stack is:

  • Rust for the backend
  • Tauri for the desktop app
  • iroh/QUIC for the transfer layer
  • BLAKE3 for file verification
  • mDNS for nearby discovery
  • Windows-first packaging
  • Android alpha for receiving/testing flows

I chose Rust because this type of app needs reliability, performance, and a strong foundation for networking and file handling.

I chose Tauri because I wanted a desktop app that feels lightweight and native enough, without shipping a massive Electron-style bundle.

For the transfer layer, iroh/QUIC is interesting because it supports a modern direct-first networking model while still allowing relay fallback when direct connections are blocked.


Direct-first does not mean “direct always”

One important design decision was to be honest about networking.

In an ideal world, two devices connect directly and transfer the file peer-to-peer.

In the real world, NATs, firewalls, corporate networks, mobile networks, routers, and operating systems make this harder.

So the model is:

  1. Try direct transfer first.
  2. Use relay fallback when direct connection is blocked.
  3. Avoid using a cloud storage bucket as the primary transfer path.
  4. Keep the sender online while the transfer is available.

This distinction matters.

Lightning P2P is not trying to pretend that networking is magic. The product should explain clearly what happens, what is private, and what limitations exist.


Security and trust model

The current security model is still being improved, but the basic principles are:

  • no account required
  • no cloud storage bucket
  • transfer links / QR codes act like capability tokens
  • anyone with a valid receive link can request the file while it is available
  • BLAKE3 is used for verification
  • the sender must remain online
  • nearby discovery should be treated as suitable for trusted networks

This is one of the areas where I especially want feedback.

File transfer apps are easy to make look simple, but the trust model needs to be precise.

Users should understand:

  • who can access the file
  • whether the file is uploaded somewhere
  • whether a relay can store the file
  • whether the sender must stay online
  • what happens if a link is shared accidentally
  • what happens on public Wi-Fi
  • what guarantees the app does and does not provide

I would rather be conservative and clear than make vague claims.


What makes this different from existing tools?

There are already good tools in this space.

Some examples:

  • AirDrop
  • LocalSend
  • Magic Wormhole
  • Syncthing
  • Snapdrop / PairDrop
  • WeTransfer
  • Dropbox
  • Google Drive

I am not trying to claim that Lightning P2P replaces all of them.

The difference is the product direction.

AirDrop has the best mainstream UX, but it is locked inside Apple’s ecosystem.

LocalSend is excellent, especially for LAN transfer.

Magic Wormhole is technically elegant, but it is more comfortable for technical users.

Syncthing is powerful, but it is more of a sync system than a quick “send this file now” flow.

Cloud tools are familiar, but they usually involve accounts, uploads, storage limits, and a different privacy model.

Lightning P2P is trying to sit in a specific place:

simple enough for normal Windows users, open enough for developers, and direct-first enough for people who do not want every file transfer to become a cloud upload.


What I am not claiming yet

I am not claiming speed leadership.

Proper public benchmarks still need to be published.

I also do not want to oversell the current state. This is still early.

Current limitations:

  • Windows is the main supported platform
  • Android is alpha/sideload only
  • macOS and Linux are planned but not shipped yet
  • sender must stay online
  • public benchmarks are not ready yet
  • receive links need to be treated carefully because they act like capability tokens

I think open-source projects earn trust faster when they are clear about what is missing.


What I want feedback on

I would really appreciate feedback from developers, open-source builders, Windows users, and anyone who has worked on networking or desktop apps.

The main areas where feedback would help:

  • NAT traversal reliability
  • relay fallback model
  • security model
  • receive-link capability tokens
  • installer trust and signing on Windows
  • Android UX
  • whether macOS/Linux should come next
  • README clarity
  • benchmarks to include
  • comparison with existing tools

GitHub issues, comments, criticism, and suggestions are all useful.


Roadmap

The near-term roadmap is:

  1. Improve the Windows release experience
  2. Add a clearer demo GIF/video
  3. Publish public benchmarks
  4. Improve security documentation
  5. Improve Android alpha
  6. Add macOS/Linux support
  7. Add clearer comparison docs
  8. Improve NAT traversal diagnostics
  9. Add more contributor-friendly issues
  10. Build a stronger open-source community around the project

Longer term, I would like Lightning P2P to become a trusted open-source file transfer layer that works across platforms without forcing users into accounts or cloud storage.


Links

GitHub:

https://github.com/Kerim-Sabic/lightning-p2p

Product Hunt:

https://www.producthunt.com/products/download-lightning-p2p

If the project looks useful, feedback on the repo would mean a lot.

I am especially interested in technical criticism around the networking model, security assumptions, and what should be prioritized next.