这个项目能做什么

LocalSend是一款免费、开源的应用程序,可在同一局域网内的设备之间安全地传输文件和消息,作为Apple AirDrop的跨平台替代方案。 ## 主要功能 - **跨平台**:支持Windows、macOS、Linux、Android、iOS和Fire OS - **无需互联网**:完全在局域网(LAN)内运行 - **无第三方服务器**:所有通信直接在设备之间进行 - **安全**:使用HTTPS加密,每台设备动态生成TLS/SSL证书 - **REST API协议**:设备通过安全的REST API通信,由开放LocalSend协议定义 - **命令行界面**:包含CLI客户端,支持脚本化和自动化传输 - **多语言**:通过Weblate进行社区翻译 ## 工作原理 LocalSend自动发现附近设备,并使用REST API通过HTTPS传输文件。使用的端口是53317(TCP和UDP)。每台设备会即时生成自签名证书,确保在没有外部基础设施的情况下实现加密通信。 ## 下载与安装 可从主要软件包管理器和应用商店获取: - Windows:Winget、Scoop、Chocolatey、EXE安装程序、便携版ZIP - macOS:App Store、Homebrew、DMG安装程序 - Linux:Flathub、Nixpkgs、Snap、AUR、AppImage、DEB、TAR - Android:Google Play商店、F-Droid、APK - iOS:App Store - Fire OS:Amazon Appstore 最低系统要求:Android 5.0+、iOS 12.0+、macOS 11 Big Sur+、Windows 10+ ## 命令行用法 内置CLI(`localsend-cli`)支持发送文件、目录或两者: ``` localsend-cli send report.pdf photo.jpg ./project-backup localsend-cli send --to "Device Alias" report.pdf localsend-cli send --to 192.168.27.26 report.pdf ``` ## 防火墙配置 如果设备无法相互发现,请允许端口53317的入站和出站TCP及UDP通信。在带有ufw的Linux上运行:`sudo ufw allow 53317`。确保路由器上禁用了AP隔离。 ## 开发 使用Flutter(Dart)和Rust构建。需要Flutter和Rust工具链。项目使用fvm管理特定的Flutter版本。克隆仓库后,运行`cd app && flutter pub get && flutter run`即可开始开发。 ## 项目链接 - 官网:https://localsend.org - GitHub:https://github.com/localsend/localsend - 协议文档:https://github.com/localsend/protocol - 翻译:https://hosted.weblate.org/engage/localsend/