TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기连信 Linkory 一款面向个人多设备场景的轻量级跨端通信与数据传输工具
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
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 初始化,普通客户端账号不能登录后台。