跨平台开源文件传输工具 LocalSend:4 步跑起来,不联网也能传文件
【免费下载链接】localsendAn open-source cross-platform alternative to AirDrop项目地址: https://gitcode.com/GitHub_Trending/lo/localsend
LocalSend 是一款开源的跨平台"类 AirDrop"本地文件传输应用:只要设备处在同一局域网内,手机、电脑、平板之间就能安全互传文件和消息,全程不依赖互联网,也不需要任何第三方服务器,数据始终留在你的网络里。
它解决什么问题?
一句话结论:把"传文件要联网、要过云"的流程,换成了局域网点对点直连。
原理上它由发起方在本地起一个服务,接收方通过网络发现该服务,走 REST API + HTTPS 加密完成传输。所以速度快、不丢数据、不出网,适合家庭、办公室这类信任网络环境。
仓库长什么样?🗂 先看四层结构
顶层目录看着多,其实按职责分就四层,先记住这个骨架再往里钻:
localsend/ ├── app/ # Flutter 主程序:界面、页面、国际化资源 ├── packages/ # Rust 核心库及 localsend_isolates 等可复用包 ├── cli/ # 命令行版:终端里直接收发文件 ├── server/ # 独立服务端程序 └── support/ # 构建脚本与多语言 README- 入口层:
app/lib/main.dart是应用唯一入口,app/lib/pages/下是全部页面。 - 业务逻辑层:真正的"传输引擎"在
packages/core/,Rust 实现,负责设备发现、传输协议与加密。 - 资源与国际化层:
app/assets/i18n/存放 60 多种语言文件,如en.json、zh-CN.json。 - 工程化配置:顶层
pubspec.yaml与Cargo.toml都是 workspace 文件,统一编排各子包。
如何快速跑起来?🚀 最小路径
前置只需装好 Flutter 和 Rust——版本已由.fvmrc和rust-toolchain.toml锁死,不用自己纠结。
git clone https://gitcode.com/GitHub_Trending/lo/localsend cd localsend/app flutter pub get flutter run✅ 启动时,main.dart里的main()先调preInit(args)构建依赖容器,再挂载主界面,默认落在"接收"页签:
Future<void> main(List<String> args) async { final container = await preInit(args); runApp(RefenaScope.withContainer( container: container, child: TranslationProvider(child: const LocalSendApp()), )); }⚠️ 版本是关键:.fvmrc锁定 Flutter 3.41.9,用系统自带的高版本 Flutter 容易踩构建错误,建议照 README 的说法装 fvm,之后统一用fvm flutter命令。
动手改一句文案 ✏️
我们可以从最短的改动路径开始,试一下改国际化文案:
- 打开
app/assets/i18n/en.json,把顶层appName的值从LocalSend改成LocalSend Hi。 - 文案会由 slang 生成到 Dart 代码里,改完必须重新生成一次:
cd app && flutter pub run build_runner build --delete-conflicting-outputs- 再执行
flutter run,应用标题就变了。接着可以对zh-CN.json做同样的修改,观察跟随系统语言切换的效果。
常见疑问 + 下一步做什么 💬
- 为什么改了语言文件没生效?忘了重新生成。先生成再运行,改动才会编译进字符串代码。
- CLI 版本能直接用吗?能。
cli/是独立 Rust 程序,终端里即可收发文件,无需启动图形界面。 - 加密逻辑在哪看?看
packages/core/src/crypto/,证书、令牌、随机数都在那几份文件里。 - 接下来读什么?想懂界面就从
app/lib/pages/home_page.dart入手;想懂传输协议,直接进packages/core/src/http/server/顺藤摸瓜。
【免费下载链接】localsendAn open-source cross-platform alternative to AirDrop项目地址: https://gitcode.com/GitHub_Trending/lo/localsend
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考