Releases: ghbhiee/netdisplay
Release list
NetDisplay v0.4.14
NetDisplay v0.4.14 — 把一台电脑当另一台的网络第二显示屏(Mac ⇄ Windows,双向)。
本次更新
Windows
- 直连(局域网 IP)配对:配对弹窗新增「直连」页,填对方局域网 IP + 同一个配对码即可点对点配对,不经中转(PAIR_HELLO 0x4A + 常驻 47800 武装响应器,错码/未武装一律静默拒绝)。跨网络仍走中转。
- 投射方停止后,接收窗口自动关闭:不再冻结在最后一帧(那会让人误以为还连着)。接收服务保持等待,对方再投时窗口自动重开。
macOS
- 全面支持辅助功能(AX)驱动:所有控件有稳定标识,可按名字自动化;新增 axdrive 工具与通用约定文档。
- 修复:投射源列表只在启动时抓取一次 → 授权后不重启永远为空(这才是「选不到窗口」的真因,并非权限问题)。
- 修复:无屏幕录制权限时异常被吞、导致「没窗口」与「没权限」表现相同 → 现在显示提示并可一键跳转设置。
- 修复:投射源列表被截断在 8 个,靠后的应用(如 iTerm2)选不到。
- 修复(中转服务):会话字节统计方向标反。
已验证
- 跨机实测:投射成功后停止、再次投射均正常(修复了此前「第二次投射失败」)。
- 双向单窗口投射(Mac→Win iTerm、Win→Mac 同花顺)均正常,呈现为 window 模式、分辨率不超过对方屏幕、不变形。
升级提示
- macOS 用户:升级后若「选择投射内容」为空,是本版签名身份变更导致屏幕录制授权失效,到「系统设置 → 隐私与安全性 → 屏幕录制」重新勾选 NetDisplay 即可。
- 配对:从更早版本升级后如连不上,请两端解除配对、用同一个码重新配一次(旧记录的配对密钥可能已失效)。
下载
- Windows:
NetDisplay-0.4.14-portable.exe(免安装,直接运行) - macOS:
NetDisplay-macOS.zip
NetDisplay v0.4.12
把一台电脑当成另一台电脑的第二显示屏——Mac ↔ Windows 双向互投,装好配对一次即可。
下载
| 平台 | 文件 |
|---|---|
| macOS 14+ | NetDisplay-macOS.zip |
| Windows 10/11 | NetDisplay-0.4.12-portable.exe |
两端都要装(同一个 App 收发一体,谁投谁收在界面上选)。
macOS 首次运行:自签名,会提示「无法验证开发者」→ 右键 App →「打开」→ 再点「打开」。
另需在「系统设置 → 隐私与安全性 → 屏幕录制」勾选 NetDisplay。
这一版的重点
修复「第一次投射成功、之后再也配不上」 —— 这是本次最重要的修复。接收端在握手时会把设备的
secret 覆盖成对方下发的 pairSecret,而在现在的模型里 secret 就是中转房间的钥匙,一覆盖就把
自己悄悄搬进另一个房间,于是首次会话之后两端永远在不同房间、再也撮合不上。两端均已移除该逻辑。
⚠️ 升级后请两端都「解除配对」并重新配一次同一个码 —— 旧记录里存的可能已是被污染的 secret。
投射画质规则统一(协议 §3.10):画质只在投射方设置(接收方的画质设置已移除,因为它本来就
不生效)。跟随对方屏幕 → 按对方分辨率、当第二显示器;指定分辨率 → 超过对方屏幕自动修正、窗口显示;
投射单个窗口 → 等比缩到对方屏幕内(不变形、不放大)。投射中改分辨率/帧率实时生效。
配对体验:配对弹窗分「经中转(配对码)/直连(对方 IP)」两个 Tab;中转不可用时会提示并给出
设置入口,只有中转可用才能配对;配对只在弹窗打开期间有效,关窗即失效(防别人拿码蹭连)。
设备行显示 直连/中转 徽章、对方在线状态,并可手动刷新。
其它:中转服务限流改为按房间计(修复重连时被误限)、投射与接收不再互相禁用、
投射源列表不再出现空白项、macOS 深色主题修复、新增「关于」。
中转服务与虚拟显示器
- 同一局域网用「直连(对方 IP)」即可,不需要中转服务。
- 跨网络需要一台中转服务器,5 分钟自建(
relay/,Go)——步骤见
README「中转服务」。
本项目不提供公共服务器。 - Windows 想投出一块「新的扩展屏」(而不是复制现有屏)需装虚拟显示器驱动
VirtualDrivers/Virtual-Display-Driver,
只装在作为投射方的 Windows 上;Mac 内置CGVirtualDisplay,不用装任何东西。
步骤见 README「Windows 投整个屏幕」。
完整说明见 README;协议规范见 docs/02-protocol.md。
NetDisplay v0.4.5
⚠️ 两端必须装同一个版本Windows 和 Mac 都要用 v0.4.5。 跨版本配对一定失败:v0.4.x 改了「配对码 → 房间」的推导算法(协议 §3.7),新旧版本会算出不同的房间,输一样的码也永远碰不到面——而且两边日志都显示正常,几乎无法自查。装之前请确认两台都是这一版。
把一台电脑的屏幕投到另一台上当扩展显示器用。Mac ⇄ Windows 任意方向,同一局域网走直连,跨网络走中转服务器。
这一版有什么
配对
- 6 位字母+数字配对码,大小写和空格都不敏感(
k7m2 qx=K7M2QX) - 真·双向配对:只有服务器确认对方也输了同一个码,才显示「已配对 · 对方名字」;在这之前显示「等待对方输入配对码…」
- 配对全程在弹窗内完成,确认成功才把设备存下来;关闭弹窗即取消,不留痕迹
- 配对关系持久保存,之后不用再输码
投射 / 接收
- 双向都通:Windows → Mac、Mac → Windows
- 方向由你显式选择(「投射本机」/「接收」),不再让程序猜谁投谁
- 投射方停止时,接收窗口自动关闭;对方重新开投会自动重开
- 中转连上后会在后台尝试升级到局域网直连(判据是收到对端协议应答,不被 TUN 代理欺骗)
状态显示(presence)
- 设备行直接显示对方在干嘛:「对方已开接收 · 可投射」「对方正在投射 · 可接收」「对方正在接收」「对方离线」
- 对方不在线时,投射按钮自动禁用
- 中转服务可用性与延迟实时显示
画质
- 硬件编码 HEVC 4:2:2 10-bit(NVENC),回退 H.264
- 分辨率 / 缩放 / 帧率 / 码率可调
已知问题
- 选窗口投射暂时不可用,只能投整块屏幕(排查中)
- 「整块屏幕」目前是镜像主屏,不是新开一块扩展桌面。真正的虚拟扩展屏需要 Windows 间接显示驱动(IddCx),正在评估
- 两台机器在不同网络时只能走中转,无法直连(这是网络拓扑决定的,不是缺陷)
排障
Windows 端运行日志:%APPDATA%\netdisplay-windows\netdisplay.log(每次启动覆盖)。遇到问题请连同这个文件一起反馈。
NetDisplay v0.3.0
NetDisplay v0.3.0
跨平台「网络扩展屏 / 单窗口投射」——把一台电脑的屏幕或单个窗口投射到另一台,经中转服务器连接(无需端口转发/公网 IP)。收发一体,任意方向(Mac↔Windows 双向已实测跨机联调通过)。
下载
- macOS:
NetDisplay-macOS.zip(菜单栏 App,Apple Silicon;发送+接收都支持) - Windows:见本 Release 的 Windows 资产(Windows 端构建后附加)
macOS 安装 / 使用
- 解压,
NetDisplay.app拖到「应用程序」。 - 首次打开:右键 →「打开」(自签名开发证书,非 App Store)。图标出现在右上角菜单栏。
- 首次投送需在「系统设置 → 隐私与安全性 → 屏幕录制」里勾选它。
- 菜单栏「开始投送」= 发送;「接收投射(本机作目标屏)」= 接收。
配置中转
菜单栏「中转设置」填入中转服务器地址 + token(token 向中转运营者获取;公共仓不含 token)。两端填同一个即可。
能力
- 整屏扩展屏 / 单窗口投射(窗口 resize 画面自动跟随)
- codec 协商(H.264 / HEVC),持久配对(配一次之后免配对码)
- 背压自适应、断线自愈;跨网络中转(RTT 视中转节点位置)