Give it a Spin!
Demonic runs commands in a remote sandbox allowing users to quickly try out a given program or script. Click on any of the example programs below to give them a spin.
withfeathers --print
pipes.sh
fortune | cowsay | lolcat
cmatrix | lolcat
Run any of the code samples below by clicking on the â–¶ button:
For more languages see the demonic-docs page.
Python
def greet():
name = input('Enter your name: ')
print('Hello', name)
if __name__ == '__main__':
greet()
C
#include <stdio.h>
int main(int argc, char** argv) {
fprintf(stderr, "%s", "Enter your name: ");
char name[100];
scanf("%s", name);
fprintf(stderr, "Hello %s!\n", name);
return 0;
}
Installation
0. Prerequisites
node.js
:: for running the server.
npm
:: for installing the dependencies.
firejail
:: for running programs in a sandboxed chroot environment.
git
:: for a quick git clone.
If you are running Windows, the above utilities will be packaged in any of the following: babun, cmder, or Linux Subsystem for Windows. Take your pick! : )
The above utilities should be installed (or readily available) if you are running a Unix derivative (such as Linux, macOS, or any of the BSD’s).
1. Quickstart
# clone the git repo
git clone https://github.com/lbeckman314/demonic
# enter directory
cd demonic
# install dependencies
npm install
# copy example config
cp config-example.js config.js
# edit key, certificate, and passphrase information
nano config.js
# run server (if no port number is provided, 12345 in this example, the server will default to port 8181)
node server.js 12345
# edit server information
nano demonic.js
# then you can connect to the server from a client (e.g. client-example.html)
Uninstallation
0. Delete the directory/folder.
# remove this directory
rm -rfI demonic