node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey ยป



Originally named as icecapdjs for NKO 2011 team Oulu's entry.


This is a proxy to connect local shell services (including icecapd) to remote website over HTTP with apikey provided by our website. We use this on our hosted service automatically but you can use it to enable your own shell service.

Installation to our service

You only need this program if you are using your own shell server/account.

Installation to custom shell service

Install icecapd

hg clone
cd icecap
mkdir -p $HOME/opt/icecap
./configure --prefix=$HOME/opt/icecap
make install
echo 'PATH=$PATH:$HOME/opt/icecap/bin' >> $HOME/.profile

Install node

tar zxf node-v0.4.11.tar.gz
cd node-v0.4.11
mkdir -p $HOME/opt/node
./configure --prefix=$HOME/opt/node
make install
echo 'PATH=$PATH:$HOME/opt/node/bin' >> $HOME/.profile

Install npm

git clone
cd npm
mkdir -p $HOME/opt/npm
./configure --prefix=$HOME/opt/npm
make install
echo 'PATH=$PATH:$HOME/opt/npm/bin' >> $HOME/.profile

Install node-icecapd

Just type npm install shelld and npm will install it for you.

Running icecapd

shelld start

Configuring it in crontab

You can setup a simple watchdog with crontab.

Sample crontab file:

* *    * * *   /path/to/shelld status >/dev/null || /path/to/shelld start

Configuration Settings

List configuration settings:

shelld config

To set apikey run:

shelld config-set apikey ab2cd1ef3gh4g12412

You can get the apikey from running website.

To change the default iotarget run:

shelld config-set iotarget http://localhost:3000/shell

To enable logging to a file, you can run:

shelld config-set logfile /path/to/file.log

To disable logfile, just ommit the value:

shelld config-set logfile