Fluent UI 的 LocalSend,只在Windows平台上测试过!
以下是LocalSend的介绍。
主页 • Discord • GitHub • Codeberg
English (Default) • Español • فارسی • Filipino • Français • Indonesia • Italiano • 日本語 • ភាសាខ្មែរ • 한국어 • Polski • Portugês Brasil • Русский • ภาษาไทย • Turkish • Українська • Tiếng Việt • 中文
注意:中文文档更新可能不够及时,请以英文文档为准。
LocalSend 是一个自由、开源的应用程序,允许你在本地网络上安全地与附近设备分享文件和消息,无需互联网连接。
LocalSend 是一个跨平台应用程序,使用 REST API 和 HTTPS 加密实现设备之间的安全通信。与依赖外部服务器的其他消息应用程序不同,LocalSend 不需要互联网连接或第三方服务器,因此成为本地通信的快速可靠解决方案。
建议从应用商店或软件包管理器下载该应用,因为该应用没有自动更新功能。
Windows | macOS | Linux | Android | iOS | Fire OS |
---|---|---|---|---|---|
Winget | App Store | Flathub | Play Store | App Store | Amazon |
Scoop | Homebrew | Nixpkgs | F-Droid | ||
Chocolatey | DMG Installer | Snap | APK | ||
EXE Installer | AUR | ||||
Portable ZIP | TAR | ||||
DEB | |||||
AppImage |
了解更多关于发行渠道的信息。
兼容性
平台 | 最低版本 | 备注 |
---|---|---|
Android | 5.0 | - |
iOS | 12.0 | - |
macOS | 11 Big Sur | 请使用 OpenCore Legacy Patcher 2.0.2 (见 #1005) |
Windows | 10 | 最后一个支持 Windows 7 的版本是 v1.15.4 。未来也许会将更新的版本向后移植至兼容 Windows 7 。 |
Linux | 不适用 | - |
在大多数情况下,LocalSend 应该可以直接使用。但是,如果你在发送或接收文件时遇到问题,可能需要配置防火墙以允许 LocalSend 在你的本地网络上通信。
流量类型 | 协议 | 端口 | 操作 |
---|---|---|---|
传入 | TCP, UDP | 53317 | 允许 |
传出 | TCP, UDP | 任意 | 允许 |
另外,请确保禁用路由器上的 AP 隔离。通常默认情况下应禁用它,但某些路由器可能会启用它(比如访客网络)。 更多信息见 故障排查。
便携模式
(在 v1.13.0 中引入)
创建一个名为 settings.json
的文件,放置在与可执行文件相同的目录中。
此文件可以为空。
应用程序将使用此文件来存储设置,而不是默认位置。
隐藏式启动
(更新于 v1.15.0)
使用 --hidden
命令行参数隐藏式启动(只在系统托盘里显示)此应用(例如: localsend_app.exe --hidden
)。
在 v1.14.0 或更早的版本中,如果设置了 autostart
标志,并且启用了隐藏设置,则应用程序将会隐藏式启动。
LocalSend 使用安全通信协议,允许设备通过 REST API 进行通信。所有数据都通过 HTTPS 安全地发送,并且 TLS/SSL 证书会在每台设备上动态生成,确保最大的安全性。
欲了解更多关于 LocalSend 协议的信息,请参阅文档。
要从源代码编译 LocalSend,请按照以下步骤进行操作:
- 安装 Flutter。
- 安装 Rust。
- 克隆
LocalSend
代码库。 - 执行
cd app
进入 app 目录。 - 运行
flutter pub get
下载依赖项。 - 运行
flutter run
启动应用程序。
Note
LocalSend 目前需要老版本的 Flutter (具体见 .fvmrc)
因而一些构建问题也许是系统安装的 Flutter 版本和 LocalSend 所需的 Flutter 版本不一致导致的。
为了在开发过程中保持一致性,LocalSend 使用 fvm 来管理此项目的 Flutter 版本。
安装 fvm
后,请运行 fvm flutter
而非 flutter
。
我们欢迎任何有兴趣帮助改进 LocalSend 的人士贡献。如果你想贡献,有几种方式可以参与:
你可以帮助将此应用程序翻译成其他语言。我们使用 Weblate 平台来管理翻译。
另外,你也可以 fork 这个仓库并手动添加翻译。
翻译在 app/assets/i18n 目录。编辑 _missing_translations_<locale>.json
或 strings_<locale>.i18n.json
文件来添加或更新翻译。
注意: 用 @
装饰的字段不是用于翻译的;它们在应用程序中没有任何用处,仅仅是关于文件的信息性文本或为翻译者提供上下文。
- Bug 修复: 如果发现 bug,请创建一个带有清晰描述问题及解决方法的拉取请求。
- 改进: 有改进 LocalSend 的想法吗?请先创建一个问题来讨论为什么需要这个改进。
欲了解更多信息,请参阅贡献指南。
问题 | 平台(发送端) | 平台(接收端) | 解决办法 |
---|---|---|---|
设备不可见 | 任何 | 任何 | 确保关闭路由器的AP隔离。如果AP隔离是开着的,设备间的连接会被禁止。 |
设备不可见 | 任何 | Windows | 确保将你的网络配置为“私有”网络。当你的网络为公共网络时 Windows 会更具限制性。 |
设备不可见 | macOS, iOS | 任何 | 尝试在系统设置中的“隐私”下切换“本地网络”权限。 |
速度太慢 | 任何 | 任何 | 使用 5 Ghz 频段;关闭发送和接收端设备的数据加密。 |
速度太慢 | 任何 | 安卓 | 已知的问题。见 flutter-cavalry/saf_stream#4 |
这些命令仅供维护者使用。
传统 APK
flutter build apk
Google Play 的 AppBundle
flutter build appbundle
flutter build ipa
flutter build macos
传统
flutter build windows
本地 MSIX 应用
flutter pub run msix:create
微软商店分发包
flutter pub run msix:create --store
传统
flutter build linux
AppImage
appimage-builder --recipe AppImageBuilder.yml
Snap