Invidious is an alternative front-end to YouTube
 
 
 
 
 
 
Go to file
Omar Roth f38aac851e Fix full channel refresh
assets Fix player margin
config Add 'license'
src Fix full channel refresh
.editorconfig Initial commit
.gitignore Update .gitignore
LICENSE Change license
README.md Update project synopsis
setup.sh Add users table
shard.yml Bump version to match tag

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