An open source alternative front-end to YouTube
 
 
 
 
 
 
Go to file
Omar Roth 296771809a Refactor protocol buffers 2018-09-17 16:56:28 -05:00
assets Fix player margin 2018-09-15 13:04:13 -05:00
config Add 'license' 2018-09-09 14:47:26 -05:00
src Refactor protocol buffers 2018-09-17 16:56:28 -05:00
.editorconfig
.gitignore Update .gitignore 2018-07-14 08:35:25 -05:00
LICENSE
README.md Update project synopsis 2018-09-04 09:22:10 -05:00
setup.sh Add users table 2018-03-29 21:41:05 -05:00
shard.yml Bump version to match tag 2018-09-06 10:54:12 -05:00

README.md

Invidious

Invidious is an alternative front-end to YouTube

  • Audio-only (and no need to keep window open on mobile)
  • Open-source (AGPLv3 licensed)
  • No ads
  • No need to create a Google account to save subscriptions
  • Lightweight (homepage is ~4 KB compressed)
  • Tools for managing subscriptions:
    • Only show unseen videos
    • Only show latest (or latest unseen) video from each channel
    • Delivers notifications from all subscribed channels
    • Automatically redirect homepage to feed
    • Import subscriptions from YouTube
  • Dark mode
  • Embed support
  • Set default player options (speed, quality, autoplay, loop)
  • Does not require JS to play videos
  • Support for Reddit comments in place of YT comments
  • Import/Export subscriptions, watch history, preference
  • Does not use any of the official YouTube APIs

Liberapay: https://liberapay.com/omarroth
Patreon: https://patreon.com/omarroth
BTC: 356DpZyMXu6rYd55Yqzjs29n79kGKWcYrY
BCH: qq4ptclkzej5eza6a50et5ggc58hxsq5aylqut2npk

Installation

Installing Crystal:

On Arch:

$ sudo pacman -S shards crystal
$ shards

On OSX:

$ brew update
$ brew install shards crystal-lang
$ shards

Installing Postgres:

On Arch:

Install according to the wiki

On OSX:

$ brew install postgres

Setup Postgres:

$ ./setup.sh

Installing ImageMagick (required for CAPTCHA):

On Arch:

$ sudo pacman -S imagemagick librsvg

Usage:

$ crystal build src/invidious.cr
$ ./invidious

Or for development:

$ curl -fsSLo- https://raw.githubusercontent.com/samueleaton/sentry/master/install.cr | crystal eval
$ ./sentry

Extensions

Contributing

  1. Fork it ( https://github.com/omarroth/invidious/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors