Invidious is an alternative front-end to YouTube https://invidio.us/

Omar Roth e122d68acc 0.7.0 5 years ago
assets b3ca3922a9 Add experimental dash support 5 years ago
config 51d00b16c3 Use hash instead of btree for channel_videos_ucid_idx 5 years ago
src b3ca3922a9 Add experimental dash support 5 years ago
.editorconfig 26959020b7 Initial commit 6 years ago
.gitignore be4eda91e0 Update .gitignore 5 years ago
CHANGELOG.md bead12d6d0 Add styling for commits to CHANGELOG 5 years ago
LICENSE d7d905447f Change license 6 years ago
README.md 2ac89d5e00 Update project synopsis 5 years ago
setup.sh 6c4cfbe39d Add users table 6 years ago
shard.yml e122d68acc 0.7.0 5 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