A lightweight application (fork of straw-viewer) for searching and playing videos from YouTube.
This fork parses the YouTube website directly and relies on the invidious instances only as a fallback method.
- command-line interface to YouTube.
- GTK+ interface to YouTube.
- Alpine Linux:
doas apk add pipe-viewer
- Alt Linux: https://packages.altlinux.org/en/sisyphus/srpms/pipe-viewer/
- Arch Linux (AUR): https://aur.archlinux.org/packages/pipe-viewer-git/
- Debian/Ubuntu (MPR): Latest stable version https://mpr.makedeb.org/packages/pipe-viewer .Latest dev version https://mpr.makedeb.org/packages/pipe-viewer-git . MPR is like the AUR, but for Debian/Ubuntu. You need to install makedeb first https://www.makedeb.org/ .
- Void Linux:
sudo xbps-install pipe-viewer
- Parabola GNU/Linux-libre:
pacman -S pipe-viewer
- Gentoo Linux (kske overlay):
eselect repository enable kske && emerge -av net-misc/pipe-viewer
- Guix:
Pipe-Viewer can be deployed on any GNU/Linux distribution using Guix.
To install in the user's default profile, do
guix install pipe-viewer
. To test without installing, doguix environment --pure --ad-hoc pipe-viewer mpv -- pipe-viewer
.
-
[EN] How-to install pipe-viewer in Debian
-
[EN] pipe-viewer – lightweight YouTube client
-
[EN] Pipe-Viewer and Straw-Viewer -- Search Youtube via Terminal - Linux CLI
-
[TW] Pipe-viewer!有史以來最佳的 YouTube 體驗就在這裡~
For trying the latest commit of pipe-viewer
, without installing it, execute the following commands:
cd /tmp
wget https://github.com/trizen/pipe-viewer/archive/main.zip -O pipe-viewer-main.zip
unzip -n pipe-viewer-main.zip
cd pipe-viewer-main
./bin/pipe-viewer
To install pipe-viewer
, run:
perl Build.PL
sudo ./Build installdeps
sudo ./Build install
To install gtk-pipe-viewer
along with pipe-viewer
, run:
perl Build.PL --gtk
sudo ./Build installdeps
sudo ./Build install
- Gtk3
- File::ShareDir
- + the dependencies required by pipe-viewer.
- Local cache support: LWP::UserAgent::Cached
- Better STDIN support (+history): Term::ReadLine::Gnu
- Faster JSON deserialization: JSON::XS
- Fixed-width formatting: Unicode::LineBreak or Text::CharWidth
- For the
*_parallel
config-options: Parallel::ForkManager - yt-dlp or youtube-dl.
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
To use invidious instances, pass the --invidious option:
pipe-viewer --invidious
or set in the configuration file (~/.config/pipe-viewer/pipe-viewer.conf
):
prefer_invidious => 1,
To use a specific invidious instance, like invidious.fdn.fr, pass the --api=HOST
option:
pipe-viewer --invidious --api=invidious.fdn.fr
To make the change permanent, set in the configuration file:
api_host => "invidious.fdn.fr",
When api_host
is set to "auto"
, pipe-viewer
picks a random invidious instance from api.invidious.io.
After installing, you can find documentation with the following commands:
man pipe-viewer
perldoc WWW::PipeViewer
Copyright (C) 2012-2024 Trizen
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 https://dev.perl.org/licenses/ for more information.