/synctv

Synchronized viewing, theater, live streaming, video, long-distance relationship

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

logo

👫A program that allows you to watch movies/live broadcasts together remotely🍿

latest version License Build status latest version
Downloads Downloads

English | 中文

What is SyncTV?

SyncTV is a program that allows you to watch movies and live broadcasts together remotely. It provides synchronized viewing, theater, and proxy features. With SyncTV, you can watch videos and live streams with your friends and family, no matter where they are.

SyncTV's synchronized viewing feature ensures that everyone watching the video is at the same point in the video. This means that you can pause, rewind, or fast-forward the video, and everyone else will be synced to the same point. SyncTV also supports live streaming, so you can watch live events together in real-time.

The theater feature provides a chat and bullet chat function, allowing you to communicate with your friends and family while watching the video. The proxy feature allows you to watch videos and live streams that may be connect to origin server slow.

Features

  • Synchronized viewing
    • Videos Sync
    • Live streaming
  • Theater
    • Chat
    • Bullet chat
  • Proxy
    • Videos proxy
    • Live proxy

Demo

https://synctv.pyhdxy.com/


Installation

Binary

You can download the latest binary from release page and install it manually.

Script

You can use the script to install and run SyncTV.

sudo -v ; curl https://raw.githubusercontent.com/synctv-org/synctv/main/install.sh | sudo bash -s -- -v latest

Docker

You can also use docker to install and run SyncTV.

docker run -d --name synctv -p 8080:8080 synctvorg/synctv

More information about docker image, please see here.


Usage

Global Flags:

-f, --config string   config file path
    --dev             start with dev mode
    --env-no-prefix   env no SYNCTV_ prefix
    --log-std         log to std (default true)
    --skip-config     skip config
    --skip-env        skip env

if you want to use a custom config file, you can use -f flag, else it will use ${HOME}/.config/synctv/config.yaml

Server

synctv server to start the server

synctv server
# or
synctv server -f ./config.yaml

server default listen on 127.0.0.1:8080, you can change it in config file

example:

server:
    listen: 0.0.0.0 # server listen addr
    port: 8080 # server listen port

Update

synctv self-update to auto update the binary

if you use --dev flag, it will update to the latest dev version force

synctv self-update
# or
synctv self-update --dev

Contributors

Thanks goes to these wonderful people:

Contributors

License

The SyncTV is open-source software licensed under the AGPL-3.0 license.

Disclaimer

  • This program is a free and open-source project. It aims to play video files on the internet, making it convenient for multiple people to watch videos and learn golang together.
  • Please comply with relevant laws and regulations when using it, and do not abuse it.
  • The program only plays video files/forwards traffic on the client-side and will not intercept, store, or tamper with any user data.
  • Before using the program, you should understand and assume the corresponding risks, including but not limited to copyright disputes, legal restrictions, etc., which are not related to the program.
  • If there is any infringement, please contact me via email, and it will be dealt with promptly.