TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
文字、链接、文件,在你的设备之间轻松流转。跨网络传输,局域网加密直连,支持自建。
Translation pending
ProductivityDart · GoGitHub @yuhuotechOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
连信 Linkory 一款面向个人多设备场景的轻量级跨端通信与数据传输工具
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗在你自己的多台设备之间,安全、快速地互发文字、剪贴板和文件。自建服务,数据自己掌握。
连信解决一个朴素的问题:手机、笔记本、台式机和服务器之间,怎么把一段文字、一个链接、一张照片或一个大文件立刻送到另一台设备上,而不用经过第三方网盘或聊天软件。
登录同一个账号后,你的设备会互相出现在列表里,像微信一样一个设备一个会话。同一局域网内文件自动走端到端加密直连,否则经你自己部署的服务端流式中转(不落盘)。
LNK1 协议:HMAC 互证 + ChaCha20-Poly1305 加密),支持断点续传;不可用时无缝回退服务端中转。| 平台 | 状态 | 说明 |
|---|---|---|
| macOS(Apple 芯片) | ✅ 已验证 | .dmg(已签名并公证,直接打开) |
| Linux(x64) | ✅ 已验证 | .deb / .tar.gz,在 Ubuntu 26.04(GNOME)上实机运行 |
| Android | ✅ 已验证 | .apk,在 Android 15 模拟器上验证 |
| Windows(x64) | 🟡 CI 构建通过 | 安装程序 / 便携 zip;欢迎实机反馈 |
| iOS | ⛔ 暂无安装包 | 可构建,但分发需要 Apple 开发者签名 |
前往 Releases 下载对应平台的安装包(带 rc / beta 的是预发布版)。
| 平台 | 文件 | 安装 |
|---|---|---|
| Windows | Linkory-<版本>-windows-x64-setup.exe | 运行安装程序(无需管理员权限);或使用 …-windows-x64.zip 免安装版 |
| macOS | Linkory-<版本>-macos.dmg | 拖入「应用程序」;首次打开右键 →「打开」,或 xattr -cr "/Applications/连信 Linkory.app" |
| Linux | Linkory-<版本>-linux-amd64.deb | sudo apt install ./Linkory-*.deb;也可用 …-linux-x64.tar.gz 解压后运行 linkory_app |
| Android | Linkory-<版本>-android.apk | 允许「安装未知来源应用」后安装 |
| 服务端 | linkory-server-<版本>-<系统>-<架构>.tar.gz/zip | 见下文 |
每个 Release 附 SHA256SUMS.txt 及其签名 SHA256SUMS.txt.sig。装好之后,后续版本可以在 设置 → 软件更新 里直接升级。
需要一台能被你的设备访问到的机器,以及 MySQL 8(建好空库即可,表结构启动时自动迁移)。
用二进制:
export LINKORY_MYSQL_DSN='linkory:密码@tcp(127.0.0.1:3306)/linkory?parseTime=true&charset=utf8mb4&loc=UTC'
export LINKORY_JWT_SECRET="$(openssl rand -hex 32)" # 请固定下来,否则重启后所有登录失效
export LINKORY_ADDR=':8080'
./linkory-server
curl http://127.0.0.1:8080/healthz # {"status":"ok",...}
用 Docker Compose:
cd deploy && cp .env.example .env # 填写数据库连接与 JWT 密钥
docker compose up -d --build
公网使用请放在 HTTPS / WSS 反向代理之后。完整说明(环境变量、nginx 配置、运维、验收清单)见 部署指南。
https://linkory.example.com),注册并登录。flowchart LR
A["客户端 A<br/>Flutter"] <-->|"HTTPS / WSS"| S["Linkory 服务端<br/>Go"]
B["客户端 B<br/>Flutter"] <-->|"HTTPS / WSS"| S
S --- DB[("MySQL")]
A <-.->|"同一局域网:LNK1 加密直连"| B
WAITING_ACCEPT → ACCEPTED → TRANSFERRING → VERIFYING → COMPLETED,所有迁移服务端原子校验)。linkory-protocol/PROTOCOL.md。| 目录 | 说明 |
|---|---|
linkory-server/ | Go 服务端(模块化单体:auth / devices / messaging / transfers),MySQL 迁移内置 |
linkory-app/ | Flutter 客户端(Windows / macOS / Linux / Android / iOS 共用一套 UI) |
linkory-core/ | Rust:局域网直连协议 LNK1 的参考实现,与客户端的 Dart 实现互相做兼容测试 |
linkory-protocol/ | REST / WebSocket / 直连协议的唯一来源 |
deploy/ | Docker Compose 与环境变量样例 |
installer/ | Windows 安装脚本(Inno Setup)、Linux .deb 打包 |
tools/ | 部署、联调、图标生成等脚本 |
docs/ | 需求、架构、开发计划、UI 规范、部署指南 |
环境:Go 1.26+、MySQL 8、Flutter 3.47(stable)、Rust(stable,仅 linkory-core 与互操作测试需要);Linux 桌面构建还需要 GTK3 等依赖(见 release.yml)。
make server-run # 启动本机服务端(读 linkory-server/.env.local;端口被旧实例占用时自动替换)
make app-run # 启动客户端(按当前系统选桌面目标;DEVICE=<id> 指定设备)
make server-test # go vet + go test(需要 LINKORY_TEST_DSN 指向一个可清空的测试库)
make app-test # flutter analyze + flutter test
make core-test # cargo test
make e2e # 两个独立客户端对真实服务端的端到端测试(先 make server-run)
更多:make deploy(部署到局域网测试服务器)、tools/cross_e2e.sh(跨主机联调)、make app-macos-dmg(打包)。详见 AGENTS.md(命令清单、架构要点、UI 规范入口,同时也是给 AI 编程助手的工作约定)。
发布:推送 v* 标签即触发 GitHub Actions:测试 → 各平台构建 → 签名 → 发布 Release。
git tag v0.1.0 && git push origin v0.1.0 # v0.1.0-rc1 这样带连字符的会标为预发布
已完成:账号与设备、实时消息、文件传输(中转 + 局域网直连)、桌面体验、移动端布局、应用内更新。
计划与限制:
详细进度见 开发计划。
| 文档 | 内容 |
|---|---|
| 部署指南 | 二进制 / Docker 部署、反向代理、运维、局域网测试端点 |
| 通信协议 | REST、WebSocket、传输状态机、局域网直连 LNK1 |
| 产品需求(PRD) | 目标、场景、功能与验收用例 |
| 技术架构方案 | 选型与实施计划 |
| 开发计划 | 阶段、进度、已知限制 |
| UI 规范 | 设计 token、布局、控件与交互约定 |
| AGENTS.md | 开发命令、架构要点、给 AI 助手的工作约定 |
欢迎 Issue 和 Pull Request。提交前请:
AGENTS.md 和 UI 规范,界面改动要复用现有 token 和共享控件。make server-test、make app-test、make core-test,并更新相关文档与截图基准(flutter test --update-goldens)。feat(server): 添加文件传输状态机、fix(app): 修复刷新令牌后未重连。本项目以 MIT 许可证 开源。
界面设计系统移植自 cc-switch(颜色、圆角、字号、布局节奏),并按微信式三栏布局做了适配;图标来自 Lucide。
独立的 管理后台 提供运行概览、账号与设备管理、传输排查、数据保留任务、操作审计及管理员/只读运维权限。页面静态构建后由现有 Go 服务托管,无新增 Node 生产服务。详情见 后台设计。管理员通过服务器 CLI 初始化,普通客户端账号不能登录后台。