/clipious

Invidious client for android

Primary LanguageDartGNU Affero General Public License v3.0AGPL-3.0

Clipious

license agpl v3 Android client application for invidious, the privacy focused youtube front end

Build Status

Community

Join the matrix channel

License

Copyright (C) 2023 Paul Fauchon

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Features

  • Use own or public server
  • Subscription management
  • SponsorBlock + DeArrow (click bait removal)
  • Video view/progress tracking
  • Playlists
  • background playback
  • Live stream support
  • Android TV ui
  • Audio playback
  • Video / audio download
  • Video filtering
  • Return YouTube dislikes

Installation

The best way to install is to get it directly from the release page. Using Obtainium can help keeping the app up to date.

It is also available on F-Droid, IzzyOnDroid, and Accrescent:

Get it on F-Droid Get it on Accrescent

Or download the latest APK from the Releases Section.

TV

For TV users it is recommended to use Accrescent as it works well enough on TV and allows updates.

Screenshots

Phone

Home Video Channel Playlist

Tablet

Home Video Channel Playlist

TV

Home Home Video Video Channel Playlist Playlist

Facing an issue ?

Contribute

Code

To get started, you'll need to create a fork of the repo and might run:

git submodule init
git submodule update
#enable git pre commit hooks for auto formatting
./submodules/flutter/bin/dart run tools/setup_git_hooks.dart

or using nix that will handle all the above plus starting a working invidious instance with user test and password test.

nix-shell

Flutter itself is used as a submodule of this repo in order to pin the version I want to use to enable reproducible build on f-droid

You'll need to also set up your android SDK and a device / emulator to run the app on.

Tests

The app has some tests and they expect to have a locally running invidious server, with a test user (password test).

The easy way it to use nix and run

nix-shell

That will spin a postgres DB, an invidious server and the required user (this is how the tests are run in the ci/cd).

Nothing keeps you to run your own user docker or other ways.

Alternatively, you can directly run the tests with its environment:

nix-shell --run './submodules/flutter/bin/flutter test'

Translations

Translation status

The translations are done via weblate.

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.