Invidious is an alternative front-end to YouTube
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
Omar Roth 4f91854bd3 Fix typo 6 years ago
assets Change the color of progressBar marker 6 years ago
config Add 'https_only' default 6 years ago
src Fix typo 6 years ago
.editorconfig Initial commit 7 years ago
.gitignore Update .gitignore 6 years ago
LICENSE Change license 7 years ago
README.md Update project synopsis 6 years ago
setup.sh Add users table 7 years ago
shard.yml Bump supported Crystal version 6 years ago

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