in ,

omarroth / invidious, Hacker News

omarroth / invidious, Hacker News


                    

        

Build Status

Invidious is an alternative front-end to YouTube

  • Audio-only mode (and no need to keep window open on mobile)
  • Free software(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, preferences
  • Does not use any of the official YouTube APIs
  • DeveloperAPI

Liberapay:https://liberapay.com/omarroth
BTC: 356 DpZyMXu6rYd 55 Yqzjs (n) kGKWcYrY
BCH: qq4ptclkzej5eza6a (et5ggc) hxsq5aylqut2npk

Invidious Instances

SeeInvidious Instancesfor a full list of publicly available instances.

Official Instances

Screenshots

Installation

SeeInvidious-Updaterfor a self-contained script that can automatically install and update Invidious.

Docker:

Build and start cluster:

And visitlocalhost: 3000in your browser.

Rebuild cluster:

Delete data and rebuild:

$ docker volume rm invidious_postgresdata $ docker-compose build

Linux:

Install dependencies

#  (Arch Linux)  $ sudo pacman -S shards crystal librsvg postgresql#  (Ubuntu or Debian)#First you have to add the repository to your APT configuration. For easy setup just run in your command line:$ curl -sSL https://dist.crystal-lang.org/apt/setup.sh|sudo bash#That will add the signing key and the repository configuration. If you prefer to do it manually, execute the following commands:$ curl -sL""https://keybase.io/crystal/pgp_keys.asc"|sudo apt-key add - $  (echo)"deb https://dist.crystal-lang.org/apt crystal main"|sudo tee /etc/apt/sources.list.d/crystal .list $ sudo apt-get update $ sudo apt install crystal libssl-dev libxml2-dev libyaml-dev libgmp-dev libreadline-dev postgresql librsvg2-bin libsqlite3-dev

Add invidious user and clone repository

$ useradd -m invidious $ sudo -i -u invidious $ git clone https://github.com/omarroth/invidious $exit

Setup PostgresSQL

$ sudo systemctl  (enable)  postgresql $ sudo systemctl start postgresql $ sudo -i -u postgres $ psql -c""CREATE USER kemal WITH PASSWORD 'kemal';"#Change 'kemal' here to a stronger password, and update `password` in config / config.yml$ createdb -O kemal invidious $ psql invidious kemal/home/invidious/invidious/config/sql/channels.sql $ psql invidious kemal/home/invidious/invidious/config/sql/videos.sql $ psql invidious kemal/home/invidious/invidious/config/sql/channel_videos.sql $ psql invidious kemal/home/invidious/invidious/config/sql/users.sql $ psql invidious kemal/home/invidious/invidious/config/sql/session_ids.sql $ psql invidious kemal/home/invidious/invidious/config/sql/nonces.sql $ psql invidious kemal/home/invidious/invidious/config/sql/annotations.sql $exit

Setup Invidious

$ sudo -i -u invidious $CDinvidious $ shards update&&shards install $ crystal build src / invidious.cr --release#test compiled binary$ ./invidious#stop with ctrl c$exit

systemd service

$ sudo cp /home/invidious/invidious/invidious.service /etc/systemd/system/invidious.service $ sudo systemctlenableinvidious.service $ sudo systemctl start invidious.service

OSX:

#Install dependencies$ brew update $ brew install shards crystal postgres imagemagick librsvg#Clone repository and setup postgres database$ git clone https://github.com/omarroth/invidious $CDinvidious $ brew services start postgresql $ psql -c""CREATE ROLE kemal WITH PASSWORD 'kemal';"#Change 'kemal' here to a stronger password, and update `password` in config / config.yml$ createdb -O kemal invidious $ psql invidious kemalconfig / sql / channels.sql $ psql invidious kemalconfig / sql / videos.sql $ psql invidious kemalconfig / sql / channel_videos.sql $ psql invidious kemalconfig / sql / users.sql $ psql invidious kemalconfig / sql / session_ids.sql $ psql invidious kemalconfig / sql / nonces.sql $ psql invidious kemalconfig / sql / annotations.sql#Setup Invidious$ shards update&&shards install $ crystal build src / invidious.cr --release

Update Invidious

You can see how to update Invidioushere.

Usage:

$ ./invidious -h Usage: invidious [arguments]     -b HOST, --bind HOST Host tobind(defaults to 0.0.0.0)     -p PORT, --port PORT Port to listenforconnections (defaults to 3000)     -s, --ssl Enables SSL     --ssl-key-file FILE SSL key file     --ssl-cert-file FILE SSL certificate file     -h, --help Shows thishelp    -c THREADS, --channel-threads=THREADS                                      Number of threadsforrefreshing channels (default: 1)     -f THREADS, --feed-threads=THREADS                                      Number of threadsforrefreshing feeds (default: 1)     -o OUTPUT, --output=OUTPUT Redirect output (default: STDOUT)     -v, --version Print version

Or for development:

$ curl -fsSLo- https://raw.githubusercontent.com/samueleaton/sentry/master/install.cr|crystal  (eval)  $ ./sentry 🤖 Your SentryBot is vigilant. beep-boop ...

Documentation

Documentationcan be found in the wiki.

Extensions

Extensionscan be found in the wiki, as well as documentation for integrating it into other projects.

Made with Invidious

  • FreeTube: An Open Source YouTube app for privacy.
  • (CloudTube) : A JS-rich alternate YouTube player
  • PeerTubeify: On YouTube, displays a link to the same video on PeerTube, if it exists.
  • (MusicPiped) : A materialistic music player that streams music from YouTube.

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

Contact

Feel free to send an email to ([email protected]) or join our (Matrix Server) , or #invidious on Freenode.

You can also view release notes on the (releases) page or in the CHANGELOG.md included in the repository.

License

GNU AGPLv3 Image

Invidious is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and / or modify it under the terms of theGNU Affero General Public Licenseas published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

  

Brave Browser
Read More
Payeer

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *

GIPHY App Key not set. Please check settings

Xbox Nails Age of Empires IV Setting With Medieval Era Warfare, Crypto Coins News

Xbox Nails Age of Empires IV Setting With Medieval Era Warfare, Crypto Coins News

Saudi Aramco’s IPO: What to know about the world’s most profitable company’s public offering, Recode

Saudi Aramco’s IPO: What to know about the world’s most profitable company’s public offering, Recode