2019-01-05 20:27:22 -06:00
|
|
|
===============================================================================
|
2019-03-15 22:55:15 -05:00
|
|
|
SHELLTUBE Browse YT with a hood on
|
2019-01-05 20:27:22 -06:00
|
|
|
===============================================================================
|
2019-03-15 22:55:15 -05:00
|
|
|
shelltube is a simples shell-script that lets you browse Youtube--
|
|
|
|
searching for playlists, videos, channels, showing their metadata
|
|
|
|
(including items on playlsits and channels, etc) all from the terminal.
|
2019-01-05 20:27:22 -06:00
|
|
|
|
2019-03-15 22:55:15 -05:00
|
|
|
It YouTube quickly, and entirely without a captive UI.
|
2019-01-05 20:27:22 -06:00
|
|
|
|
2019-03-15 22:55:15 -05:00
|
|
|
shelltube is written in pure shell; its only dependencies are any
|
|
|
|
modern shell (pdksh, bash, zsh), lynx, and curl/wget/ftp.
|
2019-01-05 20:27:22 -06:00
|
|
|
|
2019-03-15 22:55:15 -05:00
|
|
|
Your terminal should accept ANSI color-codes, and be >79chars wide,
|
|
|
|
for best experience~
|
2019-01-05 20:27:22 -06:00
|
|
|
|
2019-03-15 22:55:15 -05:00
|
|
|
shelltube isn't for downloading videos-- it's for *browsing* for them.
|
|
|
|
Use youtube-dl or something for that, that's not my job. :P
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------
|
|
|
|
INSTALLATION
|
|
|
|
----------------------------------------
|
|
|
|
Just place "ytlib.sh" in either the CWD, ./lib/ytlib.sh, /usr/lib/, or
|
|
|
|
/usr/local/lib/
|
|
|
|
|
|
|
|
Then put `gendl` and `yt` in your $PATH. /usr/local/bin/ is nice (IMO),
|
|
|
|
or ~/bin/.
|
|
|
|
|
|
|
|
Profit!
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------
|
|
|
|
EXAMPLES
|
|
|
|
----------------------------------------
|
|
|
|
yt video --search "wixoss op 1"
|
|
|
|
yt v -s "wixoss op 1"
|
|
|
|
|
|
|
|
yt playlist --search "my hero academia ops"
|
|
|
|
yt p -s "my hero academia ops"
|
|
|
|
|
|
|
|
yt playlist --title "PLY4D6ucZdLWC_yM3R_A1Hj9fAXZO_rSeK"
|
|
|
|
yt p -t "PLY4D6ucZdLWC_yM3R_A1Hj9fAXZO_rSeK"
|
|
|
|
|
|
|
|
yt playlist --list "PLY4D6ucZdLWC_yM3R_A1Hj9fAXZO_rSeK"
|
|
|
|
yt p -l "PLY4D6ucZdLWC_yM3R_A1Hj9fAXZO_rSeK"
|
|
|
|
|
|
|
|
yt video --author "https://youtube.com/watch?v=yu0HjPzFYnY"
|
|
|
|
yt v -a "https://youtube.com/watch?v=yu0HjPzFYnY"
|
|
|
|
|
|
|
|
yt video --desc "https://youtube.com/watch?v=yu0HjPzFYnY"
|
|
|
|
yt v -d "https://youtube.com/watch?v=yu0HjPzFYnY"
|
|
|
|
|
|
|
|
yt video --date "https://youtube.com/watch?v=yu0HjPzFYnY"
|
|
|
|
yt v -D "https://youtube.com/watch?v=yu0HjPzFYnY"
|
2019-01-05 20:27:22 -06:00
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------
|
|
|
|
USAGE
|
|
|
|
----------------------------------------
|
|
|
|
|
2019-03-15 22:55:15 -05:00
|
|
|
YT
|
2019-01-23 20:17:29 -06:00
|
|
|
--------------------
|
2019-03-15 22:55:15 -05:00
|
|
|
`yt` is the shelltube script-- it's executed with a subcommand [arguments]
|
|
|
|
system, like `apt` or `git`.
|
|
|
|
|
|
|
|
USAGE: yt subcommand action [arguments]
|
|
|
|
|
|
|
|
The subcommands are:
|
|
|
|
* (v)ideo
|
|
|
|
* (p)laylist
|
|
|
|
|
|
|
|
They refer to actions related to videos and playlists, respectively.
|
2019-01-05 20:27:22 -06:00
|
|
|
|
2019-03-15 22:55:15 -05:00
|
|
|
Every subcommand and action thereof supports "-h" and "--help".
|
2019-01-05 20:27:22 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
2019-03-15 22:55:15 -05:00
|
|
|
YT VIDEO
|
2019-01-23 20:17:29 -06:00
|
|
|
--------------------
|
2019-03-15 22:55:15 -05:00
|
|
|
`yt video` is for anything related to videos-- here it is:
|
|
|
|
|
|
|
|
USAGE: yt (v)ideo [action]
|
|
|
|
|
|
|
|
Here are the actions:
|
|
|
|
|
|
|
|
SHORT LONG ARGUMENTS
|
|
|
|
----------------------------------------------
|
|
|
|
-s --search [-csmb] search_query
|
|
|
|
-t --title url/id
|
|
|
|
-d --desc url/id
|
|
|
|
-v --views url/id
|
|
|
|
-a --author [-nu] url/id
|
|
|
|
-D --date url/id
|
|
|
|
|
|
|
|
The only actions with weird arguments are --search and --author:
|
|
|
|
* normally, --author returns the channel URL and name on two
|
|
|
|
seperate lines
|
|
|
|
* "--author -n" returns only the name
|
|
|
|
* "--author -u" returns only the URL
|
|
|
|
|
|
|
|
* normally, --search prints results in the "big" format (title on
|
|
|
|
one line, other metadata on second line)
|
|
|
|
* "--search -c" for "compact" format, etc.
|
|
|
|
* "-c", "-s", "-m", "-b", for "compact", "small", "medium", and "big",
|
|
|
|
respectively
|
|
|
|
|
|
|
|
|
|
|
|
YT PLAYLIST
|
|
|
|
--------------------
|
|
|
|
`yt playlist` is for anything related to playlists-- here it is:
|
|
|
|
|
|
|
|
USAGE: yt (p)laylist [action]
|
|
|
|
|
|
|
|
Here are the actions:
|
|
|
|
|
|
|
|
SHORT LONG ARGUMENTS
|
|
|
|
----------------------------------------------
|
|
|
|
-s --search [-csmb] search_query
|
|
|
|
-l --list [-csmb] url/id
|
|
|
|
-t --title url/id
|
|
|
|
-v --views url/id
|
|
|
|
-a --author [-nu] url/id
|
|
|
|
-D --date url/id
|
|
|
|
|
|
|
|
The only actions with weird arguments are --search, --list and --author:
|
|
|
|
* --author acts just like "video --author"
|
|
|
|
* --search acts just like "video --search"
|
|
|
|
* --list acts just like --search, with [-csmb]
|
|
|
|
|
|
|
|
|
|
|
|
YT CHANNEL
|
|
|
|
--------------------
|
|
|
|
`yt channel` is for anything related to channels-- here it is:
|
|
|
|
|
|
|
|
USAGE: yt (c)hannel [action]
|
|
|
|
|
|
|
|
Here are the actions:
|
|
|
|
|
|
|
|
SHORT LONG ARGUMENTS
|
|
|
|
----------------------------------------------
|
|
|
|
-s --search [-csmb] search_query
|
|
|
|
-l --list [-csmb] url/id
|
|
|
|
-t --title url/id
|
|
|
|
-d --desc url/id
|
|
|
|
-v --subscribers url/id
|
|
|
|
-D --date url/id
|
2019-01-05 20:27:22 -06:00
|
|
|
|
2019-03-15 22:55:15 -05:00
|
|
|
The only actions with weird arguments are --search, --list and --author:
|
|
|
|
* --search acts just like "video --search"
|
|
|
|
* --list acts just like "playlist --search"
|
2019-01-23 20:17:29 -06:00
|
|
|
|
|
|
|
|
|
|
|
GENDL
|
|
|
|
--------------------
|
2019-01-05 20:27:22 -06:00
|
|
|
There is another script that comes with shelltube (which it uses
|
2019-01-23 20:17:29 -06:00
|
|
|
extensively: gendl.
|
2019-01-05 20:27:22 -06:00
|
|
|
|
|
|
|
gendl can download files on a system that has at least one of these:
|
|
|
|
* ftp
|
|
|
|
* wget
|
|
|
|
* curl
|
|
|
|
|
|
|
|
... to stdout or to a file.
|
|
|
|
|
2019-01-23 20:17:29 -06:00
|
|
|
yt-search and yt-desc use gendl--
|
2019-01-05 20:27:22 -06:00
|
|
|
so make sure they're both in the same directory (or, at least, that
|
|
|
|
gendl is in your $PATH)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------
|
|
|
|
BORING STUFF
|
|
|
|
----------------------------------------
|
|
|
|
License is in COPYING.txt (GNU GPLv3~! <3)
|
|
|
|
Author is Jenga Phoenix <jadedctrl@teknik.io>
|
2019-03-15 22:55:15 -05:00
|
|
|
Sauce is at https://git.eunichx.us/shelltube.git
|