@kangsicj/nexussync
v1.6.15
Published
Watch-together userscript: media sync, cinema mode, live AI subtitles, chat bubbles and quick ink for Violentmonkey, Tampermonkey and iOS Userscripts.
Maintainers
Readme
A userscript that synchronizes playback of any web video across devices, with chat, drawing and live AI subtitles.
English · 한국어
Sample video and page are original illustrations made for this README.
Quick start
- Install
NexusSync.user.jsin Violentmonkey, Tampermonkey or Userscripts. - Open the same video on each device → ⚙️ → 🔗 Connect → one device taps Create a room.
- Other devices enter the 6-digit PIN.
Features
| Feature | Description | | --- | --- | | Playback sync | Play, pause, seek and speed propagate to every device; continuous drift correction; per-device delay offset for Bluetooth audio | | Cinema mode | Full-screen player with custom controls and site subtitles; edge swipe for brightness and volume on phones; auto-enables on single-video pages | | Chat | Floating speech bubbles, quick replies, automatic translation of incoming messages, exportable history | | Drawing and reactions | Strokes anchored to the video frame on every screen; emoji bursts; 3-2-1 countdown | | Cover | Hides the picture on all screens for a few seconds; audio and subtitles continue; replays the cover on rewind | | AI subtitles | Transcribes video audio into translated live subtitles; free offline Whisper on PC and phone (downloaded on request; on iPhone the way to hear the video itself without a key), the browser's engine, or your own API key; glossary for names | | Subtitles | Video tracks, local files or OpenSubtitles; up to 3 tracks at once, each in its own colour; your pick is remembered per site for the next episode | | Timing sync | Aligns two different releases of the same film (offset by manual mark or automatic detection) | | Next episode | Room persists across episodes; Up next countdown; sleep timer (pause after 15/30/60 min or at the end of the episode); continue watching from where you stopped (offered, never forced) | | Privacy | End-to-end encrypted rooms, PIN or invite link to join, rooms deleted after everyone leaves |
Installation
| Platform | Manager | Steps | | --- | --- | --- | | Windows · macOS · Linux | Violentmonkey or Tampermonkey | Open the install link → Install | | iPhone · iPad | Userscripts (Safari) | Open the install link in Safari → Install | | Android | Violentmonkey or Tampermonkey (Firefox, Edge) | Same as desktop |
Updates are installed automatically. Keep all devices in a room on the same version.
Keyboard shortcuts
| Keys | Action | | --- | --- | | Alt+Shift+C | Cinema mode | | Alt+Shift+T | AI subtitles | | Alt+Shift+H · H in cinema | Cover the picture for everyone | | Alt+Shift+N | Open the menu | | Enter | Chat input (in a room) | | Space / K | Play / pause (cinema) | | ← → · J L | Seek 5 s · 10 s | | ↑ ↓ · M | Volume · mute | | F · Z · C · ? | Fullscreen · fit · subtitles · help |
Touch: tap for controls, double-tap a side to skip, drag to scrub, long-press to point.
Privacy
- Room messages are encrypted on the device; only room members can decrypt them.
- A user-supplied AI key is stored in the userscript manager and sent only to that provider.
- No personal data is collected. Rooms are deleted after all members leave.
Support
License
GNU GPL v3.0. Development notes: docs/DEVELOPMENT.md · CHANGELOG
