# expect-telnet **Repository Path**: mirrors_silverwind/expect-telnet ## Basic Information - **Project Name**: expect-telnet - **Description**: telnet automation through expect-send sequences, like in Tcl - **Primary Language**: Unknown - **License**: BSD-2-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-25 - **Last Updated**: 2026-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # expect-telnet [![](https://img.shields.io/npm/v/expect-telnet.svg?style=flat)](https://www.npmjs.org/package/expect-telnet) [![](https://img.shields.io/npm/dm/expect-telnet.svg)](https://www.npmjs.org/package/expect-telnet) [![](https://api.travis-ci.org/silverwind/expect-telnet.svg?style=flat)](https://travis-ci.org/silverwind/expect-telnet) > telnet automation through expect-send sequences, like in Tcl. ## Installation ``` $ npm install --save expect-telnet ``` ## Examples ### Log the output of a command ```js 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 ```js 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](https://github.com/silverwind), distributed under BSD licence