Releases: Contribuv/fn_qycs
Release list
v2.1.1
v2.1.0
v2.1.0 (2026-08-06)
SQLite 数据库存储:替代原 JSON 文件存储方案,设置数据事务性持久化;网关页面与 ICE 接口读取同一数据源,密码凭据完整保存不再丢失
TURN/TURNS 连通性测试:网关传送设置新增测试按钮,基于完整 Offer/Answer 握手验证中继服务器可达性和凭据正确性
TURN 可达性后台验证:页面加载后异步探测 TURN 是否真能分配 relay 候选,实时修正网络能力 Pill 指示器
gateway API 路径自适应:测试时 TCP 直连和生产环境 Unix 网关均可正确调用 API
优化:传送设置推荐文案更新,移除密码掩码不一致引起的测试误判,免费 TURN 推荐指向 metered.ca
v2.0.7
v2.0.7 (2026-08-06)
- 传输稳定性:新增
cleanupAllTransfers统一清理方法,发送/接收/取消后释放所有 P2P 资源(PC/DC/Buffer/Writable/WakeLock),重置网络探测状态,清空已选文件和目标,确保下次传输从干净状态开始 - 刷新持久化:桌面端流式写盘同步写入 IndexedDB 分片备份,刷新页面后仍可查看图片/视频和下载文件;
renderReceiveList根据chunkCount智能显示操作按钮 - 传送设置页面:修复深色主题输入框自动填充变白;修复 CSS 变量不存在导致的样式异常;超链接添加
:visited颜色;优化表单间距和可读性 - 安全加固:TCP 端口拦截
/gateway管理面板路径,仅允许通过飞牛统一网关访问
v2.0.2
v2.0.2:
- 文件大小限制50MB、进度浮窗居中、屏幕常亮、传输稳定性修复
- 文件大小限制:WebRTC 限制单文件最大 50MB,超出居中浮窗提醒
- 进度弹窗:发送/接收进度浮窗始终屏幕居中,不再贴底弹出
- 屏幕常亮:传输期间 Wakelock API 保持屏幕唤醒,防息屏断连
- 传输稳定性:修复 done_ack 永久阻塞、waitForBuffer 死循环、dc.onerror 误报等 7 个关键 Bug
- Android/鸿蒙 blob 下载 0 字节:IndexedDB 分片刷新竞态 + 浏览器差异化下载
- 公网同 NAT 自动发现:同公网出口 IP 用户可自动互见并 P2P 直连
- 安全修复:公网受限用户不暴露设备,仅暗号房间可见
- 日志改为每次启动新建(O_TRUNC),删除 PLAN.md/build.sh 等开发文件
- 新增 build.ps1 Windows 编译脚本
- README/manifest 文案更新
v2.0.1
v2.0.1
网络隔离逻辑重构:设备发现判定标准从「IP 是否为私网」改为「与谁同子网」
与服务器同子网(含服务器自身热点)→ 局域网,自动互见、WebRTC 直连(速度快)
与另一客户端连同一热点/WiFi(前端探测局域网 IP 同 /24 前缀)→ 同用户子网,自动互见、直连
其余(移动网络、异网、跨子网)→ 公网受限,仅可通过暗号房间互传(备选方案)
修复公网模式重复提示 Bug:公网受限用户收到 lan_only 后强制切换至房间 Tab,不再停留在局域网 Tab 显示重复空态文案;状态栏区分「局域网模式 / 公网模式」
设备上线/下线事件按同子网过滤:BroadcastLan 仅通知与源设备同子网的设备,异网/异热点设备不再互相感知
设备昵称公平随机:固定名(袁粑粑等)与词缀×水果组合名融合进同一 Fisher-Yates 洗牌池,各昵称出现频率一致、无顺序偏好;离线释放后重新放回待取池,避免昵称池随时间缩
v2.0.0
v2.0.0
网络分组发现:同一 NAS 部署局域网的设备互相发现;不同局域网(同公网 IP)的用户互相发现;完全隔离,互不干扰
修复 device_offline 广播丢失 Bug:CheckTimeout 返回 TimeoutInfo{ID, Scope} 而非纯 ID 数组,避免设备删除后查不到 scope 导致离线通知丢失
修复 update_name 跨组广播 Bug:update_name 消息改用 BroadcastToScope 定向广播,不再泄露设备名给其他网络组
新增公网互传房间系统:通过 6 位数字暗号创建/加入私密房间,房间内 WebRTC P2P 传输,跨 NAT 穿透
新增公网互传前端 UI:设置面板开关(默认关闭)+ 房间面板(创建房间/加入房间/房间设备列表/复制暗号)
新增 ICE 服务器配置 API:GET /api/ice-servers 返回 STUN 服务器列表,供跨 NAT WebRTC 使用
新增清除本地数据:设置面板一键清除 IndexedDB 缓存和接收历史,用户可主动管理隐私数据
v1.0.6
v1.0.6
-
修复 TLS 嗅探监听器阻塞问题:sniffListener.Accept() 不再同步调用 Handshake(),改为返回 *tls.Conn 由 http.Server 异步握手,避免单个卡死连接阻塞整个 Accept 循环。
-
移除 HTTP→HTTPS 重定向逻辑:反向代理端口仅提供 HTTPS 访问,明文 HTTP 连接直接关闭,不再执行 301 跳转,以减少攻击面。
-
修复局域网设备发现限制绕过问题:isLocalEntry 仅对飞牛统一网关(Unix Socket)放行,反向代理流量改用 X-Forwarded-For 真实客户端 IP 判断局域网归属,防止外网设备被误发现。
-
加固 getClientIP 防 IP 欺骗机制:仅信任来自受信任代理(loopback / Unix Socket)的转发头,直连公网请求忽略伪造的 X-Forwarded-For。
-
新增 WiFi 搜索雷达动画功能:设备列表为空时显示脉冲雷达搜索动画,通过视觉反馈提示用户正在搜索附近设备。
-
新增复制链接分享按钮:底部本设备栏增加一键复制页面 URL 按钮,方便用户分享给同 WiFi 的其他用户。
v1.0.5
v1.0.5
修复局域网设备发现绕过限制:收紧 isLocalEntry 仅对飞牛统一网关(Unix Socket)放行,反向代理流量改用 X-Forwarded-For 真实客户端 IP 判断局域网归属,防止外网设备被误发现
加固 getClientIP 防 IP 欺骗:仅信任来自受信任代理的转发头,直连公网请求忽略伪造的 X-Forwarded-For,避免外网设备伪装成局域网
隐藏日志中的证书路径:实时日志不再显示 证书路径: cert=..., key=... 记录,避免暴露 NAS 本地证书文件位置
v1.0.2
v1.0.2
- 修复证书路径 fallback:
cert_manager.go新增resolveCertPath/resolveKeyPath,当fullchain.crt不存在时自动查找同目录下的{domain}.crt/{domain}.pem,解决反代 TLS 握手失败问题 - 新增局域网 IP 过滤:
ws.go中添加私有/局域网 IP 检测(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 等),拒绝外网设备连接,防止非同局域网设备被误发现 - 修正安卓保存到相册:新增 MIME type 推断确保下载时系统识别为媒体文件;修正提示文案准确反映实际行为(下载到下载文件夹,系统可能扫描到相册)
- 新增前端 lan-only 状态:被拒绝设备显示「仅限局域网使用」橙色警告,不触发自动重连
v1.0.1
v1.0.1
- 修复反代证书加载错误掩盖:
rproxy_manager.go调用/start后解析success字段,证书加载失败时不再误报启动成功;启动前预检查证书文件是否存在 - 新增诊断日志:反代进程在证书加载成功/失败、TLS 握手失败时写入日志,便于排查
net::ERR_SSL_PROTOCOL_ERROR - 修正 resource 配置:移除冗余的
permission字段,按官方文档仅声明必要的共享目录 - 优化 manifest desc 描述:修正不恰当定位和口语化表达
- 修正安卓保存到相册:新增 MIME type 推断确保下载时系统识别为媒体文件;修正提示文案准确反映实际行为(下载到下载文件夹,系统可能扫描到相册)