Go to file
syeopite 1321c90920
Extract channel routes (#2227)
* Extract primary channel routes from invidious.cr

Also removes timedtext_video stub since all it does is redirect to the
homepage. However, Invidious's 404 handler already does this.

--
As the template for the channel about page doesn't exist yet, the
behavior for the /channel/:ucid/about endpoint has been changed to be
the same as what's currently present on Invidious

(cherry picked from commit 8fad19d8057d7d22e3de27ebbc88a9978c1df27b)

* Manually extract brand_redirect from 1b569bbc99207cae7c20aa285f42477ae361dd30

This commit manually extracts the brand_redirect function from the
commit mentioned.

However, the redirect to the  `.../about` endpoint is removed due to the
fact that it doesn't exist yet.

This commit is also mainly just a bridge for the next few cherry picks from
\#2215

* Update brand_redirect to use youtubei resolve_url

(cherry picked from commit 53335fe7cfdfac392365b7cac447bc7cc6478134)

* Add additional channel endpoints to brand_redirect

(cherry picked from commit 8fc6f3add637dabb09b2034f4d82fc3d039ba15c)

* Add separate handler for /profile endpoint

* Add /channel/:ucid/home route

* Document all channel brand_urls
2021-08-03 23:46:15 +02:00
.github Include liblsquic build in dockerfile + add support for ARM64 on Docker (#2147) 2021-07-15 21:57:20 +00:00
assets Use colorized version of safari-pinned-tab.svg 2021-07-25 16:07:11 -07:00
config config_example.yaml: document all possible options (#2083) 2021-07-16 20:34:40 +02:00
docker Include liblsquic build in dockerfile + add support for ARM64 on Docker (#2147) 2021-07-15 21:57:20 +00:00
kubernetes Remove some mentions of omarroth 2021-01-07 19:01:13 +01:00
locales Update Korean translation 2021-07-29 02:15:57 +02:00
screenshots Rework the README (#2135) 2021-07-24 20:48:30 +02:00
scripts Add ability to propagate locale removals 2021-06-13 07:23:45 -07:00
spec Remove locales consistency check 2021-07-26 00:12:43 +02:00
src Extract channel routes (#2227) 2021-08-03 23:46:15 +02:00
.editorconfig
.gitattributes Only ignore the videojs libraries 2021-05-23 17:59:02 +00:00
.gitignore Untrack config.yml (#1557) 2020-12-10 08:18:30 +01:00
CHANGELOG.md Remove admin_email. Use repos url for captcha ID and reddit header. Add note about not updating changelog 2021-01-07 21:09:24 +01:00
docker-compose.yml Merge pull request #1254 from SuperSandro2000/patch-2 2020-08-03 17:11:50 +02:00
invidious.service
LICENSE
README.md Change README logo to use vector image 2021-07-24 15:14:58 -07:00
shard.lock Bump lsquic.cr shard version to v2.18.1-2 2021-06-10 04:49:19 -07:00
shard.yml Fix crystal overrides (#2295) 2021-08-03 23:44:47 +02:00
TRANSLATION TRANSLATION file for l10n 2020-05-26 18:02:21 +00:00

Invidious logo

Invidious

License: AGPLv3+ Build Status GitHub issues GitHub pull requests Translation Status Awesome Humane Tech

An open source alternative front-end to YouTube

Instances list  •  Documentation  •  Contribute  •  Donate

Chat with us:
Matrix Libera.chat (IRC)

Screenshots

Player Preferences Subscriptions

Features

User features

  • Lightweight
  • No ads
  • No tracking
  • No JavaScript required
  • Light/Dark themes
  • Customizable homepage
  • Subscriptions independant from Google
  • Notifications for all subscribed channels
  • Audio-only mode (with background play on mobile)
  • Support for Reddit comments
  • Available in many languages, thanks to our translators

Data import/export

  • Import subscriptions from YouTube, NewPipe and Freetube
  • Import watch history from NewPipe
  • Export subscriptions to NewPipe and Freetube
  • Import/Export Invidious user data

Technical features

  • Embedded video support
  • Developer API
  • Does not use official YouTube APIs
  • No Contributor License Agreement (CLA)

Quick start

Using invidious:

Hosting invidious:

Documentation

The full documentation can be accessed online at https://docs.invidious.io/

The documentation's source code is available in this repository: https://github.com/iv-org/documentation

Extensions

We highly recommend the use of Privacy Redirect, a browser extension that automatically redirects Youtube URLs to any Invidious instance and replaces embedded youtube videos on other websites with invidious.

The documentation contains a list of browser extensions that we recommended to use along with Invidious.

You can read more here: https://docs.invidious.io/Extensions.md

Contribute

Code

  1. Fork it ( https://github.com/iv-org/invidious/fork ).
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Stage your files (git add .).
  4. Commit your changes (git commit -am 'Add some feature').
  5. Push to the branch (git push origin my-new-feature).
  6. Create a new pull request ( https://github.com/iv-org/invidious/compare ).

Translations

We use Weblate to manage Invidious translations.

You can suggest new translations and/or correction here: https://hosted.weblate.org/engage/invidious/.

Creating an account is not required, but recommended, especially if you want to contribute regularly. Weblate also allows you to log-in with major SSO providers like Github, Gitlab, BitBucket, Google, ...

Projects using Invidious

  • FreeTube: A libre software YouTube app for privacy.
  • CloudTube: A JavaScript-rich alternate YouTube player.
  • PeerTubeify: On YouTube, displays a link to the same video on PeerTube, if it exists.
  • MusicPiped: A material design music player that streams music from YouTube.
  • HoloPlay: Funny Android application connecting on Invidious API's with search, playlists and favoris.

Donate

Bitcoin (BTC): bc1qfhe7rq3lqzuayzjxzyt9waz9ytrs09kla3tsgr

Monero (XMR): 41nMCtek197boJtiUvGnTFYMatrLEpnpkQDmUECqx5Es2uX3sTKKWVhSL76suXsG3LXqkEJBrCZBgPTwJrDp1FrZJfycGPR

Liability

We take no responsibility for the use of our tool, or external instances provided by third parties. We strongly recommend you abide by the valid official regulations in your country. Furthermore, we refuse liability for any inappropriate use of Invidious, such as illegal downloading. This tool is provided to you in the spirit of free, open software.

You may view the LICENSE in which this software is provided to you here.

  1. Limitation of Liability.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.