Invidious, install this alternative YouTube front-end on Ubuntu

about invidious

In the next article we are going to take a look at Invidious. This is a Alternative front end to YouTube that does not use the official YouTube API. Instead, it will analyze the source code of this platform to obtain the necessary information, in the same way that projects such as youtube-dl. It will process user requests through the server on which it is installed, positively affecting the use by users. The project code it is written in the Crystal programming language and uses PostgreSQL. It is distributed under the AGPLv3 license.

Invidious, it looks a lot like the popular HookTube web service. This had to be stopped after Google alerted its creator about a violation of the terms of the YouTube API.

General features of Invidious

playing videos in Invidious

  • Is free software (AGPLv3 license). To avoid the problems HookTube had, the Invidious API works with FreeTube, the MusicPiped music player, and the CloudTube website. Doesn't use any of YouTube's official APIs.
  • This application will allow users to watch YouTube videos without advertising and without Google tracking.
  • We will have the possibility of import or export subscriptions, have a browsing history or configure it through the different options it provides.

invidious capture on a mobile

  • It will fit perfectly in your Mobile Version.
  • We are also going to find the option of manage subscriptions. We will be able to see only the unvisited videos or the most recent videos. At the same time we will have the possibility of importing subscriptions from our YouTube account.
  • We will be able download the videos or just the audio.
  • It is not necessary to create a Google account to save our subscriptions.

search in invidious

  • We will have the possibility of using a dark mode in the interface.
  • In the player you can set different options such as; speed, quality, autoplay or loop.
  • Bypassing locks in case the video is not available for the user's country. Although this I think you have to configure it.

video comments on invidious

  • Includes Reddit comment support instead of Youtube comments.
  • We will have the possibility to use a Developer API.
  • For those interested in test it before installing, they can do it by visiting the web page where it is mounted the service.

To consult all features available, you can access the list available in the GitHub page of the project.

Install Invidious on Ubuntu

If anyone is interested in mount this front-end on a server or on your personal computer, you can do it more or less easily. For this example, the installation will be done locally on a system Ubuntu 18.10. Before proceeding, it is necessary to install some dependencies necessary for proper operation.

history in invidious

Users of Debian, Ubuntu or any derivative of these we can follow the installation steps shown on your GitHub page, which are the same as the ones we are going to see below. To follow them, you have to open a terminal (Ctrl + Alt + T) and execute:

import invidious public key

curl -sSL https://dist.crystal-lang.org/apt/setup.sh | sudo bash

The above command will add the signing key and repository settings. If you prefer to do it manually, which is the option that I have followed for this example, run the following commands:

add key invidious

curl -sL "https://keybase.io/crystal/pgp_keys.asc" | sudo apt-key add -

add invidious repo

echo "deb https://dist.crystal-lang.org/apt crystal main" | sudo tee /etc/apt/sources.list.d/crystal.list

We continue to update the list of APT packages and installing dependencies:

sudo apt update

add invidious requirements

sudo apt install crystal libssl-dev libxml2-dev libyaml-dev libgmp-dev libreadline-dev librsvg2-dev postgresql imagemagick libsqlite3-dev

Add user and clone repository

add user and invidious repo

sudo useradd -m invidious

sudo -i -u invidious

git clone https://github.com/omarroth/invidious

exit

Configure PostgresSQL

postgres setup invidious

sudo systemctl enable postgresql

sudo systemctl start postgresql

sudo -i -u postgres

psql -c "CREATE USER kemal WITH PASSWORD 'kemal';"

createdb -O kemal invidious

psql invidious < /home/invidious/invidious/config/sql/channels.sql

psql invidious < /home/invidious/invidious/config/sql/videos.sql

psql invidious < /home/invidious/invidious/config/sql/channel_videos.sql

psql invidious < /home/invidious/invidious/config/sql/users.sql

psql invidious < /home/invidious/invidious/config/sql/session_ids.sql

psql invidious < /home/invidious/invidious/config/sql/nonces.sql

exit

Configure Invidious

setup invidious 1

sudo -i -u invidious

cd invidious

shards update && shards install

crystal build src/invidious.cr --release

Now we can test compiled binary. To access the test, in this case you just have to open the URL http://0.0.0.0:3000 in a browser. To stop the test you just have to press Ctrl + c in the terminal.

test compiled invidious

./invidious

exit

Systemd service

systemd invidious service

sudo cp /home/invidious/invidious/invidious.service /etc/systemd/system/invidious.service

sudo systemctl enable invidious.service

sudo systemctl start invidious.service

Invidious preferences

For more information about the use can be consult the Wiki they offer on the project's GitHub page.


3 comments, leave yours

Leave a Comment

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

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   Enrique said

    Hello, I have followed all the passes one by one, copying and pasting in the terminal and it has not worked for me, it is more because of that I have been able to notice that the browsers are much slower from that moment, I do not know what has been possible pass, I use ubuntu mate 16.04 lts 32bit, to see if you could give me a hand with this, otherwise everything is fine, thanks.

    1.    Damien Amoedo said

      Hello. I don't really know what you mean. If your browsers are running slow, uninstall the dependencies you installed and remove the invidious user and folder that should have been created in / home.
      As for why it doesn't work for you, I recommend that you take a look at the section Issues which you'll find on the project's GitHub page. Maybe there you find a solution to your particular problem.
      Salu2.

  2.   Enrique said

    Hello, in managed to eliminate crystal through the synaptic package manager, but the invidious folder that is in home does not, I have used the command rm -r invidious from the cd / home directory and I can't, with respect to the others repositories and I get lost even more, I'm very new and I'm still very green on the subject of ubuntu, I don't know if you could tell me something else.
    Thank you.