12:00日昼
日出 --:--福州日落 --:--
作品全览 / PRODUCT / 应用 / 随传
简介

随传(Suichuan):跨设备(PC + 移动端)局域网文件传输、消息、剪贴板同步应用

Github地址:https://github.com/SmileZXLee/suichuan-open

随传

随传 (SuiChuan)

自在互联,随传而至。

跨平台局域网多设备协作工具 — 极速文件传输 · 剪贴板自动同步 · 局域网即时消息

License: MIT Version Platform

官方网站 · 软件下载 · 开发文档 · 意见反馈


💡 项目说明:随传是一款完全去中心化、离线可用的局域网协作工具。数据仅在自有设备间点对点流转,无任何云端中转或账号体系。全套设计与协议契约文档详见 docs/ 目录。


目录


项目简介

随传(SuiChuan) 是一款无广告、零云端、离线可用的局域网多设备协作工具。它解决了多台电脑与手机之间相互传输文件、同步剪贴板以及临时即时沟通的痛点。

  • 零云端中转:设备间利用点对点 HTTP/1.1 与 UDP 局域网协议直连传输,数据不出局域网;
  • 端到端加密:首次配对即完成 X25519 ECDH 密钥协商,业务数据全流程 AES-256-GCM 加密保护;
  • 开箱即用:免账号注册,支持局域网自动扫描、扫码绑定、手动 IP 连通及网页免安装提取码分享。

核心特性

特性说明关联文档
局域网极速直传4 MiB 分片最多 4 路并发传输,不限文件体积,支持断点续传与两层 SHA-256 校验docs/data-transfer.md
局域网即时对话点对点加密收发文本与文件卡片,支持倒计时阅后即焚docs/data-transfer.md
剪贴板自动同步跨设备剪贴板实时同步,一处复制多端粘贴;内置回环抑制引擎,防止死循环docs/data-transfer.md
面对面快传无需配对绑定,双方打开同一页面即可临时互传;接收方点击同意后签发短时令牌,退出页面即失效docs/face-to-face.md
免安装网页提取码接收端无需安装应用,浏览器扫码凭提取码下载;支持手动审批与一次性凭据docs/data-transfer.md
多通道设备发现UDP 广播与 HTTP 逐 IP 探测双通道并行,智能网卡筛选与无感 IP 跟随docs/device-discovery.md
端到端安全防御X25519 密钥协商、挑战-应答身份认证 (/api/v1/auth) 与隐身模式防冒充docs/device-pairing.md · docs/identity-auth.md
全平台轻量覆盖原生跨平台架构,涵盖 macOS、Windows、Linux、iOS、Androiddocs/conventions.md

平台支持

平台最低版本要求核心技术栈状态
WindowsWindows 10 (64 位)Electron (PC) / Tauri v2 (PC-Lite)已支持
macOSmacOS 11.0 (Big Sur)Electron (PC) / Tauri v2 (PC-Lite)已支持
Linux主流 Linux 发行版Electron (PC) / Tauri v2 (PC-Lite)已支持
iOSiOS 14.0uni-app / Vue 3 / UTS已支持 (App Store)
AndroidAndroid 5.0 (API 21)uni-app / Vue 3 / UTS已支持
HarmonyOS鸿蒙原生UTS / OpenHarmony 原生规划中

技术架构

分层与三端分工

项目采用严格的 4 层单向依赖架构,通信协议、加密算法、状态机与数据库 Schema 均下沉至 packages/ 共享包,实现业务与平台彻底解耦:

flowchart TD
    Host["宿主与平台层: pc (Electron) | pc-lite (Tauri) | app (uni-app)"] --> Domain["领域编排层: @suichuan/domain"]
    Domain --> Infra["服务与基础设施层: @suichuan/local-server | @suichuan/crypto | @suichuan/database 等"]
    Infra --> Core["纯逻辑与协议基座层: @suichuan/protocol | @suichuan/core (零 I/O、零平台 API)"]
运行环境UI 框架加密实现存储方案详细说明
PC (Electron)Electron + Node.jsVue 3 + Element PlusNode.js cryptobetter-sqlite3docs/conventions.md#83-pcelectron
PC-Lite (Tauri)Tauri v2 + RustVue 3 + Element PlusRust (aes-gcm, x25519-dalek)rusqlitedocs/conventions.md#81-pc-litetauri--rust
App (uni-app)uni-app / UTS NativeVue 3 + Wot Design UniNoble Crypto (@noble/*)uni.openDatabasedocs/conventions.md#82-appuni-app--uts

有关架构分层约束的详细规则,请参阅 docs/conventions.md


开发文档

随传包含完整的规范与设计文档,存放于 docs/ 目录:

文档说明重点覆盖内容
API 接口文档设备间 HTTP / UDP 通信协议与接口定义统一响应信封、通用请求头、端到端加密格式、错误码表、UDP 广播报文
局域网设备发现局域网设备发现与在线状态管理UDP 广播与 HTTP 双通道扫描、真实网卡筛选、IP 自动跟随与身份验证触发、心跳在线状态判定
设备配对与绑定设备配对与密钥协商机制X25519 ECDH 密钥协商、三种连接入口(扫描/扫码/手动 IP)、IP 冲突处理、解绑与黑名单
设备身份认证设备身份防冒充认证机制基于会话密钥的 7 位随机串挑战-应答、AES-256-GCM 密文证明与三重比对 (nonce/ip/deviceId)、失败处理语义
数据传输消息、剪贴板与文件传输机制消息气泡与阅后即焚、剪贴板自动同步与回环抑制、4 MiB 分片与断点续传、网页提取码免安装分享
面对面快传免绑定的临时投送通道令牌签发与四重校验、本机密钥派生、准入的两条互斥路径、页面级生命周期、威胁模型与已知限制
设计规范与工程约定架构分层规范与跨端工程约定4 层单向依赖规则、Fail-closed 原则、死锁防护、KV 设置项规范、三端平台实现差异

推荐阅读顺序:设备发现配对绑定身份认证数据传输面对面快传


Monorepo 仓库结构

仓库基于 pnpm workspace 构建:

suichuan/
├── packages/              跨端共享包 (与平台无关)
│   ├── protocol/          通信协议唯一真源 (路由、头名、ErrorCode、能力位)
│   ├── core/              纯逻辑与状态机 (Heartbeat、Transfer 状态机、ID 生成)
│   ├── crypto/            端到端加密基元 (X25519、HKDF、AES-256-GCM Provider)
│   ├── database/          SQLite Schema、迁移语句与实体映射
│   ├── domain/            领域编排 (设备、配对、认证、消息、传输、剪贴板)
│   ├── local-server/      本地 HTTP 端点业务处理器与路由
│   ├── share/             网页提取码分享与审批流引擎
│   ├── transport-node/    Node.js 传输层适配器
│   └── branding/          品牌静态资源与主题

├── pc/                    Electron 桌面端 (全功能版)
├── pc-lite/               Tauri 2.0 桌面端 (Rust 轻量版)
├── app/                   uni-app 移动端 (iOS / Android / 原生 UTS 插件)
├── official-site/         Astro 官方网站
├── docs/                  开发与架构规范文档
└── deploy/                构建与打包部署脚本

开源计划与路线图

目前随传核心架构重构与三端解耦工作已全部完成:

阶段内容状态
架构解耦将协议、加密、数据库、传输、分享引擎拆分为 9 个 packages/ 共享包已完成
三端重构Electron 版、Tauri 轻量版与 uni-app 移动端全部对接共享包已完成
跨端功能完善剪贴板回环抑制、多网卡地址跟随、免安装网页提取码迭代进行中
开源发布仓库完整公开,接受社区 Issue 与 Pull Request准备中

参与贡献


许可证

项目采用 MIT License 协议开源。

随传 · SuiChuan — 自在互联,随传而至。