登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
【活动通知】GOTC 2026 全球开源技术峰会11月14日北京开幕,开源 × AI 生态创新活动,创客、开发者免费报名通道开启!
代码拉取完成,页面将自动刷新
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
1
Star
0
Fork
0
x177plus
/
OrbDrop
代码
Issues
0
Pull Requests
0
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
开发画像分析
我知道了,不再自动展开
发行版
标签 (Tag)
全部
全部
正式版
预览版
发行版列表
v0.2.0
最新版
v0.1.2
v0.1.1
v0.1.0
v0.0.3
v0.0.2
v0.0.1
v0.2.0
最新版
对比
x177plus
2026-10-31 20:28
v0.2.0
7d838b4
**下载哪个?** - Windows:`OrbDrop_0.2.0_windows_x64.exe`(单文件绿色版,无需安装) - macOS 首次安装:`OrbDrop_0.2.0_macos_universal.dmg`(`OrbDrop_0.2.0_macos_universal.app.zip` 仅供应用内自动更新) - Android:`OrbDrop_0.2.0_android_arm64.apk`(绝大多数手机);`OrbDrop_0.2.0_android_universal.apk`(老机型/模拟器,拿不准选这个) - `update.json` 供客户端读取,不需要手动下载。 --- 改动:**下载模式默认改为「每次选择位置」**(Android 保持「直接保存到下载目录」:系统选择器返回 `content://`,落盘层只接受文件系统路径);设置里新增**「已配对设备自动接收」**(**默认关**)。 桌面端手动下载、以及未配对设备的推送,默认都会先让你选保存位置;已配对设备推来的文件默认也要你点 「接收」(和未配对设备同一条同意路)。**老配置也走这个新默认**:`config.toml` 加了格式版本, 升级后的第一次启动把旧版本写下的 `Direct` 一次性迁移成「每次选择位置」并落盘(只迁这一次; 之后你在设置里改回「直接保存」,重启也不会再被翻回来)。只有显式打开「已配对设备自动接收」后,已配对设备的推送 才免同意、直接落到下载目录 —— 此时「保存位置」对这条不生效。认证口径不变:已配对设备仍必须带 有效 token,凭据失效照样拒收;未配对设备永远没有「自动接收」这一档。 变更:**Android 端不再提供「每次选择位置」**,固定「直接保存到下载目录」(系统选择器返回 `content://`,而落盘层只接受文件系统路径,选过一次就注定写不进去)。从别的机器同步/拷贝来的 配置、或旧版本在手机上选过的那一档,会在启动读取配置、保存设置、以及两条下载命令里收回 「直接保存」;设置页在安卓上只画这一档,并说明原因。 新增:**可选的 LocalSend v2.2 兼容**(设置 →「支持 LocalSend 协议」,默认关闭)。 开启且本机在线时:加入 UDP `224.0.0.167:53317` 组播,与同一局域网的 LocalSend 设备互相发现、 注册,并能在 LocalSend 设备与 OrbDrop 之间互发消息与文件/文件夹。文本消息(单文件 + `text/plain` + `preview`)和**整批图片**自动接收、直接落进会话显示(静默落盘有小时预算: 跨发送方每小时 2 GiB,超出后那一批退回普通文件的确认路, 普通文件始终要确认);会话输入框可以对 LocalSend 设备发纯文本,图片/文件继续用「+」走 LocalSend 文件传输。设备列表会多出带 `LS` 徽标的行(协议缩写,全名在悬停提示里),点开是对应的一对一会话;LocalSend 设备不配对、 不进聊天群、不参与长连接、共享浏览和中转。切到「离线」时 mDNS 与 LocalSend 一起停;关闭开关后 不再监听 UDP、路由返回 404。原有 OrbDrop 的 mDNS/配对/推送/聊天/DAV 协议不变,LocalSend 消息 单独存一列,不进入 OrbDrop 的排队、已读回执与群聊逻辑。 变更:LocalSend 兼容开关改为**立即生效**(不等「保存设置」);设置页开关下方显示运行时状态: 运行中 / 53317 被占用并回落主端口 / 本机离线暂停 / 发现服务未启动,后三档可点「重试」。 「重试」只叫醒后台 guard 补缺的那一份监听,**不重启兼容层**,在途传输不会被掐断。 53317 被占用**不再当成打开失败**,开关不会被自动关闭;后台按 5s→60s 退避重试,端口空出后 自动接管 53317,并立刻补发一轮公告。UDP 53317 被独占、发现起不来时,仍会用临时端口发送公告 (官方 LocalSend 自己也是这么发的),对端可通过 TCP `register` 回来。公告里的 `port` 统一为 “对端该拨的端口”:53317 在监听就写它,否则写主端口 —— 修掉此前公告一直写主端口、 与 `advertised_port` 不一致的问题。同机 LocalSend 的公告不会再把自己登记成一台设备行。 修复:第三方 LocalSend 实现会把**设备 UUID**(而不是证书指纹)填进公告的 `fingerprint`, 此前被当成证书指纹钉进 TLS,表现为该设备每次 `register` 都报「证书指纹与钉住的不一致」、 永远发现不了(即使对端在跑一个正常的第三方 LocalSend,同一地址上还住着一台本机见过的 OrbDrop 设备时尤其明显)。现在只有 64 位 hex 的自报值才用来钉证书;其余形状退回 TOFU, 以握手证书的指纹作为后续探活/发送的身份。同时 LocalSend 的拨号使用独立的信任表,握手 见到的证书不再写进 OrbDrop 的观察指纹(两套协议在同一地址上各记各的,不会互相污染)。 修复:LocalSend 兼容面现在同时监听 **TCP 53317**(协议默认 HTTP 端口),公告里也写这个端口。 部分第三方实现发送时把目标端口写死成 53317、不读公告里的 `port`,此前本机只监听 OrbDrop 主端口,表现成"我能发给它、它发不过来"。53317 被别的程序占用时自动回落到主端口(官方 实现会读公告里的 `port`,仍能互通)。同一端点没有客户端证书、自报值又不是证书哈希时, 入站请求沿用公告登记的那一行身份,不再为同一台设备多造一条以 IP 为 id 的记录。 修复:在设置页打开/关闭 LocalSend 兼容**不再闪退**(安卓上尤其明显:点一下开关 App 直接退出, 重开之后因为开关已经落盘、由启动链路把它起起来,状态行显示"已启动")。原因不在安卓:开关是 **同步** Tauri 命令,走主线程、没有 Tokio reactor;启动发现时在那条同步路径上把 std UDP socket 转成 tokio socket(`UdpSocket::from_std`)会 panic("there is no reactor running"),而 release 档 `panic = "abort"` 是整个进程倒地。托盘的「在线 / 离线」走同一个入口,同样会踩。现在 socket 绑定 这一层只碰 `std`,tokio 的转换全部挪到异步任务里(`discovery::run` / `announce_ephemeral`)—— 同步命令、托盘回调、启动链路三种上下文都一样安全。回归:`tests/localsend_no_reactor.rs` 在**普通线程**(无 reactor)上调用 `localsend::start`。 修复:连续给同一台 LocalSend 设备发多条文本/图片时,后两条不再「未送达」。LocalSend 接收端只有一个上传会话槽:第一条 `prepare-upload` 会一直占着等用户点「接受」,此前每条 消息各自起一个后台任务并发请求,第二、三条当场收到 `409 Blocked by another session`, 对端 App 里永远不会出现,发送端只能落「未送达」。现在同一台设备有一条出站 FIFO 队列: 上一条收尾(文本 = 用户点了接受;图片 = 上传完成;文件推送 = 传输走完或失败)之后才发下一条, 顺序与输入框里一致。文本、图片与文件推送共用这条队列,混合发送也不会互相抢槽;排队期间点 「取消」同样能收掉(令牌在入队时就登记)。 修复:LocalSend 设备离线后不再长期挂在设备列表里。此前前端对所有 `transport === 'localsend'` 的行**无条件放行**(后端还会按 10 分钟未接触才清),于是对端退出、探活已经判定离线之后, 这一行仍以「离线」留在列表里,和发现结果不一致。现在 LocalSend 行与其它设备同一套可见性: 只列**在线**或仍在**发现窗口**(`seen`,90 秒)内的行;设备真的走了,行随之消失。后端仍会在 内存里保留最多 10 分钟(供恢复/复用身份),但不再影响界面;会话记录本身留在会话列表里。 变更:设备列表里**点击整行 = 打开这台设备的会话**,不再只对 LocalSend 行生效。OrbDrop 设备 (在线 / 离线 / 未配对)与 LocalSend 设备同一套:点行的非按钮区域打开会话;行内「配对 / 连接 / 断开 / 发消息 / 解除配对」各管各的动作,不会顺带开会话。桌面端整行可点(鼠标指针随之变化), 安卓端短按整行同义(长按仍是设备操作);安卓端的行是 `role="button"`,键盘 Enter / 空格也能打开。 新增:安卓端会话消息支持**长按复制整条**(桌面端右键菜单的对应手势)。长按一条文字 / 图片 / 文件消息会弹出「复制整条消息」底板,复制内容与桌面端共用同一份(文件 = `名字(大小)`, 图片 = `[图片] 名字`,文字 = 原文)。消息气泡因此关掉了 WebView 的系统长按选字 —— 整条复制 取代了选中片段;桌面端的选中后右键不受影响。 修复:**同一台机器同时跑 OrbDrop 与 LocalSend 时,设备列表不再出现两条**。此前只按 `ip:port` 合并,而两条协议的监听端口不同(LocalSend 53317 / OrbDrop 主端口),于是自家 两端各成一行的设备会同时以 OrbDrop 和 `LS` 出现。现在 mDNS TXT 额外带本机 TLS 证书指纹 (`fp`),LocalSend 行的 `ls-<指纹>` 命中任何一台已知 OrbDrop 设备的指纹(mDNS 自报 / 凭据库 / 未配对观察指纹)就只保留 OrbDrop 行:用户看到的是一台设备,发送也自然走 OrbDrop 协议。第三方 LocalSend、以及只开了 LocalSend 的邻居不受影响(证书指纹不同)。TXT 未经认证, 该指纹只用于展示层去重,不参与任何信任判断。 变更:**应用日志收口为"关键事件"**。此前稳态下每 30s 的中转端点开关/复用、中转池自报、 同地址证书的重复 TOFU、每次 LocalSend 公告、每条 HTTP 会话消息和补拉拒绝都会写 `info`, 单日日志可达数 MB(实测一天 `开了中转端点` 上千条、补拉拒绝数百条)。现在这些重复行降为 `debug`(排障时 `RUST_LOG=debug` 仍可看到),默认 `info` 只保留启动、连接/离线切换、 首次中转切换、配对/认证失败、传输完成与真正的错误;启动时重复的 `HTTP server started` 也删掉了第二条,没有实际写入的 BeyondCompare profile 预写不再留日志。
最后提交信息为:
OrbDrop v0.2.0 snapshot
v0.1.2
对比
x177plus
2026-10-27 20:10
v0.1.2
5babbbd
**下载哪个?** - Windows:`OrbDrop_0.1.2_windows_x64.exe`(单文件绿色版,无需安装) - macOS 首次安装:`OrbDrop_0.1.2_macos_universal.dmg`(`OrbDrop_0.1.2_macos_universal.app.zip` 仅供应用内自动更新) - Android:`OrbDrop_0.1.2_android_arm64.apk`(绝大多数手机);`OrbDrop_0.1.2_android_universal.apk`(老机型/模拟器,拿不准选这个) - `update.json` 供客户端读取,不需要手动下载。 --- 新增:**中英双语界面(桌面端 + 安卓端 + 原生层)**。首次启动**直接采用系统语言**(支持 English / 简体中文;系统语言不在支持列表里时用英语),并把解析结果写成具体语言保存 —— 设置页 只列「English / 简体中文」,没有「跟随系统」这一档,选中即刻生效并落盘,下一次启动首帧就是该语言。 旧版本配置里的 `auto` 会在启动时解析成系统语言并写回。前端文案走 `src/lib/i18n.svelte.ts`:**消息键就是简体中文原文**(gettext 风格), 英文词条按域放在 `src/lib/i18n/locales/en/*.json`;`npm run check:i18n` 校验缺译、占位符与词典冲突。 后端原生文案同一份语言偏好:托盘菜单/tooltip 就地换字(不重建图标),安卓通知渠道名、常驻通知与 插件错误走 `values` / `values-zh-rCN` 资源(按系统语言选择)。英文目录、移动端与所有对话框、气泡、空态、无障碍标签 都已覆盖;后端日志保持中文,命令返回的底层错误文本也可能仍是中文(界面提示前缀会本地化)。 新增:**后台更新检查不再只有「启动后一次」**。后端由一个调度循环管四档:启动 8 秒后查一次; 运行期间每 **6 小时 ± 30 分钟**一次;安卓回前台 / 桌面单实例 / macOS `Reopen` 时,距上次成功 **≥1 小时**才查;静默检查失败按 **5 分钟 → 30 分钟 → 2 小时 → 6 小时** 退避,成功一次归零。 调度用**墙钟**判定(`<数据目录>/update.json` 的 `lastSuccessMs`),系统休眠/挂起醒来不会把周期 推后。查到的新版本与按掉的版本都落盘:重启后第一帧就有气泡/角标;按过「稍后」只压住**当前这一版** (换新版照弹,手动「检查更新」清掉记录),后台那趟失败也不会把已经查到的「有新版本」抹掉。 更新日志在所有出现说明的地方默认折叠成两行(`UpdateNotes.svelte`),点「查看完整更新日志」展开。 修复(安卓):应用界面能像网页一样**双指缩放**(整页连同底栏、固定层一起被放大,布局不重排, 边缘被裁、退不回去)。根因在 WebView:`WebSettings.supportZoom` 默认是 `true`,而页面 viewport 只写了 `width=device-width, initial-scale=1`,等于告诉引擎"允许缩放"。现在 `MainActivity.onWebViewCreate` 里显式关掉 `supportZoom` / `builtInZoomControls` / `displayZoomControls`,`index.html` 的 viewport 同时补上 `maximum-scale=1.0, user-scalable=no`。前者是准的(WebView 原生手势),后者只是第二道保险 (Chrome 系为无障碍会忽略 `user-scalable=no`)。系统设置里的字体/显示大小与无障碍放大不受影响。 修复(macOS):Beyond Compare 的 profile 写错设置目录,导致「用 BeyondCompare 比较」对端共享项 报「配置文件找不到 / 文件夹不可用」(本机路径正常)。BC5 的机器上如果存在 `~/Library/Application Support/Beyond Compare 5`,它只读这个目录;OrbDrop 却一直写不带版本号的 `Beyond Compare`。现在 `config_dir` 从 `.app/Contents/Info.plist` 的 `CFBundleShortVersionString` 取大版本号,优先匹配的 `Beyond Compare 5` / `Beyond Compare 4` 目录,没有版本目录才退回默认;Windows 分支不变。真机 BC 5.2.6 实测:把 profile 放进 `Beyond Compare 5` 后,`bcomp` 加载 `profile:<ip:端口>?<共享项id>`、PROPFIND Depth 0/1、 Basic 鉴权与 `href` 改写都正常。BC 只在启动时登记 `BCProfiles.xml`,所以更新后第一次需要 **重启一次 BC**。另外服务监听是异步起的,预写可能跑在端口落下来之前,只写下骨架; 现在服务起来后会再补写一次,避免更新后首次启动 profile 为空。回归见 `bc::tests::macos_config_dir_prefers_the_versioned_folder_matching_the_exe`。 修复:更新重启后设备列表里会短暂出现**本机自己**(macOS 上最容易看到,Windows 重启后同样可能)。根因在中转记忆,不在 mDNS:已配对对端推回来的反向路由记录里点名了**收件人自己**(它那份中转池还留着你的地址),本机把它并进设备表与池;第一拍探活够不着某台设备时,选路又把"自己"当成中转候选,向自己的监听端点发了一次 `/relay/open`,服务端核实"请求方 = 本机"后把本机登记成一台**在线**设备(`adopted` 档,15 分钟后才随 TTL 收走)。现在推记录前剔掉收件人自己;接收、池合并与选路都排除 own id(含本机监听端点);`/relay/open` / `/relay/route` 对自称本机的请求直接 400;启动时清掉旧配置里写下的自己(`relayRoutes` 的池、`knownPeers`、观察指纹、链路)。回归见 `a_route_naming_itself_never_becomes_a_peer`、`pool_never_contains_the_local_device`、`relay_candidates_never_include_the_local_device`、`relay_candidates_skip_addresses_that_are_our_own_listener`、`a_route_pushed_to_a_peer_never_names_that_peer`、`self_identities_are_scrubbed_from_persisted_memory`、`observing_own_id_never_creates_or_marks_a_row`、`identity_reconcile_does_not_migrate_a_row_onto_the_local_device`、`open_refuses_to_target_ourselves_or_loopback`。 修复:会话输入框在占位文案状态下,**输入过内容再清空**之后光标会跑到占位文案右侧(首次聚焦时正常在最左)。根因不是清空逻辑:清空后 Chromium 会在框里留下一个 `<br>`,光标锚在它前面,而占位文案的 `::before` 仍在行内流里、是那一行的第一个盒子。现在占位文案改为绝对定位(桌面与安卓两份样式同步),光标不再跟着它走;实际 CSS 在 Chromium 上实测清空后光标仍在内容左缘。
最后提交信息为:
OrbDrop v0.1.2 snapshot
v0.1.1
对比
x177plus
2026-10-27 11:47
v0.1.1
f084aa8
**下载哪个?** - Windows:`OrbDrop_0.1.1_windows_x64.exe`(单文件绿色版,无需安装) - macOS 首次安装:`OrbDrop_0.1.1_macos_universal.dmg`(`OrbDrop_0.1.1_macos_universal.app.zip` 仅供应用内自动更新) - Android:`OrbDrop_0.1.1_android_arm64.apk`(绝大多数手机);`OrbDrop_0.1.1_android_universal.apk`(老机型/模拟器,拿不准选这个) - `update.json` 供客户端读取,不需要手动下载。 --- 新增:macOS 11+(Apple Silicon + Intel 通用包)。与 Windows 共用同一份 Rust 核心与 Svelte 前端, 补齐 macOS 外壳:不占 Dock 的菜单栏应用、全空间透明置顶悬浮球、`⌘W` 隐藏而非销毁、再次打开叫回面板; 原生 `NSDraggingSession` 拖出到访达;对端共享项在起拖前整份暂存(没有 CFAPI 的公开等价物); Beyond Compare 的 `.app` 探测、macOS 配置目录与应用内左侧比较位;LaunchAgent 自启动; `.app` zip 自更新(helper 等旧进程退出后原子替换整个包);`Info.plist` 补上局域网/Bonjour 与 TCC 文件夹说明。构建与发布:`npm run mac:build` / `npm run mac:artifact`、 `release.mjs --macos-zip`、`.github/workflows/macos.yml`。细节与真机验证清单见 `docs/macos.md`。 修复:macOS 上**配对确认与保存设置两颗主按钮看不见**(设置页底部只剩「取消」、配对对话框只剩 次要按钮),且状态章/悬停底/遮罩等整体失色。根因不是布局:macOS 12.7.6 的系统 WKWebView 支持 `oklch()`、**不支持 `color-mix()`**,而桌面样式表按 WebView2 写、没有 sRGB 回退 —— `color-mix()` 在计算期失效后是 `unset`,于是 `--accent-deep` 等派生令牌整条作废, `.btn-primary` 计算成透明底 + 白字。现在 `src/styles/main.css` 与移动端走同一套生成器 (`npm run tokens:gen` 两份表各跑一次,`tokens:check` 同步校验):基础表只留 sRGB,现代写法收进 `@supports` 生成区;`check:compat` 增查桌面源码与 `dist/assets/*.css`,构建期两端都不再压缩 CSS (压缩器会去重回退声明并删掉生成区标记)。同一份产物 CSS 在系统 WKWebView 上实测主按钮为 实色蓝 + 白字,现代 Chromium 仍走 `@supports` 的高保真路径。细节见 `docs/macos.md` §1.1。 修复:macOS 上**鼠标划过正文会变成 I 形、还能拖选** —— WKWebView(12.7.6 / Safari 17.6 内核实测) 不认无前缀的 `user-select`(`CSS.supports('user-select','none')` 为 `false`),只写 `user-select: none` 时计算值仍是 `text`。全局 `body` 改成 `-webkit-user-select` 与 `user-select` 成对出现(聊天记录、文件行、输入区照旧用 `-webkit-user-select: text` 明确开回来)。 **贴边收起的竖条里设备名 / `ip:port` 被裁掉 3px**:竖排时 `line-height` 就是列宽,这两列原先继承 body 的 1.6(12px→19.2px / 10px→16px),而列宽只有 16px / 13px(实测 `scrollWidth 19/16` 对 `clientWidth 16/13`)。现在两列的 `line-height` 直接等于各自的列宽,左右两侧贴边都不再切字。 另外去掉全局 `-webkit-font-smoothing: antialiased`:它只在 macOS/WebKit 生效,会把正文压成更细的 灰度抗锯齿(1x 屏上尤其发虚;这不是字体本身的问题 —— 栈里就是系统字体 SF Pro + PingFang SC)。 细节与实测值见 `docs/macos.md` §1.2。 修复:macOS 上**输入框获得焦点时外面会多出一个方框**(Windows/安卓没有)。不是新增的样式: WebKit 对非 `auto` 的 `outline-style` 长期不跟 `border-radius`(到 Safari 27 才补完 "outline radii rendering"),而三个输入框(`.input` / `.chat-input` / `.dev-search`)都是圆角, 全局 `:focus-visible` 又带 `outline-offset: 2px` —— 那圈本应贴着圆角的柔光在 macOS 上被画成 离输入框 2px 的直角空框;Chromium 上它跟着圆角,看不出来。焦点环改为 `box-shadow: 0 0 0 2px var(--accent-soft)` + `outline: none`(群发模式换 `--bc-soft`): `box-shadow` 在所有引擎上都跟圆角,`outline: none` 一并挡掉 UA 焦点环,键盘焦点仍有柔光与 描边变色。细节见 `docs/macos.md` §1.2 第 4 条。 优化:macOS 的 fd 上限与探活/中转的连接峰值。启动时把 `RLIMIT_NOFILE` 软上限抬到硬上限 (封顶 65535,`src-tauri/src/resource.rs`),每 30s 采样、占用到 80% 打 warning;`knownPeers` 同一个 `ip:port` 一轮只探一次,启动与每轮探活后合并同一地址上的重复未配对行,未配对行连续 60s 探活失败后整行忘掉(设备右键新增「忘记设备」);中转同一对请求方→目标复用已开端点, 目标连不上后 60s 冷却、空闲回收 60s,并加全局 24 条 / 单端点 8 条并发上限(超出丢连接, 不把 fd 打满)。实测配置里的 7 条 `D1159@:3891` 与 2 条「演示机」(:3990/:3991) 是主要的 死探活来源。细节见 `docs/macos.md` §1.3。 修复:桌面端(Windows / macOS)在中文输入法组合期间,输入框会隔一阵子"自己刷新"——没选字, 拼音却被当成普通文本留在了框里,打字时经常夹着拼音。根因是会话输入区那个"打开会话"的 effect 读的是整个 `thread` 派生对象:`activeThread()` 每次会话快照、每次设备表刷新都会返回新对象 (`$derived` 按 `===` 比较),于是每一份 `chat://changed` / `devices://changed`(mDNS 解析、 5s 探活、收发消息与回执)都会把输入区 `textContent` 清空再重挂一遍,组合中的预编辑串正是被 这一下固化的。现在 effect 只依赖字符串会话键(`threadKey`),并给两端输入区加了组合闸门: `compositionstart` … `compositionend` 之间的重画推迟到结束后的下一帧(那一帧里又进了新组合就 继续推迟),安卓同一处一并接上。 修复:会话里点开的图片只能点周围那圈才关得掉,长图又看不全、底下那排「用系统程序打开 / 关闭」 被裁在可视区外。图片层原先按视口 `72vh` 量尺寸,而它常挂在 320×420 的会话浮层里 —— 图比浮层高, 多出来的部分连同按钮一起被浮层的 `overflow: hidden` 裁掉。现在图片区吃满这一层的剩余高度并自己 滚:**点图片(或图旁空处)再点一下即收起**,点背景 / Esc / 「关闭」照旧;长图按容器宽度铺开, 鼠标滚轮、触屏拖动、按住鼠标拖都能翻,滚动条不显示,操作条永远留在底部。
最后提交信息为:
OrbDrop v0.1.1 snapshot
v0.1.0
对比
x177plus
2026-10-24 22:32
v0.1.0
4384d81
安全:配对码改为 SPAKE2(P-256)PAKE——6 位码只做双方口令、不再出现在报文里;配对邀请加入 8 位 SAS 核对码。出站 TLS 同时出示本机证书,并按目标设备钉住证书指纹;群消息与名册改为 Ed25519 签名,成员公钥只认本机绑定,群回执/补拉补上成员与签名校验。公开路由增加请求体空闲超时与每来源 IP 并发上限,对端回话、DAV 正文与更新产物一律按体积上限读取;中转路由记录按来源分档,未配对设备换地址必须出示同一枚 TLS 证书;镜像目录的设备 id/共享项 id 按安全路径段校验;安卓 FileProvider 只放开应用自己的目录,并关闭系统备份。 新增:会话文件气泡改为两侧布局——左侧文件名/大小/状态,右侧一颗进度圆环(发送方可停止、接收方可暂停/继续),桌面与安卓同一套;安卓「文件 → 浏览」与桌面「下载到本地」支持暂停/续传与重启接传。群聊新增「清空聊天记录(不退群)」。安卓 4 处系统 confirm 换成应用自己的确认底板,「后台与通知」新增「后台耗电管理」入口。聊天记录/群聊/图片迁到 chat-vault(固定掩码封装,不是加密),首启自动迁移。 修复:会话图片铺满气泡、缩略图不再闪回占位行;点不掉的 0 B/0 B 推送卡、偶现的「消息一直显示发送中」、连续拖拽到资源管理器随机失败、删除收件副本后「浏览」仍显示已下载,均已修复。提示层统一置顶且不吃点击,长文本按内容居中;设备/会话状态点改为「填充=已验证、颜色=链路」两维。
最后提交信息为:
OrbDrop v0.1.0 snapshot
v0.0.3
对比
x177plus
2026-10-20 11:04
v0.0.3
f10eebf
修复:设备状态与名字的老毛病——「明明在互发消息却一直显示离线」「先显示一串 deviceid 才变名字」「手动添加的那台时有时无」都已纠正(60 秒内收到过对方消息即按在线显示;占位名不再冲掉真名;解绑后离线的会话仍留在会话列表里)。推送在等对方点「接收」期间源文件被改动或删除会自动取消这一批;任一侧重启过也能接着传完。铃铛与悬浮球橙标的数字不再把本机正在发出的推送算作「待处理」;设备行与会话页不再单独标注「经 X 中转」(中转本身照常工作)。 新增:点「连接」改为同意制——对方面板弹「接受 / 拒绝」,接受才真的连上,拒绝或超时就不连并写明原因、再点一次可重发,发起侧等待时可「取消」。会话输入框可直接 Ctrl+V 粘图,图与文字按顺序落成消息(上限 8 MB),对端直接看得到;会话里的文件消息点一下即打开、图片点开看大图。手动添加一台设备后对方列表里也会出现本机;一对一会话右上「⋮」里也能「修改备注」「配对 / 重新配对」,会话详情顶部多一颗「别处还有 N 条未读」角标。设置里新增「推送按发送方分目录」,「允许中转」改为默认打开。 安卓:会话「+」新增图片、文件、应用三条入口——图片与文件走系统选择器,应用可直接发已安装应用的安装包(落盘名带应用名与版本)。界面下限压到 Chrome 81,老 WebView 也能正常用,内核更旧时才给一句提示和「去应用商店更新系统 WebView」的入口。设备行与一对一会话「⋯」里补齐「修改备注」。 桌面:Beyond Compare 的「添加到左侧比较位」改为写进 BC 自己的左侧槽——资源管理器里右键那一项也能直接「对比」;写回(DAV)遇到超长或中途中断的 PUT 会挡下,不破坏原文件。悬浮球窗口被隐藏或最小化会自动叫回,显示器 / 缩放变化后搬回最近的工作区;托盘图标在有未处理通知时会亮红点并闪动。
最后提交信息为:
OrbDrop v0.0.3 snapshot
v0.0.2
对比
x177plus
2026-10-20 11:04
v0.0.2
fd1f63c
修复:0.0.1 里「检查更新」一条地址都拿不到(TLS 信任库为空)——已装 0.0.1 的用户请手动下载本版安装,应用内升不上来。 新增:启动时那次静默检查查到新版本会**主动提示**一次 —— Windows 是右下角通知里的一条「有新版本」气泡(悬浮球左上角角标 +1),安卓是一张「发现新版本」底板;按「稍后」本次运行内不再自动弹(下次启动重新查、重新弹),点「立即更新」后同一格就地变成进度、失败会留在格子里带「重试」。 安卓:设备页可直接「发消息」(未配对设备也能建会话)、长按整行开设备操作菜单、新增「后台与通知」自查页(电池优化白名单 / 自启动 / 通知横幅)、设置里新增「允许中转」与中转流量;原生库改压缩存储,两个包体积约减半(通用包 51→24MB、arm64 15→8MB)。 桌面:把文件拖到会话浮层上松手即发送到这条会话;群聊无群名时标题显示成员名;底栏版本号改读真实版本;点「会话」总是从会话列表开始。 同版本重发(2026-10-12):产物换成带「主动提示」的这一份(版本号不变,发布仓的 tag v0.0.2 与 Release 均复用)。
最后提交信息为:
OrbDrop v0.0.2 snapshot
v0.0.1
对比
x177plus
2026-10-20 11:03
v0.0.1
294823a
首个版本:局域网文件中转(拖入可见 / 推送两条通路),Windows 桌面端单文件 exe + Android(通用包 / arm64 包)。 同版本重发(2026-10-10):修好「检查更新」拿不到更新信息(两端 https 的 TLS 信任库是空的,两条清单地址都报 UnknownIssuer);安卓设置页去掉底部的「OrbDrop 移动端」卡片与版本提示小字,版本号留在「版本与更新」里。
最后提交信息为:
OrbDrop v0.0.1 snapshot
下载
请输入验证码,防止盗链导致资源被占用
取消
下载
1
https://gitee.com/x177plus/OrbDrop.git
git@gitee.com:x177plus/OrbDrop.git
x177plus
OrbDrop
OrbDrop
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册