Skip to content

Releases: by-fengqiao/lannook

LYNQO v26.1.7 — 连接稳定性更新 / Connection Stability Update

Choose a tag to compare

@by-fengqiao by-fengqiao released this 26 Jul 01:36

LYNQO v26.1.7 — 连接稳定性更新 / Connection Stability Update

下载与首次使用 / Download & First Run

中文

普通用户请选择:

**第一次连接:**安装并启动电脑端,在“连接设备”中选择与手机实际所在网络一致的地址,再扫码;电脑主页会立即弹出接入申请。若手机访问 192.168.x.x 超时,请关闭浏览器云端加速、VPN 或代理,并改用系统浏览器。Windows 首次弹出防火墙提示时,仅允许可信的专用网络即可。

latest.json.sig.app.tar.gz 是自动更新使用的内部资产,普通用户无需手动下载。

English

Choose the package for your device:

First connection: start LYNQO on the computer, open “Connect device,” choose the address for the network your phone is actually using, and scan the QR code. The approval request appears on the desktop home page. If a private 192.168.x.x address times out, disable browser cloud acceleration, VPN, or proxy and use the system browser. On Windows, allow access only on a trusted private network.

latest.json, .sig, and .app.tar.gz are updater assets and do not need to be downloaded manually.


中文

这个版本集中修复“手机能打开页面,但电脑没有反应”“授权后状态不更新”“刷新后重复出现设备”和“连接地址看起来正常却不可用”等连接链路问题。连接面板现在只展示后端返回的真实地址和诊断结果,不再使用示例域名、固定目录或未经检测的防火墙结论。

新功能

  • 新增连接诊断:显示服务状态、实际监听端口、局域网地址、当前网卡、mDNS 状态和本机连通性。
  • 二维码下方提供可直接在手机打开的完整连接地址,包含协议、移动端路径和配对参数。
  • 同时存在路由器网络和电脑移动热点时,可按手机所在网络切换地址和二维码。
  • 手机端增加明确的连接状态:验证中、等待授权、已连接、重新连接、被拒绝、已撤销和连接失败。
  • 手机被拒绝或撤销后,可以直接重新申请接入。

问题修复

  • 修复 /mobile/transfers 等前端路由返回 404 状态的问题;缺失的真实资源仍正确返回 404。
  • 修复旧数据库先建索引、后补字段导致升级后无法启动的问题。
  • 修复端口被占用后服务长期停留在“启动中”并继续错误广播的问题。
  • 修复运行中修改端口后,二维码立即指向尚未监听的新端口的问题。
  • 修复应用重启后未恢复自定义设备名和端口的问题。
  • 修复“移除设备”只隐藏记录、没有撤销授权和信任的问题。
  • 修复手机短暂息屏、切换 Wi-Fi 或浏览器挂起后立刻丢失本次授权的问题。
  • 修复 WebSocket 更换令牌后仍沿用旧连接,以及断线重连期间仍显示绿色“已连接”的问题。
  • 修复同一浏览器并发刷新可能返回 500 并产生设备注册竞争的问题。
  • 修复 HTTP 409/403 的具体错误被前端丢弃、只显示状态码的问题。
  • 移除尚未真实测量的“延迟”字段,避免长期显示无意义的
  • 禁止浏览器缓存旧入口文件,减少更新后继续加载旧构建的情况。
  • 修复断开的 WLAN 残留 Deprecated 地址仍被选入二维码的问题;Windows 现在只采用 Up + Preferred 的活动 IPv4 地址。
  • 默认优先真实默认路由网卡,电脑热点作为独立可选地址;WSL、VPN 和虚拟机网卡不会混入手机连接列表。
  • 网络切换后会自动同步连接端点和 mDNS;并发刷新、停止服务或修改设备名不会重新写回旧广播。
  • “局域网地址可达”已更正为“所选地址本机自检”,不再把电脑访问自身误报成手机已经可达。
  • 手机菜单新增中英文切换;首次访问会依据手机浏览器语言选择默认语言。

安全与权限

  • “仅本次允许”现在覆盖当前局域网服务运行周期;短暂断线可以恢复,停止或重启服务后会自动失效。
  • 已信任设备继续保留长期授权,直到用户主动撤销或移除设备。
  • 未知 API 返回统一的 JSON 错误结构,不再回退到桌面页面。
  • Windows 防火墙状态来自系统真实配置;规则缺失时可由用户确认管理员授权,并仅放行当前程序、TCP 端口和本地子网。

验证结果

  • 前端类型检查通过。
  • 6 个前端单元测试通过。
  • 36 个 Rust 测试通过,包括旧数据库升级、并发注册、忘记设备撤权、端口占用和多网卡排序。
  • Clippy 严格检查通过。
  • npm 高危依赖审计为 0。
  • Windows NSIS 安装包构建通过。
  • 真实进程验证:局域网状态接口可访问,SPA 路由返回 200,未知 API 和缺失资源返回 404。

已知限制

  • 本机端口自检只能证明服务已监听,最终仍需用手机验证网络路径;界面不会再把本机自连结果表述成“手机可达”。
  • 手机浏览器的云端加速、VPN 或代理可能无法访问 192.168.x.x;遇到超时时应关闭这些功能或换用系统浏览器。
  • Safari 通常不会向网页提供具体的 iPhone 代际;LYNQO 会显示 iPhone 和稳定短码,不会伪造“iPhone 16”等型号。
  • 本地生成的 Windows 测试包未做代码签名;正式 Release 由 GitHub Actions 使用仓库密钥生成更新签名。

下一版本计划

下一版本将转向传输可靠性:断点恢复、连续多文件队列、速度平滑、剩余时间校准、校验进度和失败任务重试。


English

This release focuses on the complete connection path: opening the mobile page, registering one stable device, approving it on the desktop, keeping authorization synchronized, and recovering from short network interruptions. The connection panel now shows only backend-provided addresses and measured diagnostics; placeholder domains and unverified firewall claims have been removed.

New

  • Connection diagnostics for service state, actual listening port, LAN address, selected adapter, mDNS, and local reachability.
  • A complete mobile URL below the QR code, including protocol, route, and pairing parameter.
  • Separate selectable QR paths for the router LAN and a Windows mobile hotspot when both are active.
  • Explicit mobile states: validating, awaiting approval, connected, reconnecting, rejected, revoked, and failed.
  • A direct “request access again” action after rejection or revocation.

Fixed

  • SPA routes such as /mobile and /transfers now return HTTP 200; genuinely missing assets and API routes still return 404.
  • Legacy database columns are migrated before dependent indexes are created.
  • Port conflicts now produce a persistent failed state and no unreachable mDNS advertisement.
  • Changing the configured port while running no longer makes the QR code point at an unbound port.
  • Device name and port settings are restored after restart.
  • Removing a device now revokes approval and trust before hiding its history.
  • Short browser suspension or Wi-Fi handoff no longer ends a one-time authorization immediately.
  • WebSocket URL/token changes replace the old socket, and reconnecting is visible immediately.
  • Concurrent refresh registration is atomic and reuses one stable device record.
  • Structured 409/403 errors reach the UI instead of degrading to a bare HTTP status.
  • The unimplemented latency display was removed.
  • Entry documents are served with Cache-Control: no-store to prevent stale builds after updates.
  • Disconnected adapters and Deprecated IPv4 addresses are excluded; Windows connection URLs now use only Up + Preferred addresses.
  • The active default route is preferred, a computer hotspot remains selectable, and unrelated WSL, VPN, or VM interfaces are excluded from phone choices.
  • Network changes synchronize the endpoint and mDNS in the background without allowing stale concurrent registrations to win.
  • The former LAN reachability check is correctly labelled as a selected-address local self-check.
  • The mobile menu now exposes Chinese and English, with the initial language selected from the phone browser locale.
  • Windows Firewall status is read from the system; if a rule is missing, the user can explicitly approve a local-subnet-only inbound rule for the current executable and TCP port.

Verification

  • TypeScript check, 6 frontend unit tests, 36 Rust tests, strict Clippy, production Vite build, dependency audit, Windows NSIS build, and a real HTTP/LAN process smoke test all passed.

Known limitations

  • A desktop self-check proves that the listener is active but cannot by itself prove the phone-to-PC path; the final check must still be made from the phone.
  • Cloud acceleration, VPNs, or proxies in a phone browser may be unable to route private 192.168.x.x addresses and should be disabled when troubleshooting.
  • Safari generally does not expose the exact iPhone generation to web pages; LYNQO uses an honest platform label and stable suffix.
  • The locally generated Windows test installer is unsigned. Official updater signatures are produced by GitHub Actions with repository secrets.

Next

The next release will focus on transfer reliability: resumable transfers, continuous multi-file queues, smoother speed and ETA, checksum progress, and retryable failures.

LYNQO v26.1.6 · 双语自动更新版本 / Bilingual Signed Update

Choose a tag to compare

@github-actions github-actions released this 23 Jul 18:57

LYNQO v26.1.6 · 双语自动更新版本 / Bilingual Signed Update

重大变更 / Breaking Changes

  • 本版本首次启用带签名校验的 Tauri 自动更新。

  • v26.1.5 及更早版本需要先手动安装本版本一次;之后的版本可在应用内自动更新。

  • 更新器会验证签名,未签名或签名不匹配的安装包不会安装。

  • This is the first release with signed Tauri automatic updates.

  • Users on v26.1.5 or earlier must install this version manually once; later releases can update in-app.

  • The updater verifies signatures and rejects unsigned or mismatched packages.

新功能 / New Features

  • 新增“检查更新”和“安装更新”流程。

  • 新增签名更新包和 GitHub Release latest.json 更新清单。

  • 新增局域网服务启动/停止按钮。

  • 新增关闭行为选择:隐藏到托盘、直接退出、每次询问。

  • 新增加入系统启动设置和托盘图标。

  • 设置中继续支持简体中文 / English 自由切换。

  • Added “Check for updates” and “Install update”.

  • Added signed updater artifacts and a GitHub Release latest.json manifest.

  • Added start/stop controls for the LAN service.

  • Added close behavior choices: hide to tray, quit, or ask every time.

  • Added startup-on-login configuration and a system tray icon.

  • Simplified Chinese / English switching remains available in Settings.

修复 / Bug Fixes

  • 修复托盘状态固定显示“运行中”。

  • 修复旧设备记录无法从可见设备列表移除。

  • 修复手机实时进度被轮询快照覆盖。

  • 修复桌面生命周期设置未连接到原生行为。

  • Fixed the stale tray status display.

  • Fixed old device records that could not be removed from the visible list.

  • Fixed mobile live progress being overwritten by polling snapshots.

  • Fixed desktop lifecycle settings not being connected to native behavior.

升级指南 / Upgrade Guide

  1. 下载对应平台安装包。
  2. v26.1.5 或更早版本升级时,先手动安装 v26.1.6
  3. 启动后进入“关于 / About”,点击“检查更新 / Check for updates”。
  4. 后续签名版本可直接从应用内下载安装。

下载 / Downloads

macOS Intel、macOS Apple Silicon 已完成;Windows 和 Linux 构建完成后会自动追加到本 Release。每个 updater 安装包都会附带签名文件。

macOS Intel and Apple Silicon packages are available. Windows and Linux packages will be attached automatically when their builds finish. Each updater bundle includes a signature.

安全 / Security

  • 仅在可信局域网中使用 LYNQO。

  • 安装前请核对 Release 资产名称和签名。

  • 签名私钥只保存在 GitHub Actions Secrets 中,不会提交到仓库。

  • Use LYNQO only on trusted networks.

  • Verify asset names and signatures before installation.

  • The signing private key is stored only in GitHub Actions Secrets and is never committed.

文档与许可证 / Documentation and License

LYNQO v26.1.5 · Bilingual UI

Choose a tag to compare

@by-fengqiao by-fengqiao released this 23 Jul 02:44

LYNQO v26.1.5

中文

新功能

  • 在设置中新增“简体中文 / English”语言切换。
  • 语言选择会保存,重启应用后继续使用上次选择。
  • 桌面导航、首页、传输中心、设备、接收文件、帮助和关于页面支持双语显示。

修复与改进

  • 统一设备状态、传输状态、时间和剩余时间的语言显示。
  • 保持本地优先和局域网直连工作方式,不引入云端中转。

升级说明

本版本可直接覆盖安装 v26.1.4。首次启动后进入“设置 → 语言”即可切换界面语言。

English

New Features

  • Added Simplified Chinese / English switching in Settings.
  • The selected language is persisted across application restarts.
  • Desktop navigation, Home, Transfer Center, Devices, Received Files, Help, and About now support both languages.

Fixes and Improvements

  • Unified language handling for device status, transfer status, timestamps, and remaining time.
  • Preserved the local-first, direct-LAN workflow without cloud relaying.

Upgrade Notes

This version can be installed over v26.1.4. Open “Settings → Language” after the first launch to change the interface language.

Downloads

Windows packages are available now. macOS and Linux packages are being attached by the desktop publishing workflow.

  • LYNQO_26.1.5_x64-setup.exe — recommended Windows installer
  • LYNQO_26.1.5_x64_en-US.msi — Windows MSI package

SHA-256

5C21826DB99FA0FA117F7F99BB9B8B97EA6D664E5AE40309202A2D705100F973  LYNQO_26.1.5_x64-setup.exe
045DDF4B8E1C565569BDD687D31EC26952D253A288EC466C58C08283B3134750  LYNQO_26.1.5_x64_en-US.msi

Important

  • Use LYNQO only on networks you trust.
  • The packages are not code-signed yet; Windows may show an unknown-publisher or SmartScreen prompt.
  • Verify the filename and SHA-256 before installing.
  • LYNQO is not cloud storage, remote backup, or anti-virus software.

Source and License

Source code · GPL-3.0-only

LYNQO v26.1.4

Choose a tag to compare

@by-fengqiao by-fengqiao released this 23 Jul 01:40

LYNQO v26.1.4 / 局域网文件传输工具

中文:开源、本地优先的局域网文件传输工具。让手机与电脑接入同一可信网络,扫描二维码、在电脑端明确授权后,即可双向传输文件;文件不经过公共云服务器。

English: An open-source, local-first LAN file transfer tool. Put your phone and desktop on the same trusted network, scan the QR code, approve the device on the desktop, and transfer files both ways without sending them through a public cloud.

已交付 / Highlights

  • 明确配对授权 / Explicit pairing:二维码连接、电脑端审批,以及可撤销的可信设备。
  • 双向传输 / Two-way transfer:支持手机到电脑与电脑到手机的文件传输。
  • 统一传输中心 / Unified Transfer Center:实时显示进度、速度、剩余时间和校验信息。
  • 开源与知情同意 / Open source and informed consent:仅使用 GPL-3.0;安装时展示许可证,首次桌面启动时要求确认使用协议、隐私说明和免责声明。
  • 项目文档 / Project docs:提供中英文 README、贡献指南与持续集成检查。

下载 / Download

平台 / Platform 文件 / Asset 状态 / Status
Windows x64 LYNQO_26.1.4_x64-setup.exe 可下载 / Available
Windows x64 LYNQO_26.1.4_x64_en-US.msi 可下载 / Available
macOS Apple Silicon LYNQO_26.1.4_aarch64.dmg 可下载 / Available
Linux x64 LYNQO_26.1.4_amd64.AppImageLYNQO_26.1.4_amd64.deb 可下载 / Available

Windows 用户推荐下载 .exe;需要企业部署或集中管理时可选 .msi

开始前 / Before you start

  1. 手机与电脑必须处于同一可信局域网。 / Keep the phone and desktop on the same trusted LAN.
  2. 在电脑启动 LYNQO,使用手机扫描应用中展示的二维码。 / Start LYNQO on the desktop and scan its QR code with the phone.
  3. 在电脑端确认设备接入,再开始传输。 / Approve the device on the desktop before transferring.
  4. 手机不能输入 localhost127.0.0.1;请使用 LYNQO 显示的完整局域网地址。 / Do not use localhost or 127.0.0.1 on a phone; use LYNQO's full LAN address.

SHA-256 / 校验值

DBDFFF5836D9598D0B0FDF208777E7B27581FCB8CEFEC8FBE1316DFB2B11CF65  LYNQO_26.1.4_x64-setup.exe
AA8C0EFE9A30C60E2C0AD87E9BDB40937DFF3158F81E0F6C4830C51419B3AC3E  LYNQO_26.1.4_x64_en-US.msi
1811D543F266AF02486305BF859615E213DACCA1F698826CBD14BED54B31C7CB  LYNQO_26.1.4_aarch64.dmg
220C8BE11E3A0B4735911EE605BD41CE54A3ABE017484AE37E2B63048128587B  LYNQO_26.1.4_amd64.AppImage
6293B6332BDD32E30932EAB4B3ECA41DA9732B30AA63E443D93B6E36715523C3  LYNQO_26.1.4_amd64.deb

下一版本计划 / Planned for v26.1.5

这是公开路线图,不代表已交付功能;具体内容以测试通过后的 Release 为准。 / This is a public roadmap, not shipped functionality. A feature is only delivered when it appears in a tested Release.

  • 更可靠的文件队列 / Reliable queues:连续多文件上传、取消与删除后的状态收敛,以及异常中断后的待办清理。
  • 更主动的配对体验 / Proactive pairing:不依赖进入“设备”页的全局授权提醒、可信设备的管理与立即撤销。
  • 真实的传输反馈 / Accurate live feedback:两端同步刷新速度、剩余时间、延迟与失败原因,减少“刷新后才更新”的状态滞后。
  • 可识别的设备名称 / Meaningful device names:优先展示可获得的设备型号,无法取得时允许用户设置昵称,避免多个 Android Device
  • 发布安全 / Distribution safety:在具备证书后推进 Windows 代码签名与 macOS 公证;在此之前,安装包会明确标示为未签名。

重要提示 / Important

  • 只在你信任的网络中使用。LYNQO 不是云盘、远程备份或杀毒服务。 / Use LYNQO only on networks you trust. It is not cloud storage, remote backup, or anti-virus software.
  • 当前 Windows 安装包尚未代码签名,Windows 可能显示未知发布者或 SmartScreen 提示;继续前请核对文件名与 SHA-256。 / The Windows installers are not code-signed yet. Windows may show an unknown-publisher or SmartScreen prompt; verify the filename and SHA-256 first.
  • 源代码与 GPL-3.0 许可证 / Source code and GPL-3.0 license: https://github.com/Map1eBr1dge/lynqo