SyncWatch同步观影
USER GUIDE / v2.2.0

普通用户完整使用说明

从下载、启动、登录、建房到多端同步播放,给第一次使用 SyncWatch同步观影 的用户一条不绕路的操作路径。

页面内容从维护中的 Markdown 生成,网页负责阅读体验;源码入口单独提供下载。

打开入口route / menu
填写配置input / policy
保存状态server / data
验证结果client / check
记录审计log / trace
成员反馈socket / event
可恢复backup / restore
拖动 360° · 滚轮缩放 · 方向键微调

直接使用

双击 Release 中的 SyncWatch-Standard-Server-Portable-v2.2.0-x64.exe,或选择完整安装版/完整便携版。首次启动时,Windows 防火墙如有提示,请按实际网络允许访问。程序会在 EXE 同目录创建 SyncWatch同步观影-Data/,账号、设置、媒体、缩略图、字幕、语音、聊天、缓存和密钥全部保存在这里;把整个程序文件夹移动到另一台电脑或云服务器时,数据会随文件夹一起移动。

程序窗口打开后,从“系统 → 复制局域网地址”复制链接。同一 Wi-Fi 或有线网络内的手机、平板、电脑、笔记本和电视浏览器均可访问。

首次设置

  • 每个账户首次登录都要阅读并同意使用协议;同一协议版本接受后不会重复弹出。
  • 服务器设备可在登录页直接选择“服务器超级管理员登录”,初始账号/密码是 admin/admin888。首次登录后可直接填写新密码与确认密码,也可点“暂不更改”先进入;系统会保留安全提醒。
  • 普通用户可直接注册,注册时不要求房间号或房间密码;登录时房间号留空会先列出账号拥有或连接过的房间,用户可选择其中一个或进入退出即删除的临时房间。弹窗可暂停 1 小时、1 天、1 周、30 天或永久关闭,也可在账号菜单的“安全设置 → 登录房间提醒”重新开启。
  • 公网访问可直接开启。建议先设置房间密码;服务器也可启用“要求所有房主为房间设置访问密码”策略,启用后未加密房间的房主会收到常驻提醒。
  • 普通账号默认可上传 10 GB 视频;管理员可按权限等级和账号单独调整,值为 0 表示不限。

账号是否允许多设备同时登录由管理员按账户设置;超级管理员默认不限设备、建房和上传。密码默认每 7 天要求修改一次,可在服务器设置中改为 0 天以关闭周期限制。密码仅保存 PBKDF2 哈希,管理员只能重置密码,不能查看原密码。

每个注册账号默认可以创建 1 个独立房间并设置房间名称、密码和人数上限。需要更多房间时,可在建房窗口提交额度申请,由服务器管理员审批或直接提高账号额度。普通成员首次加入有密码房间时输入密码,房主未改密码前再次进入会自动授权;超级管理员始终免输房间密码。各房间的成员、聊天、媒体、播放队列、同步进度、灯光和屏幕共享互相隔离。

登录和房间操作

普通用户

  • 登录页会显示当前设备 IP,点击“复制”可发给服务器管理员核对注册限制。
  • 没有账号时点击“立即注册”,两次密码框都可点击“显示”检查输入。
  • 注册完成后可填写房间号、从“在线房间”下拉框选择、点击“新建房间”,也可把房间号留空进入临时房间;临时房间退出后自动删除,可由房主或管理员转为正式房间。
  • 输入房间号后,下方会立即显示房间名称、当前人数、人数上限和是否需要密码。
  • “查看我连接过和拥有的房间”需要验证账号密码,验证后可选择历史房间或自己拥有的房间进入。
  • 勾选自动登录后,桌面客户端会记住会话;主动退出会立即清理在线状态,不会在房间里留下“正在重连”。
  • “游客模式”只使用与普通房间成员相同的权限,不会因创建临时房间而变成房主;需要创建正式房间或申请建房额度时先注册账号。

房主

  • 点击“新建房间”,填写名称、自定义房间号、可选房间密码和人数上限。
  • 房主可配置本房间的播放、上传、删除、屏幕/网页共享、聊天管理、实时语音、公告和成员管理权限。
  • 上传文件或文件夹后,可在“转换进度”查看速度、已用时间和预计完成时间;需要兼容转换时服务器会自动处理。
  • 主动退出房间时必须选择“关闭房间”“删除房间”或“只退出,不关闭房间”。掉线和意外退出不会关闭或删除房间。
  • 主菜单提供明显的“解散房间”入口。删除房间会永久删除本房媒体、聊天、队列和记录,操作前会再次确认。
  • 当前房主可在成员面板的房间号区域直接修改房间号,影片、聊天、队列、历史和在线会话会同步迁移。

超级管理员和服务器设备

  • 服务器设备登录页可直接选择“服务器超级管理员登录”,填写账号和管理员密码。首次使用 admin888 后直接设置新密码和确认密码。
  • 验证成功后停留在管理中心服务器设置页,不填写房间号也不会先进入临时观影房间;只有管理员主动选择房间入口时才进入房间。
  • 超级管理员不能被其他人移出,退出时会立即离线,不会保留重连占位。
  • 管理中心可查看所有账号、设备、IP、在线会话、房间归属、成员、媒体占用、播放状态、权限、注册申请和建房额度申请。
  • 所有房间支持全选和批量删除。恢复出厂和批量删除都要求手工输入“我已知道这个风险”,也可点击旁边的一键粘贴。
  • 注册名额申请提醒可直接跳转到对应审批位置;批准后该 IP 获得一次额外注册名额。
  • 未登录时也可打开顶栏“服务器设置”,直接输入超级管理员账号和密码验证;成功后验证框自动消失,登录页保持可见而观影主界面保持隐藏,管理员可直接修改服务器权限和策略。需要观影时再主动进入指定房间。

播放、共享和通知操作

  • 默认清晰度是“原画”。房主选择影片后,成员会按服务器时间同步播放、暂停、进度和音量。
  • 全屏后点击画面可呼出控制;支持横屏、竖屏、手动放大缩小和悬浮播放/画中画。
  • “共享屏幕与声音”用于桌面或应用画面;“共享网页”可粘贴 HTTP/HTTPS 地址,并在原播放器区域向房间展示网页。
  • 表情、文字、语音和公告都会显示发送者。房主、超级管理员和服务器设备可设置屏幕公告的字体、颜色、字号和停留时间。
  • 退出应用窗口时选择“最小化到托盘”“退出程序”“重新启动”或“取消”。选择退出会安全关闭本机服务并释放端口和数据目录锁。

主要功能

  • 房主同步播放、暂停、前后 10 秒、音量、锁定控制、控制权申请和强制同步;暂停时加入或网络重连后也会恢复当前影片与进度。
  • 播放进度按服务器时钟校准,并根据房主真实播放/缓冲状态持续修正;“操作历史”记录房间设置、文件、队列、聊天和播放操作,可在数据未发生冲突时安全回溯。
  • 浏览器阻止自动播放时,播放器中央会显示“点击继续同步播放”,点击后即可恢复。
  • 全屏时点击画面可呼出聊天、私聊、弹幕和退出按钮;分辨率、编码及 GPU 信息默认隐藏,操作时才短暂显示。
  • 视频库支持单文件、整个文件夹和上传中止,并保留文件夹层级;“我的影片”可折叠。另含封面缩略图、时长、分辨率、编码、音轨语言、播放队列、收藏、重命名和文件权限管理。
  • 支持 MP4、MKV、WebM 等视频文件;实际解码能力取决于访问设备的浏览器,跨设备观看优先使用 H.264/AAC 编码的 MP4。SRT、ASS、SSA、VTT 字幕会自动匹配同名影片并转换为浏览器字幕。
  • 公共聊天、指定成员私聊、房主公告、语音和历史分页;聊天与语音保存在服务器,私聊仅双方可读取,单条语音最大 25 MB。本人可删除自己的消息,房主可删除指定消息、清空指定账号或清空本房间聊天。
  • 好友系统支持离线申请、备注与分组、消息常驻提醒、单人/全局免打扰、拒绝好友申请、图片和表情、引用回复、单条/批量删除及送达/已读状态。好友可互相邀请或申请加入当前房间;只有对方批准或主动开启“好友免密加入我的房间”后才会免输房间密码。
  • 服务器可维护统一屏蔽词,弹幕、房间聊天、私聊、好友文字和图片说明都会在服务端校验,并向发送者显示命中的词。
  • 上传任务可折叠到后台继续处理。服务器默认在上传后自动补建缩略图并生成浏览器兼容版;“我的影片”和“媒体处理进度”会实时显示转换中、等待及已完成数量。关闭路径是顶栏“处理进度” → 取消“上传完成后自动生成浏览器兼容版” → “立即应用”。兼容转换默认同时运行 3 个任务,管理员可在 1-8 之间调整,并可直接打开转换文件目录。
  • 顶栏“AI聊天”提供独立的对话、生图和视频工作台,可配置兼容 Responses API / Chat Completions 的 HTTPS 中转地址、模型与接口路径。API 密钥只保存在当前设备,服务端中转会限制请求频率、响应大小并阻止内网地址访问。
  • 个人中心、SW 用户 ID、显示名字、邮箱、设备、安全设置、我的影片、收藏和观影历史;用户可修改自己的显示名字,服务器管理员可强制修改、重置密码或删除非房主账号。
  • 网络波动提示、无限重连、后台恢复、延迟和同步百分比上报。
  • 同一 IP 已经注册时,注册页会一直显示“当前 IP 已注册?申请一次注册名额”,填写准备注册的账号和申请原因即可提交给服务器管理员。
  • 关闭 Windows 窗口时,无论作为服务器还是客户端使用,都会选择“最小化到托盘”“退出程序”“重新启动”或“取消”;最小化后服务器与房间继续运行。
  • 顶栏实时显示当前界面风格编号和名称;主题选择页同时显示每套风格的编号与名字。
  • 房主、超级管理员和服务器设备可发送屏幕公告并设置字体、颜色、字号、停留时间和范围;表情和消息显示发送者。
  • 默认清晰度为原画;全屏可切换横屏/竖屏并手动放大缩小,桌面、网页和 Android 支持悬浮播放/画中画。
  • 屏幕共享采用低延迟画面帧同步,桌面端在系统和所选来源支持时会同时采集声音;Android 10 及以上客户端使用系统 MediaProjection 原生投屏,支持横竖屏热切换,并会在停止、锁屏、授权撤销、切换服务器或退出应用时自动结束。浏览器或受系统保护的窗口可能只允许共享画面。
  • 网页和 Android 手机端在竖屏使用“观影 / 聊天 / 片库 / 成员”四个至少 44px 高的入口,一次只展开一个主模块;四个入口随页面自然滚动,不会固定遮住下方内容。片库和成员以全宽抽屉打开,观影工具在小屏下重排为两列。横屏保留播放器与聊天并排;功能项与 PC 端保持一致。
  • 顶栏“生成 APK”会下载本 EXE 内置并经过签名校验的 SyncWatch同步观影-v2.2.0.apk。安装后输入电脑端显示的 HTTP 局域网地址或 HTTPS 公网地址,即可使用与网页端一致的房间、播放、聊天、上传、全屏和账户功能。
  • Electron 桌面端已配置系统屏幕/窗口选择器与捕获授权。Android APK 支持原生屏幕投放、文件多选、递归文件夹上传、上传中止、麦克风、下载和系统全屏;iPhone/iPad 浏览器目前不开放网页屏幕捕获,可观看共享或上传媒体同步播放。

公网访问

只有服务器桌面窗口能看到“公网访问”。

公网访问默认允许直接开启。服务器管理员可按需启用“要求所有房主为房间设置访问密码”:启用后,未设置密码的在线房主会收到常驻提醒,离线房主下次进入时收到提醒;房主完成设置前不能控制播放,但房间内其他成员不会被强制退出。策略关闭时不会强制房间密码。

  • 临时模式:自动下载官方 cloudflared 并生成 trycloudflare.com HTTPS 地址,适合临时聚会测试;地址每次启动会变化。
  • 稳定模式:填写 Cloudflare Tunnel 令牌和已绑定的 HTTPS 域名,适合长期使用。令牌只放入子进程环境,不写入配置文件。

若当前网络阻断 Cloudflare Tunnel 出站连接,界面会提示边缘尚未验证。新版会在预检发现“系统出口可用、物理直连不可用”时优先系统网络,并在公网地址验证失败时继续切换备用策略。使用 Clash/FlClash/VPN/TUN Fake-IP 时,如果浏览器可联网但勾选“绕过系统代理”后失败,请取消勾选再重试;仍失败时让 cloudflared.exeapi.trycloudflare.com*.trycloudflare.com*.argotunnel.com 走同一条可用代理规则,或改用固定 Tunnel/自有 HTTPS 域名。

公网链接可以打开但手机视频卡住时,选择“流畅版”并在“处理进度”确认转换已完成。新版会为超过 854×480 或平均码率超过约 1 Mbps 的视频生成约 480P 低带宽版本;播放器本地缓冲不足时暂停强制定位。仍无法推进时记录手机实测下载速度、服务器上行、Tunnel 连接策略、播放器 readyState/缓冲区和 Range 请求结果,再按故障手册排查。

独立服务器部署

独立服务器 ZIP 是源码部署辅助包,不属于正式 Release 固定 26 项资产。使用时解压后编辑 SyncWatch同步观影-Data/server-config.json,Windows 双击 start-server.cmd;Linux x64 执行 ./start-server.sh 或优先使用 Docker Compose。直接部署需要 Node.js 22 或更高版本,推荐 Node.js 24 LTS;Docker 镜像已自带 Node.js 24。

Windows Server、Linux、Docker Compose、自定义端口、安全组、域名 HTTPS、Nginx/Caddy WebSocket、内网穿透、QQ 邮箱找回、数据备份迁移和升级步骤,请阅读 服务器部署与使用教程。该教程也会随独立服务器 ZIP 一起打包。

服务器数据统一位于包根目录的 SyncWatch同步观影-Data/。停止服务后请整体复制服务器包目录,不能只复制 config.json;QQ 邮箱授权码还依赖 SyncWatch同步观影-Data/.secrets/mail.key。运行地址、房主入口和实际监听端口写入 SyncWatch同步观影-Data/服务器运行信息.txt。端口可在 SyncWatch同步观影-Data/server-config.jsonPORT 环境变量或 --port 参数中设置,优先级依次为命令行、环境变量、配置文件。

数据与安全

通过“系统 → 打开数据目录”可定位数据;独立服务器则直接打开包根目录的 SyncWatch同步观影-Data/。重要文件包括:

  • config.json:账号哈希、多房间、权限、媒体、队列和操作历史配置。
  • chat-history.jsonl:按房间隔离的聊天历史。
  • secrets/admin-password.json:独立的超级管理员密码哈希。停止服务后删除整个 secrets/ 会把 admin 账号和服务器管理员密码重置为 admin888,下次启动会重新创建该文件。
  • uploads/thumbnails/subtitles/voice/trash/:媒体数据及支持安全回溯的临时回收数据。聊天永久保存在服务器;删除的文件、语音及相关回溯数据保留 30 天,过期后自动清理。

不要删除 .secrets/config.jsonchat-history.jsonl;这些文件分别保存邮件加密密钥与主机令牌、账户/房间状态和聊天记录。只有在明确需要恢复 admin/admin888 时才删除非隐藏的 secrets/ 目录。cache/logs/crash-dumps/ 是桌面端可再生缓存,服务器迁移时可一并复制,也可以在服务停止后清理。

生产依赖及完整构建依赖已通过 npm audit,结果为 0 个已知漏洞。EXE 未使用商业代码签名证书,首次运行可能出现 SmartScreen;正式公开分发建议配置代码签名证书。

最终 EXE SHA256:A10C131DFDC6C8E35130EE5D9BB2BF3FC1998EA3229B8B64ACBDC4A5789D0FFC

从源代码重新生成 EXE

环境要求:Windows x64、Node.js 24 LTS(包含 npm),以及 Android Studio JBR/JDK、Android SDK 35、Build Tools 35.0.0、已缓存的 Gradle 8.13 与 Android Gradle Plugin 8.11.1。首次准备依赖时需要网络;正式发布脚本会离线构建并校验签名 APK。

powershell -ExecutionPolicy Bypass -File .\build-windows.ps1

脚本先执行接口、硬化、媒体、Electron、多窗口同步、公网隧道和成品契约,再使用现有发布密钥构建并验证 Android v2.2.0 APK。Windows 与 Android 正式候选直接生成到根目录 dist/;缺少真实 macOS ZIP 时完整离线 EXE 会停止构建,不会用空文件或旧包补齐。

  • electron-pink.js:桌面入口、屏幕捕获、托盘和公网隧道生命周期。
  • server/index.js:HTTP、Socket.IO、账号、聊天、权限、文件与同步状态。
  • public/:完全本地化的响应式界面。
  • mobile/:Android WebView 客户端、离线签名构建脚本及最终 APK;请妥善备份 .keys,否则后续版本无法覆盖安装。
  • tests/:接口、真实媒体、Electron 和隧道验收。
  • 技术架构与依赖说明:桌面端、服务端、前端、Android、数据、依赖版本、构建和测试的详细说明。

版权所有 © xuan

普通用户完整使用说明相关真实界面截图 1
普通用户完整使用说明真实界面证据 1
普通用户完整使用说明相关真实界面截图 2
普通用户完整使用说明真实界面证据 2
普通用户完整使用说明相关真实界面截图 3
普通用户完整使用说明真实界面证据 3
操作完成后请回到真实应用验证结果。不要在公开 Issue、截图或日志中提交密码、令牌、真实 IP、邮箱或私人媒体信息。