Nodejs HTTP server and browser bookmark to make downloading Youtube videos to your server easy.

npm install utuber
58 downloads in the last month


A minimal HTTP server made with Express and Youtube connetivity with ytdl to make downloading your favourite Youtube clips easier.


As root:

npm install -g utuber

Or as local: npm install utuber



Server can be used either as a module, when it exports function start, that takes an object as parameters. On CLI mode, it takes three commandline arguments. All options are optional, the defaults work fine in many cases.


Leave options that you do not want to change undefined:

var u = require('utuber'), o = {p: [PORT], P: [HOMEPATH], a: [ALLOWEDCHARACTERS]}; u.start(o);

  • Define p to change server bind port
  • Define P to change download destination (defaults to current directory)
  • Define a to change the regular expression to parse title to filename (allowed characters regexp)


Same options as above, with CLI arguments:

  • -p
  • -P
  • -a


Change uTuberServer variable at the beginning of the bookmark to point to your server.


utuber is split in two pieces; the server and the browser.

To start the server

node utuber (root mode) node ~/node_modules/utuber/bin/utuber

To run the server as a service, see forever. Future release will incorporate this option.

To use the client

Create a bookmark to your favourite browser and copy-paste the contents of bookmark.html to the target. Done.

The client will show an alertbox with the results. Future releases will include a nice layer popupthingy.


This is a small showcase on a whim type of project, so don't expect much updates. Will do if can do.

  • Add security - Currently anybody can make requests, you should not run this server on a public machine
  • Nicer output - Alerts are lame
  • Options on click - Change to name and select location? Well, at least name.
  • Make the bookmark less hideous by using other than the full jQuery library for one getJSON?
  • So, so many more
npm loves you