Synchronized viewing, theater, live streaming, video, long-distance relationship
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.
 
 
 
 
Go to file
zijiren233 9f189cd504 Feat: db logger 1 year ago
.github Update issue templates 1 year ago
cmd Opt: lazy init op 1 year ago
internal Feat: db logger 1 year ago
proto Feat: update proto model 1 year ago
proxy Fix: http read seeker no need close 1 year ago
public Feat: synctv init 1 year ago
server Feat: lazy load movies 1 year ago
utils Feat: lazy load movies 1 year ago
.gitignore Feat: support database 1 year ago
Dockerfile Fix: config file default use datadir/config.yaml 1 year ago
LICENSE Initial commit 1 year ago
README-CN.md Docs: update self-update docs 1 year ago
README.md Docs: update self-update docs 1 year ago
SECURITY.md Create SECURITY.md (#8) 1 year ago
build.sh Fix: sqlite3 not support some platform 1 year ago
docker-compose.yml Fix: config file default use datadir/config.yaml 1 year ago
entrypoint.sh Fix: config file default use datadir/config.yaml 1 year ago
go.mod Fix: postgres 1 year ago
go.sum Fix: postgres 1 year ago
install.sh Opt: install script func name 1 year ago
main.go Feat: synctv init 1 year ago
proto.sh Feat: use protobuf 1 year ago

README.md

logo

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


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.