Tubo is an alternative web front-end to various streaming sites. It aims to free users from the world of ad-ridden streaming sites by providing a distraction-free interface to consume content from. It currently supports the following platforms:
To retrieve the data, it leverages the excellent NewPipe Extractor library that powers the popular NewPipe Android app. Tubo exposes the extracted data over a REST API that is consumed by a local re-frame SPA.
The ultimate goal behind Tubo is to replicate the Newpipe experience on the web, so that it's accessible to those that don't use an Android device.
The easiest way to set up Tubo's dependencies is via the GNU Guix package manager. Simply invoke what follows:
cd /path/to/tubo
guix shell
To run the application, first compile the downloader ahead-of-time.
clojure -M -e "(compile 'tubo.downloader-impl)"
Fetch the front-end dependencies and build the front-end assets.
npm i
npm run build
Then, compile the front-end.
clojure -M:frontend compile tubo
You can now start a local server that listens on port 3000 by running the following:
clojure -M:run
Access the front-end in your browser at http://localhost:3000
.
You can send feedback, patches, or bug reports to public@mianmoreno.com.