# CLI Tube
-Play videos from YouTube (and maybe other sources in the future) from the
+Play videos from YouTube and PeerTube from the
command line using your preferred desktop media player.
-This application is implemented in [Nim language](https://nim-lang.org).
+This application is implemented in [Nim language](https://nim-lang.org) using
+only the standard library.
+
+![clitube screenshot with search term 'baby yoda'](screenshot.png)
## Features
- [x] Search for videos using keywords
-- [ ] Download or watch videos
+- [x] Stream videos
+- [x] Stream music
+- [x] Play direct links from YouTube and PeerTube
+- [x] Stream video from magnet links
+- [ ] Download video
+- [ ] Download music
- [ ] Configuration options
- - [ ] Choice of video players
- - [ ] Show video URLs or not
- - [ ] Play audio only
-- [ ] Pagination of search results
+- [ ] Play magnet links
-## Usage
+## Installation
-### As a script
+CLI Tube depends on the following:
+- youtube-dl
+- mpv (recommended) or vlc
+- peerflix (for magnet links)
-You must have nim installed locally for this to work.
+Download the latest build from GitlabCI (amd64 GNU/Linux only).
```sh
-nim c -d:ssl -r cli_tube.nim emacs
+wget https://gitlab.com/njoseph/cli-tube/-/jobs/artifacts/master/download?job=compile -O artifacts.zip
+unzip artifacts.zip
+```
-# If your search query has multiple words, use quotes
-nim c -d:ssl -r cli_tube.nim 'nim lang'
+
+For other platforms, create a release artifact using the following command:
+
+```sh
+nim c -d:ssl -d:release clitube.nim
```
-### Using the binary
+Copy the binary to a directory on your PATH such as `/usr/local/bin`
-Please use the binary in the repository for now.
-Will setup GitLab CI to publish proper binaries later.
+## Usage
```sh
-./cli_tube emacs
+clitube emacs
-./cli_tube 'nim lang'
+# If your search query has multiple words, use quotes
+clitube 'nim lang'
+
+# Advanced: Play audio of the first search result
+clitube -m -l "counting stars"
+```
+
+### Commandline arguments
+
+| **Arguments** | **Explanation** |
+|---------------|--------------------------------------------|
+| -m, --music | Play Music only, no video |
+| -l, --lucky | Try your luck with the first search result |
+
+## Development
+
+One-liner for compiling and running
+
+```sh
+nim c -d:ssl -r clitube.nim 'nim lang'
```