GithubHelp home page GithubHelp logo

lamarios / clipious Goto Github PK

View Code? Open in Web Editor NEW
673.0 13.0 24.0 82.85 MB

Invidious client for android

License: GNU Affero General Public License v3.0

Kotlin 0.09% Swift 0.16% Objective-C 0.01% Dart 95.77% CMake 1.17% C++ 1.50% C 0.09% HTML 0.24% Java 0.04% JavaScript 0.01% CSS 0.05% Ruby 0.07% Nix 0.28% Shell 0.52%
f-droid fdroid

clipious's Introduction

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 IzzyOnDroid 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.

clipious's People

Contributors

abcpascal avatar ahhbee012795 avatar alexthegib avatar amr-ibra avatar atalanttore avatar atrafon avatar comradekingu avatar egidiocaprino avatar elghusto avatar fitojb avatar flipflop97 avatar get100percent avatar jn1106 avatar kaambiz avatar kefir2105 avatar lamarios avatar matchboxbananasynergy avatar nguyentrongthinh avatar noaqt avatar outlet7493 avatar pazdikan avatar pklion avatar qaz-6 avatar qlend avatar shareasmile avatar softinterlingua avatar stickyburn avatar unnamed-orbert avatar v1s7 avatar wreckingbang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

clipious's Issues

feature req. Display the video title normally

338566.jpg

Right now three words are displayed, while the full title should be displayed. We recommend that you move the video title elsewhere (I don't know how my request can be solved in that place)

Add application icon

This application experience is very convenient, I think it has great potential.
However, it is not used to the application without icons.
I hope the author can continue to develop this application.I believe that in the future at least thousands of stars.
Thank you for your hard work.

Use media_kit for desktop playback support?

It would be nice to have desktop support using media_kit. I am leaving this as a request, using media_kit for desktop is nice since it currently supports windows and linux with someone working on an osx PR.

It has very good performance, and supports a large chunk of mpv's features under the hood with some more advanced work. the main features would get out of it are Split audio/video support so greater then 1080p resolutions. and hwdecode support on desktop platforms.

This is something I may try to implement myself sometime in the future, however I don't have much time lately. I do have a similar PR up for pstube in which case basic groundwork is done (though it uses piped api)

if you would like this feature, don't plan on implementing it, and don't mind waiting, at some point in time I will be able to work on it.

Media Kit Repo
Link to Pstube PR

Forced to change the language

I got German or something like that turned on. I don't know him. I want you to add a setting for forced change of interface language

Allow login using the Cookie SID

App Version: 1.2.0
Build: 1123

Subscriptions + Playlists
Observed Behavior: "Videos konnten nicht abgerufen werden. Tippen Sie, um es erneut zu versuchen." de->en: “Videos could not be loaded. Tap to try again”

Channels
Observed Behavior: Tapping on a channel name gives me an infinite loading screen.

Comments
Observed Behavior: "FormatException: Unexpected character (at character 1)^

feature req. when pressing a button or gesture (#31) to create a panel at the bottom or top

when pressing a button (top left) or gesture (#31) to create a panel at the bottom or top

IMG_20230307_180317.jpg

lv_0_20230307180028.mp4
lv_0_20230307181525.mp4

in this panel will be the name of the video, the channel, and on the left of the names will be a thumbnail of the video. On the right side you can enter the video queue, and on the right side the video queue can close it (panel)

Also, it will be possible to close with a downward gesture.
https://user-images.githubusercontent.com/113500363/223466440-1fa06fab-8156-4859-abb2-ed8d13f7fbdf.mp4

Videos are no loading

Installed Clipious and set my own server, authorized my user, app is loading all videos information but cannot open any video and thumbs are not loading also.
I'm using a Google Pixel 6 with Android 13.
See the printscreen below:

Screenshot_20230307-144636.png

Distraction free mode

This is a very impressive client right out of the gate.

Here are some options I think would be neat....

Option to use DASH Quality

Option to hide distractions (Trending, Comments, etc)

Option to play videos in the background or through PiP.

Option to follow channels or save playlists without an account (saved locally in the app itself)

Video/Thumbnails are not loading

Simply, videos and thumbnails are not loading when using my own "Private Instance".

This issue is quite similar to #41 and a possible solution was provided in #5 but it still would not load.

My invidious setup uses Portainer and to access to my own instance is by using the IP address with its respective Port that is assigned ex. http://192.168.1.69:4476. I am not able to set it up with domains like in #5 as my ISP does not allow port forwarding so I won't be able to access it publicly but that is not a problem.

I was just wondering if there are any other users with my use case and have no problems/solved it?

Fit videos to the screen

It would be nice if all videos (even low resolution videos) will play occuping the whole size of the display.
In other words all videos should be fitted to the screen size while playing.

Feature : subtitles font size

First of all : What a great app ! Thanks ☺️

Would it be possible to add a setting to modify subtiles size ?

On my tablet (11") they are very small.

Sorry for my english ^^

Thanks

Audio only mode

Disclaimer
These are just some suggestions and I am unsure it is even possible to implement these features or if it breaks stuff and TOS for some reason but its still all up to the developer.
I AM NOT FORCING ANYONE TO IMPLEMENT THESE FEATURES JUST A HEADS UP

[Features]

  1. add the option to choose between viewing the video as it is or just the audio. may also add a different interfaces when the "audio only" option is selected to something like YT Music (just a reference).

  2. add a download button to download the videos or audio like in the default invidious websites and save them to a folder that is either predefined like the android downloads/videos/audio folder or let the user choose/make the directory themselves.

The app can then maybe have a separate "tab" or slide-in menu that lists out the downloaded videos/audio and is able to view it in the app in a separate activity tab for only the downloaded files. or when the user searches for the same video or audio, the app can then just use the "download/cached" files instead and not waste bandwidth or data just like iTube/BG Player. reference (https://www.youtube.com/watch?v=qc-EwBtSdBU) not my video btw but i do have the app XD.

  1. find a way to detect the if its a landscape video and will then set it to landscape since on my side, all videos are still in portrait mode and i would have to enable auto-rotate (i normally don't enable it).

  2. could also add timers, that is set up by the user, to turn the video or audio off automatically once the timer ends.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.