npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

show-time

v6.4.2

Published

Watch episodes of your favorite TV shows with a simple CLI, using http://showrss.info and peerflix

Downloads

118

Readme

show-time

Watch episodes of your favorite TV shows with a simple CLI, using http://showrss.info

Required: Node ≥ 6

Main features

  • Shows and plays latest episode from your own showrss feed, or movies from usual torrent providers
  • Browse mode: if you don't want to bother creating your showrss feed, want to discover a new serie or watch older episodes, this mode will list all available shows, then all available episodes, enjoy!
  • Download mode: only download episodes (run multiple instances of this the days before your long train trip)
  • Offline mode: browse and watch previously downloaded episodes (during your long train trip)

Installation

  • Using npx (included in npm ≥ 5.3.0): run with npx show-time and skip install
  • Using npm: npm install -g show-time
  • Using yarn: yarn global install show-time

Configuration (optional)

Those steps are optional, you can just run show-time and skip the feed option, you'll be in "Browse mode" by default.

  • Register at ShowRSS (just a login/password, no mail or real name)
  • Configure your feed, just follow the steps on the website
  • Run show-time --configure to initialize your configuration

Usage

show-time
  • Select your episode, subtitles, and enjoy :)

Alternative usages

show-time provides a personal experience when used with showrss, but you have many options to enjoy your show without any configuration required:

  • View a given show's episodes: show-time <title>
    • Note: using initials can work too (eg. show-time twd will bring you The Walking Dead's episodes)
  • Browse all shows: show-time --browse
  • Search for movies: show-time --movie

In all cases you can add --download option to just download, and watch later with show-time --offline

Simply enjoy :)

Demo

CLI options

  <title>          Directly select this show (ignoring your feed)
  --version, -v    Show version and exit
  --help, -h       Show this help and exit
  --clear-cache    Clears cache and exit
  --configure      Configuration wizard
  --config <file>  Use alternative configuration file
  --cache <path>   Path to cache (--no-cache to disable)
  --player <name>  Automatically play to given player
  --feed <url>     ShowRSS feed URL
  --lang <lang>    Preferred language for subtitles
  --download       Download mode
  --offline        Offline mode
  --browse         Browse mode
  --movie          Movie mode

Valid players: chromecast, vlc, airplay, mplayer, smplayer, mpchc, potplayer, mpv, omx, webplay, jack

Known bugs

  • It happens castnow fails to start, I quit and restart a few seconds/minutes later and it works again

How it works

  • show-time grabs your RSS feed from showrss.info to show a list of recently available episodes
  • It will then search on opensubtitles.org for subtitles (results cached for 1 hour)
  • Once the torrent magnet and the subtitles grabbed, it runs peerflix to download and play video

Special modes

Download mode

Option --download is an alias to --no-player --port=0 --peer-port=0:

  • --no-player disable playing video once ready
  • --port=0 and --peer-port=0 sets Peerflix's bound ports to 0, which means arbitrary defined by operating system

Binding arbitrary free ports and not playing video means you can run the command as many times as you want.

Offline mode

In offline mode, show-time will only fetch information already in cache:

  • You select an episode amongst those already (even partially) previously downloaded
  • You can use downloaded subtitles, but won't download new ones
  • Video is played immediately

This mode works particularly fine with download mode: run show-time --download to fetch a full episode, then once disconnected run show-time --offline and here you go :)

Browse mode

show-time will ignore your feed (previously configured or not) and fetch all available shows from showrss.info:

  • Search amongst the shows to select the one you want to see (just type to filter)
  • Specific feed is used to liste available episodes for this show only
  • That's all folks
  • Lazy? If cache was enabled, your previously selected shows will appear first in the list

All other options (cache, download…) will apply, except --offline which is obviously incompatible. If cache is enabled, video will be stored in usual place and will be accessible from Offline mode like any other.

Movie mode

show-time will ignore your feed (previously configured or not) and display a search box for movies:

  • Search by title with YTS API (more to come, and sorry for the weird results their engine looks buggy, like 'Doctor St' will return nothing but 'Doctor S' and 'Doctor Strange' will work)
  • Then select quality, subtitles, usual stuff…
  • If cache is enabled it will simply be stored amongst your TV shows

All other options (cache, download…) will apply, except --offline which is obviously incompatible. If cache is enabled, video will be stored in usual place and will be accessible from Offline mode like any other.

The cache

A lot of things are put in the cache, which is located at $HOME/.show-time/cache:

  • The downloaded torrents
  • OpenSubtitles results (.json)
  • Subtitles (.srt)

You can remove files manually, or you can empty the whole cache with show-time --clear-cache

Alternatives

  • torrentflix does a nice job for movies, less useful for TV shows. You'll be asked for choosing amongst many search engines, while show-time is limited to YTS (piratebay on the way, using proxies).
  • PopCorn-Time well, it's obviously best option, but it's gone. Plus it wasn't really TV-shows friendly and a GUI is not always the fastest way to enjoy your show.
  • torrent-live really takes your privacy seriously, great deal! however you won't find search or feeds, support for subtitles, and it does not seem maintained.
  • pw3 works great for TV shows and has a nice "Marathon" option, but relies on kat.cr which is currently down.
  • termflix is deprecated in favor of torrentflix, but has a nice Marathon option too.

Those alternatives, like show-time have their pros and cons. Some of their options I'd like to implement here (Marathon mode, better search for movies and subtitles), but meanwhile choose the right tool for your fun :)

Future

If you want to contribute to this project, here are some ideas:

  • Enable Download mode to work quietly in background, and add ability to exit when downloaded 100%.
  • Make it possible to use DuckieTV instead of showrss, maybe the default so we don't rely on a third-party service for the subscriptions.
  • Rely on torrent-search-api instead of my own implementations for movies search.
  • Use subdb: very accurate subtitles (based on file hash) but usually only English subtitles are really available (which is anyway what you're already used to if you watch episodes quickly).
  • Add option to delete downloaded episode once it's viewed.
  • Track viewed episodes to remove them from proposed list, then add Marathon mode.