You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

cluc

Package Overview
Dependencies
Maintainers
1
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cluc

command line under control

1.0.45
latest
Source
npm
Version published
Weekly downloads
54
184.21%
Maintainers
1
Weekly downloads
 
Created
Source

Cluc

Command line under control, a library to ease usage of command lines.

Demo

with child_process

    var Cluc = require('cluc');

    new Cluc()
      .exec('ls -alh' , function(err,stdout,stderr){
        this.confirm(/vagrant/, 'Username should display on unix.');
        this.warn(/root/, 'Some files does not belong vagrant users.').or(function(err){
            return new Error(err);
          });
          
      })
      .stream('ls -alh' , function(err,stdout,stderr){
        this.confirm(/vagrant/, 'Username should display on unix.');
        this.warn(/root/, 'Some files does not belong vagrant users.');
        
      }).stream('sudo apt-get remove apache2 -y', function(){
          this.progress(/Reading (:<title>[\w\s]+)[ .]*(:<current>\d+)%/);
          this.mustnot(/0 to remove/, 'no package to remove found');
          this.confirm(/([1-9]+) to remove/, ' found %s package to remove');
          this.success(/(Removing [^ ]+\s+[.]+)/i, 'Package removed !');
          this.warn(/(Unable to locate package )/i, 'Package not found');
          
      }).stream('sudo apt-get install apache2 -y', function(){
          this.mustnot(/You should explicitly select one to install/, "too many results");
          this.mustnot(/has no installation candidate/, "can not install httpd");
          this.watch(/Need to get ([0-9- ,-]+ [a-z]+) of archives/i);
          this.watch(/After this operation, ([0-9- ,-]+ [a-z]+) of additional disk space will be used/i);
          this.spin(/((Reading|Building).+)/i);
          this.spin(/^\s*([0-9]+%)/i);
          this.warn(/(is already the newest version)/i, 'Already installed');
          this.warn(/(0 newly installed)/i, 'Package not installed');
          this.confirm(/([^ /]+)\.deb/i);
          this.success(/(1 newly installed)/i, 'Package installed !');
          //this.redo(2);
          //this.display();
          
        }).download('/home/vagrant/test', __dirname+'/fixtures/test.bashrc', function(err){
           if(err) log.error(err);
           
        }).record(require('fs').createWriteStream('some/output.log'))
        
        .run( new Cluc.transports.process(), function(){
          console.log('done');
        });

with ssh

    var Cluc = require('cluc');

    new Cluc()
      .exec('ls -alh' , function(err,stdout,stderr){
        this.confirm(/vagrant/, 'Username should display on unix.');
        this.warn(/root/, 'Some files does not belong vagrant users.');
        this.display();
      })
      .stream('ls -alh' , function(err,stdout,stderr){
        this.confirm(/vagrant/, 'Username should display on unix.');
        this.warn(/root/, 'Some files does not belong vagrant users.');
      })
      .run( new Cluc.transports.ssh(server), function(){
        console.log('done');
      });

API

Cluc

Cluc.transports

Cluc.output

Cluc.rules

ClucChildProcess

ClucContext

ClucSsh

ClucSSHContext

ClucRule

ClucMust

ClucSuccess

ClucMustNot

ClucConfirm

ClucWarn

ClucWatch

ClucAnswer

ClucDisplay

Status

In development. It needs some tests. It misses putFile and readDir implementations. Documentation update.

FAQs

Package last updated on 27 Jun 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts