@kangsicj/nexussync 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,137 @@
1
- # Temporary Holding Version
1
+ <div align="center">
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ <img src=".github/assets/banner.svg" alt="NexusSync — watch together, perfectly in sync" width="100%">
4
+
5
+ <br>
6
+
7
+ [![Version](https://img.shields.io/badge/version-1.0.0-7C4DFF?style=for-the-badge)](./CHANGELOG.md)
8
+ [![Tampermonkey](https://img.shields.io/badge/Tampermonkey-PC%20%C2%B7%20Android-00485B?style=for-the-badge&logo=tampermonkey&logoColor=white)](https://www.tampermonkey.net/)
9
+ [![iOS Safari](https://img.shields.io/badge/Userscripts-iPhone%20%C2%B7%20iPad-0A84FF?style=for-the-badge&logo=safari&logoColor=white)](https://apps.apple.com/app/userscripts/id1463298887)
10
+ [![Sponsor](https://img.shields.io/badge/Fairy-Sponsor-FF6FB5?style=for-the-badge&logo=githubsponsors&logoColor=white)](https://fairy.hada.io/@jinny)
11
+
12
+ ### Miles apart, same frame.
13
+
14
+ **NexusSync turns any web video into a shared movie night.**<br>
15
+ Press play on your phone — it plays on theirs. Pause to laugh — everyone pauses with you.
16
+
17
+ [Features](#-what-it-feels-like) · [Install](#-install) · [Quick start](#-start-in-30-seconds) · [Support](#-support) · [**한국어**](./README_ko.md)
18
+
19
+ </div>
20
+
21
+ ---
22
+
23
+ ## 🍿 What it feels like
24
+
25
+ <table>
26
+ <tr>
27
+ <td width="50%" valign="top">
28
+
29
+ ### 🎬 Truly together, down to the frame
30
+ Anyone can play, pause, seek or change speed — and every screen follows within a blink. Devices keep fine-tuning in the background so lips and laughter line up, even between a PC, an iPad and a phone. Bluetooth headphones lagging? Nudge your own device delay in a second.
31
+
32
+ </td>
33
+ <td width="50%" valign="top">
34
+
35
+ ### 🍿 A cinema on any site
36
+ One tap and the player fills the screen with clean, beautiful controls, a soft ambient glow and the site's subtitles drawn crisply on top. In landscape on a phone, slide the left edge for **brightness** and the right edge for **volume** — just like your favourite video app.
37
+
38
+ </td>
39
+ </tr>
40
+ <tr>
41
+ <td valign="top">
42
+
43
+ ### 💬 Talk without leaving the movie
44
+ Messages float up as speech bubbles and drift away on their own. Tap one to answer, or fire off a quick reply — offered in **your** language — and messages from friends abroad are translated for you automatically — in the bubbles and in the full chat.
45
+
46
+ </td>
47
+ <td valign="top">
48
+
49
+ ### 🙈 A curtain for the scary bits
50
+ Watching with kids? One tap gently covers the picture on **every** screen for a few seconds while sound and subtitles carry on. NexusSync remembers the scene, so it is covered again if you rewind or rewatch.
51
+
52
+ </td>
53
+ </tr>
54
+ <tr>
55
+ <td valign="top">
56
+
57
+ ### 🖍️ Point, doodle, react
58
+ Draw a quick circle around that actor and it glows on everyone's screen — on the exact same spot of the picture — then fades away. Burst emoji reactions from the edges, send a 💗 nudge, or start a 3-2-1 countdown together.
59
+
60
+ </td>
61
+ <td valign="top">
62
+
63
+ ### 🧠 Live AI subtitles
64
+ No subtitles on that video? Turn on live speech recognition with translation into your language, with a glossary for names and terms so characters are always spelled right.
65
+
66
+ </td>
67
+ </tr>
68
+ </table>
69
+
70
+ ## ✨ Little things that matter
71
+
72
+ - **Next episode, together** — move on to the next episode and you stay in the room; friends follow with one tap.
73
+ - **Make it yours** — pick your name and colour; your bubbles and doodles wear it on every screen.
74
+ - **Calm, never jumpy** — phones going to sleep, slow Wi-Fi or a player restarting on its own never pause the whole room.
75
+ - **No accidental pauses** — tapping the chat, a doodle or a reaction never nudges the video for anyone.
76
+ - **Invisible until needed** — the ⚙️ button appears only next to real videos, never on ordinary pages.
77
+ - **Private rooms** — everything you share in a room is end-to-end encrypted; only people with the PIN can join.
78
+
79
+ ## 📦 Install
80
+
81
+ <div align="center">
82
+
83
+ ### [⬇️ Install NexusSync](https://cdn.jsdelivr.net/npm/@kangsicj/nexussync@latest/dist/NexusSync.user.js)
84
+
85
+ <sub>Opens the install page of your userscript manager · updates arrive automatically</sub>
86
+
87
+ </div>
88
+
89
+ | Device | App | How |
90
+ | --- | --- | --- |
91
+ | 🖥️ Windows · macOS · Linux | [Tampermonkey](https://www.tampermonkey.net/) | Click **Install NexusSync** and confirm. |
92
+ | 📱 iPhone · iPad | [Userscripts](https://apps.apple.com/app/userscripts/id1463298887) for Safari | Open the install link in Safari and tap **Install**. |
93
+ | 🤖 Android | Tampermonkey (Firefox, Edge, Kiwi …) | Same as desktop. |
94
+
95
+ > [!TIP]
96
+ > Keep every device in a room on the **same version** for the smoothest experience.
97
+
98
+ ## 🚀 Start in 30 seconds
99
+
100
+ 1. Open the same video on each device and tap **⚙️ → 🔗 Connect**.
101
+ 2. One person taps **Create a room** and shares the 6-digit **PIN**.
102
+ 3. Everyone else types the PIN. Done — enjoy the show together.
103
+
104
+ <details>
105
+ <summary><b>⌨️ Keyboard shortcuts</b></summary>
106
+
107
+ | Keys | Action |
108
+ | --- | --- |
109
+ | <kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>C</kbd> | Cinema mode |
110
+ | <kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>T</kbd> | AI subtitles |
111
+ | <kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>H</kbd> · <kbd>H</kbd> in cinema | Cover the picture for everyone |
112
+ | <kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>N</kbd> | Open the menu |
113
+ | <kbd>Enter</kbd> | Chat bubble box (in a room) |
114
+ | <kbd>Space</kbd> / <kbd>K</kbd> | Play / pause (cinema) |
115
+ | <kbd>←</kbd> <kbd>→</kbd> · <kbd>J</kbd> <kbd>L</kbd> | Seek 5 s · 10 s |
116
+ | <kbd>↑</kbd> <kbd>↓</kbd> · <kbd>M</kbd> | Volume · mute |
117
+ | <kbd>F</kbd> · <kbd>Z</kbd> · <kbd>C</kbd> · <kbd>?</kbd> | Fullscreen · fit · subtitles · help |
118
+
119
+ On touch screens: tap for controls, double-tap a side to skip, drag sideways to scrub, long-press to point, and in landscape slide the edges for brightness and volume.
120
+
121
+ </details>
122
+
123
+ ## 🔐 Your privacy
124
+
125
+ - Room messages are encrypted on your device; only people in the room can read them.
126
+ - If you add your own AI key for subtitles, it stays in your userscript manager and goes only to that provider.
127
+ - NexusSync never collects personal data, and rooms are cleaned up automatically after everyone leaves.
128
+
129
+ ## 💖 Support
130
+
131
+ NexusSync is made with love in spare time. If it makes your movie nights a little warmer, you can buy the developer a coffee on **Fairy** — it keeps the servers running and the features coming.
132
+
133
+ <a href="https://fairy.hada.io/@jinny"><img src="https://img.shields.io/badge/%F0%9F%A7%9A%20Support%20on%20Fairy-FF6FB5?style=for-the-badge" alt="Support on Fairy"></a>
134
+
135
+ <sub>Maintainers: see <a href="docs/DEVELOPMENT.md">docs/DEVELOPMENT.md</a> · what's new in the <a href="CHANGELOG.md">changelog</a>.</sub>
136
+
137
+ <div align="right"><sub>Made with 🍿 by <a href="https://github.com/kangsicj">@kangsicj</a></sub></div>
@@ -0,0 +1,37 @@
1
+ // ==UserScript==
2
+ // @name NexusSync Ultimate: CRDT Canvas & Media Sync
3
+ // @name:ko 넥서스싱크 얼티밋: 캔버스 및 미디어 동기화
4
+ // @name:nl-BE NexusSync Ultimate: Canvas & Media Synchronisatie
5
+ // @namespace https://github.com/kangsicj/NexusSync
6
+ // @author kangsicj
7
+ // @homepageURL https://github.com/kangsicj/NexusSync
8
+ // @supportURL https://fairy.hada.io/@jinny
9
+ // @updateURL https://cdn.jsdelivr.net/npm/@kangsicj/nexussync@latest/dist/NexusSync.meta.js
10
+ // @downloadURL https://cdn.jsdelivr.net/npm/@kangsicj/nexussync@latest/dist/NexusSync.user.js
11
+ // @version 1.0.0
12
+ // @description Watch-together media sync, cinema mode, live AI subtitles & translation, chat, canvas, bookmarks, presence and viewer mode.
13
+ // @description:ko 함께 보기 미디어 동기화, 시네마 모드, 실시간 AI 자막·번역, 채팅, 캔버스, 북마크, 시청자 모드.
14
+ // @match *://*/*
15
+ // @include *
16
+ // @allFrames true
17
+ // @run-at document-idle
18
+ // @grant GM_setValue
19
+ // @grant GM_getValue
20
+ // @grant GM_info
21
+ // @grant GM_xmlhttpRequest
22
+ // @grant GM_registerMenuCommand
23
+ // @grant GM.setValue
24
+ // @grant GM.getValue
25
+ // @grant GM.listValues
26
+ // @grant GM.xmlHttpRequest
27
+ // @connect translate.googleapis.com
28
+ // @connect nexussync-dd5b4-default-rtdb.asia-southeast1.firebasedatabase.app
29
+ // @connect esm.sh
30
+ // @connect cdn.jsdelivr.net
31
+ // @connect api.openai.com
32
+ // @connect api.groq.com
33
+ // @connect api.anthropic.com
34
+ // @connect api-free.deepl.com
35
+ // @connect api.deepl.com
36
+ // @require https://cdnjs.cloudflare.com/ajax/libs/lz-string/1.5.0/lz-string.min.js
37
+ // ==/UserScript==