README 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # -*- mode: org; org-html-head-include-default-style: nil; org-html-postamble: nil; -*-
  2. #+OPTIONS: toc:nil num:nil
  3. * Tubo
  4. Tubo is a streaming front-end focused on bringing the [[https://github.com/TeamNewPipe/NewPipe][NewPipe]] experience to the web. It currently supports the same platforms as NewPipe, including YouTube, SoundCloud, and more.
  5. To retrieve the data, it wraps the excellent [[https://github.com/TeamNewPipe/NewPipeExtractor][NewPipe Extractor]] library and exposes the extracted data over a REST API that is consumed by a local re-frame SPA.
  6. ** Try It Out
  7. You can try a live demo at https://tubo.mianmoreno.com but beware this is hosted on a personal low-end VPS. If you can, please consider self-hosting Tubo and let me know about your instance via the [[*Contributing][contribution methods]]. See [[*Installation][installation]] for ways to set up Tubo in your server.
  8. ** Installation
  9. *** Manual
  10. The easiest way to set up Tubo's dependencies is via the [[https://guix.gnu.org/][GNU Guix]] package manager. Simply invoke what follows:
  11. #+begin_src sh
  12. cd /path/to/tubo
  13. guix shell
  14. #+end_src
  15. To run the application, first compile the downloader ahead-of-time.
  16. #+begin_src sh
  17. clojure -M -e "(compile 'tubo.downloader-impl)"
  18. #+end_src
  19. Fetch the front-end dependencies and build the front-end assets.
  20. #+begin_src sh
  21. npm i
  22. npm run build
  23. #+end_src
  24. Then, compile the front-end.
  25. #+begin_src sh
  26. clojure -M:frontend compile tubo
  27. #+end_src
  28. You can now start a local server that listens on port 3000 by running the following:
  29. #+begin_src sh
  30. clojure -M:run
  31. #+end_src
  32. Access the front-end in your browser at =http://localhost:3000=.
  33. ** Road-map
  34. - [X] Basic audio player
  35. - [ ] Track queuing system
  36. - [ ] Playlists
  37. - [ ] User settings
  38. ** Screenshots
  39. [[https://files.mianmoreno.com/tubo_kiosk.jpg]]
  40. [[https://files.mianmoreno.com/tubo_channel.jpg]]
  41. [[https://files.mianmoreno.com/tubo_stream.jpg]]
  42. ** Contributing
  43. You can send feedback, patches, or bug reports to [[mailto:public@mianmoreno.com][public@mianmoreno.com]].