node package manager
Easy collaboration. Discover, share, and reuse code in your team. Create a free org ยป

shelld

shelld

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

Description

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 http://hg.dovecot.org/icecap/
cd icecap
./autogen.sh
mkdir -p $HOME/opt/icecap
./configure --prefix=$HOME/opt/icecap
make
make install
echo 'PATH=$PATH:$HOME/opt/icecap/bin' >> $HOME/.profile
PATH=$PATH:$HOME/opt/icecap/bin

Install node

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

Install npm

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

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