A lightweight application for searching and streaming videos from YouTube, using the Invidious API and hypervideo support
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trizen 256be95193
quotemeta() the filename of the cookie file when passing it to `hypervideo`.
3 days ago
bin - Implemented `sort_by` and `date` parameters for `/search`. (https://github.com/iv-org/invidious/wiki/API#get-apiv1search) 1 day ago
lib/WWW quotemeta() the filename of the cookie file when passing it to `hypervideo`. 1 day ago
share - Implemented `sort_by` and `date` parameters for `/search`. (https://github.com/iv-org/invidious/wiki/API#get-apiv1search) 1 day ago
t rebrand app 7 months ago
.gitignore Add Makefile to generator tarball 3 months ago
Artistic-2.0.txt Update README.md 6 months ago
Build.PL - Added instance-caching for `_get_video_info()`, `_extract_from_ytdl()` and `_extract_from_invidious()`. 1 day ago
Changes Changes: update 2 months ago
LICENSE rebrand app 7 months ago
MANIFEST rebrand app 7 months ago
MANIFEST.SKIP rebrand app 7 months ago
META.json - Added instance-caching for `_get_video_info()`, `_extract_from_ytdl()` and `_extract_from_invidious()`. 1 day ago
META.yml - Added instance-caching for `_get_video_info()`, `_extract_from_ytdl()` and `_extract_from_invidious()`. 1 day ago
Makefile Add Makefile to generator tarball 3 months ago
Makefile.PL - Added instance-caching for `_get_video_info()`, `_extract_from_ytdl()` and `_extract_from_invidious()`. 1 day ago
README.md Clarify the build dependencies. 1 day ago

README.md

fair-viewer

A lightweight application (fork of youtube-viewer) for searching and playing videos from YouTube, using the API of invidio.us and hypervideo support.

fair-viewer

  • command-line interface to YouTube.

fair-viewer

gtk-fair-viewer

  • GTK+ interface to YouTube.

gtk-fair-viewer

STATUS

The project is in its early stages of development and some features are not implemented yet.

INSTALLATION

To install fair-viewer, run:

    perl Build.PL
    sudo ./Build installdeps
    sudo ./Build install

To install gtk-fair-viewer along with fair-viewer, run:

    perl Build.PL --gtk
    sudo ./Build installdeps
    sudo ./Build install

TRY

For trying the latest commit of fair-viewer, without installing it, execute the following commands:

    cd /tmp
    wget https://libregit.org/heckyel/fair-viewer/archive/master.zip  -O fair-viewer-master.zip
    unzip -n fair-viewer-master.zip
    cd fair-viewer-master/bin
    perl -pi -ne 's{DEVEL = 0}{DEVEL = 1}' {gtk-,}fair-viewer
    ./fair-viewer

CONFIGURATIONS

for fair-viewer, run:

    nano -w "$HOME/.config/fair-viewer/fair-viewer.conf"

for gtk-fair-viewer, run:

    nano -w "$HOME/.config/fair-viewer/gtk-fair-viewer.conf"

DEPENDENCIES

For fair-viewer:

For gtk-fair-viewer:

Build dependencies:

Optional dependencies:

PACKAGING

To package this application, run the following commands:

    perl Build.PL --destdir "/my/package/path" --installdirs vendor [--gtk]
    ./Build test
    ./Build install --install_path script=/usr/bin

INVIDIOUS INSTANCES

Sometimes, the default instance, invidious.snopyta.org, may fail to work properly. When this happens, we can change the API host to some other instance of invidious, such as invidious.tube:

    fair-viewer --api=invidious.tube

To make the change permanent, set in the configuration file:

    api_host => "invidious.tube",

Alternatively, the following will automatically pick a random invidious instance everytime the program is started:

    api_host => "auto",

The available instances are listed at: https://instances.invidio.us/

SUPPORT AND DOCUMENTATION

After installing, you can find documentation with the following commands:

man fair-viewer
perldoc WWW::FairViewer

Copyright © 2012-2020 Trizen

Copyright © 2020 Jesus

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.