Skip to content
Personal video streaming server.
Go CSS HTML Python
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
build add build script (#21) Aug 8, 2019
pkg fix windows path issue (#23) Aug 8, 2019
static improve css Jul 2, 2019
vendor dep ensure Jul 3, 2019
videos import code Jun 26, 2019
.gitignore gitignore Aug 8, 2019
Gopkg.lock dep ensure Jul 3, 2019
Gopkg.toml import code Jun 26, 2019
LICENSE Update Aug 8, 2019
config.json disable tor by default Aug 8, 2019
main.go Tor (#12) Jul 3, 2019

tube GoDoc

This is a Golang project to build a self hosted "tube"-style video player for watching your own video collection over HTTP or hosting your own channel for others to watch.

Some of the key features include:

  • Easy to add videos (just move a file into the folder)
  • No database (video info pulled from file metadata)
  • No JavaScript (the player UI is entirely HTML)
  • Easy to customize CSS and HTML template
  • Automatically generates RSS feed (at /feed.xml)
  • Builtin Tor onion service support
  • Clean, simple, familiar UI

Currently only supports MP4 video files so you may need to re-encode your media to MP4 using something like ffmpeg.

Since all of the video info comes from metadata it's also useful to have a metadata editor such as EasyTAG (which supports attaching images as thumbnails too).

By default the server is configured to run on which will assign a random port every time you run it. This is to avoid conflicting with other applications and to ensure privacy. You can configure this to be any specific host:port by editing config.json before running the server. You can also change the RSS feed details and library path from config.json.


from release

  1. Download release for your platform
  2. Extract zip archive
  3. Run tube executable to start server (this will output the URL for accessing from a browser)
  4. Move videos to videos directory
  5. Open the URL from step 3 and enjoy!

from source

  1. Install Golang if you don't already have it
  2. go get
  3. cd $GOPATH/src/
  4. go run main.go (this will output the URL for accessing from a browser)
  5. Move videos to $GOPATH/src/
  6. Open the URL from step 4 and enjoy!
You can’t perform that action at this time.