Unleash awesomeness. Private packages, team management tools, and powerful integrations. Get started with npm Orgs »

expect-telnet

1.0.0 • Public • Published

expect-telnet

telnet automation through expect-send sequences, like in Tcl.

Installation

$ npm install --save expect-telnet

Examples

Log the output of a command

var et = require("expect-telnet");
 
et("1.2.3.4:23", [
  {expect: "Username", send: "username\r"},
  {expect: "Password", send: "password\r"},
  {expect: "#"       , send: "command\r" },
  {expect: "#"       , out: function(output) {
    console.log(output);
  }, send: "exit\r"}
], function(err) {
  if (err) console.error(err);
});

Start an interactive session

var et = require("expect-telnet");
 
et("1.2.3.4:23", [
  {expect: "Username", send: "username\r"},
  {expect: "Password", send: "password\r"},
  {expect: "#"       , interact: true    }
], {exit: true}, function(err) {
  if (err) console.error(err);
});

API

expect-telnet(dest, seq, [opts], cb)

  • dest string : Target host and port separated by a colon.
  • seq array : Array of expect steps (objects).
  • opts object : Options object.
  • cb function: Called when an error happens.

Expect step object

  • expect string / regexp : String or RegExp to expect.
  • send string : String to send when expect is found.
  • out function: Output function, receives the output since the previous step.
  • interact boolean : Enter interacive mode with stdin/stdout. There's currently no way out of this mode, so this should be last.

Options

  • timeout *number: Timeout for connection and expect sequences in milliseconds. Set to infinity for no timeout.
  • exit boolean: Whether to exit the process when interacting ends.

© silverwind, distributed under BSD licence

install

npm i expect-telnet

Downloadsweekly downloads

247

version

1.0.0

license

BSD-2-Clause

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability