mirror of https://github.com/synctv-org/synctv
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Fix failures found during the frontend integration sweep: - Hydrate image attachment views in chat edit/reaction/pin/unpin responses, pinned-message lists, and durable pin replay. These mutations could commit successfully and then fail serialization or disconnect observers. - Expose room password presence in client/admin projections, using batch lookups for room lists. - Preserve nullable category IDs in room-creation review queries so uncategorized submissions can be read and listed; refresh SQLx metadata. Validation: Rust formatting, workspace Clippy with warnings denied, five Docker-backed chat regression tests, eight secondary-read repository integration tests, eight CLI human-output tests, protobuf freshness, and a dynamic-Web backend build passed. Remote CI results are tracked on this PR. Frontend integration: https://github.com/synctv-org/synctv-app/pull/70 |
2 weeks ago | |
|---|---|---|
| .cargo | 4 weeks ago | |
| .config | 2 months ago | |
| .github | 3 weeks ago | |
| .sqlx | 2 weeks ago | |
| docs | 3 weeks ago | |
| helm/synctv | 3 weeks ago | |
| migrations | 4 weeks ago | |
| scripts | 4 weeks ago | |
| synctv | 2 weeks ago | |
| synctv-adapter | 3 weeks ago | |
| synctv-api | 4 weeks ago | |
| synctv-api-common | 2 weeks ago | |
| synctv-api-grpc | 4 weeks ago | |
| synctv-api-http | 3 weeks ago | |
| synctv-cluster | 4 weeks ago | |
| synctv-common | 3 weeks ago | |
| synctv-core | 2 weeks ago | |
| synctv-livestream | 3 weeks ago | |
| synctv-management | 2 weeks ago | |
| synctv-media-providers | 3 weeks ago | |
| synctv-proto | 2 weeks ago | |
| synctv-proto-build | 1 month ago | |
| synctv-proto-main | 1 month ago | |
| synctv-proto-playback-provider | 1 month ago | |
| synctv-proto-providers | 1 month ago | |
| synctv-proxy | 3 weeks ago | |
| synctv-realtime | 1 month ago | |
| synctv-web-ui | 3 weeks ago | |
| synctv-xiu | 3 weeks ago | |
| .dockerignore | 1 month ago | |
| .env.postgres.example | 2 months ago | |
| .env.redis.example | 2 months ago | |
| .env.synctv.example | 1 month ago | |
| .gitattributes | 2 months ago | |
| .gitignore | 1 month ago | |
| CONTRIBUTING.md | 2 months ago | |
| Cargo.lock | 3 weeks ago | |
| Cargo.toml | 3 weeks ago | |
| Dockerfile | 4 weeks ago | |
| LICENSE | 2 months ago | |
| Makefile | 4 weeks ago | |
| README.md | 3 weeks ago | |
| README.zh-CN.md | 3 weeks ago | |
| SECURITY.md | 2 months ago | |
| deny.toml | 2 months ago | |
| docker-compose.dev.yml | 1 month ago | |
| docker-compose.yml | 1 month ago | |
| rust-toolchain.toml | 3 weeks ago | |
| synctv.example.yaml | 3 weeks ago | |
README.md
SyncTV
SyncTV is a Rust implementation of a real-time synchronized video watching platform with media provider integration, livestreaming, HTTP/gRPC APIs, and Kubernetes-ready horizontal scaling.
Highlights
- Synchronized room playback with real-time state updates.
- Media providers for Bilibili, Twitch, YouTube, Douyin, TikTok, Huya, Douyu, AcFun, CCTV, Alist, Cloudreve, Emby/Jellyfin, FNOS, QNAP, Synology, Nextcloud, Seafile, TrueNAS, direct URLs, and livestream sources.
- WHIP and RTMP publishing with WHEP, HLS, and HTTP-FLV playback.
- External WHEP, RTSP, RTMP, and HTTP-FLV pull with cross-node live relay.
- HTTP REST, public gRPC, WebSocket, management gRPC, metrics, RTMP, and STUN runtime surfaces.
- PostgreSQL-backed durable storage with optional Redis shared state, cache, rate limiting, and cluster coordination.
- Docker Compose and Helm deployment templates.
- Built-in management CLI and optional OpenAPI/Swagger UI.
- Astro Starlight documentation site with English and Simplified Chinese content.
Discussion and Contributors
Join the SyncTV Telegram discussion to talk with users and contributors about deployment, operations, media providers, client development, and the product roadmap.
Documentation
Read the complete documentation at docs.syncs.tv.
Download the native client from the client downloads guide or SyncTV App releases. Store builds are distributed through the supported app stores.
License
MIT. See LICENSE.