An open API service indexing awesome lists of open source software.

https://github.com/halitsever/watchbear

🐻 Watch together in sync; Free Chrome extension for watch parties. Synced video playback, live chat & reactions, no account. Watch movies & YouTube with friends.
https://github.com/halitsever/watchbear

browser-extension chrome-extension crxjs manifest-v3 nestjs react realtime self-hosted sidepanel socket-io synchronized-video tailwindcss teleparty teleparty-alternative typescript video-sync watch-party watch-together watchparty websocket

Last synced: about 8 hours ago
JSON representation

🐻 Watch together in sync; Free Chrome extension for watch parties. Synced video playback, live chat & reactions, no account. Watch movies & YouTube with friends.

Awesome Lists containing this project

README

          





🐻 Watchbear: The sweet way to watch together








Documentation



Watchbear lets you watch any video together, in sync. Start a room, share the
code, and everyone's playback stays on the same frame, with chat and reactions
in a side panel right next to the video.

**Synced playback:** play, pause and seek stay in step for everyone in the room.


**Join with a code:** no account; friends drop in within seconds.


**Side-panel chat:** live messages and quick reactions next to the video.


**Live position:** the panel shows the current second of the active tab's video.





Requires Node >= 20 and pnpm >= 10.

```bash
pnpm install
```

**Extension**

```bash
pnpm dev:ext
pnpm build:ext
```

Then open `chrome://extensions`, enable Developer mode, and **Load unpacked** →
`apps/extension/dist`.

**Server**

```bash
pnpm dev:server
pnpm build:server
```

**Self-hosting**

Watchbear is self-hostable. Run the server wherever you like (the
[`Server.Dockerfile`](./Server.Dockerfile) and [`server.compose.yaml`](./server.compose.yaml)
are ready to go), then point the extension at it: open the popup, click the server
row, **Change**, and enter your address (e.g. `https://watch.example.com`). It pings
the address to confirm a Watchbear server is there before switching.

The extension origin (`chrome-extension://…`) is allowed by default, so no CORS
config is needed for the client. To also allow a web origin, set `CORS_ORIGINS`
(comma-separated) on the server.

**Whole workspace**

```bash
pnpm build # build every app
pnpm typecheck # type-check every app
```








MIT LICENSE - Halit Sever