Git Product home page Git Product logo

tincl's Introduction

Overview

Tincl (Telnet INteractive CLient) is an interactive telnet client with history and automation via scripting. Tincl supports only text based telnet sessions and can't process binary data. All incoming and outgoing data is converting to strings.

License

Tincl is released under the GPL 3.0 license. See LICENSE.txt

Current state

At the moment tincl has alfa quality code. There is no timeouts, test cases and fuzzing. You should not use it with untrusted telnet servers.

Usage

There is two modes, interactive and non interactive. By default is using non interactive mode. This mean that tincl is reading stdin without readline. In interactive mode (-i option), will be enable ishell instance with readline support. Currently in interactive mode you should use 'crlf' command for sending pure '\r\n' or '\n' to telnet server, because ishell filters '\n'. Tincl supports lua scripts via -s option in CLI and via 'script' command inside interactive mode. But only -s currently supports telnet session processing.

Example:

>tincl -H smtp.google.com -P 25 -n -i -s test.lua
* Connecting to smtp.google.com:25
* Successful connected to smtp.google.com:25
* SMTP Greeting: 	220 mx.google.com ESMTP b9-20020ac24109000000b004fe2ad08fc3si1139642lfi.217 - gsmtp
* SMTP Answer after helo: 	250 mx.google.com at your service
>>> mail from: zzz
555 5.5.2 Syntax error. b9-20020ac24109000000b004fe2ad08fc3si1139642lfi.217 - gsmtp
>>>

CLI Options:

Usage of tincl:

  -n, --disable-greeting   Do not read greeting from telnet server.
  -H, --host string        Connection host
  -i, --interactive        Enable interactive mode
  -P, --port int           Connection port (default 23)
  -s, --script string      Script for execution
  -t, --tls                Use TLS mode

Interactive commands:

>>> help

Commands:
  clear       clear the screen
  crlf        Send crlf
  exit        exit the program
  help        display help
  script      Run lua script

TODO

  • Disable main read loop after loading lua script inside interactive mode.
  • Allow to use '\n' only in interactive mode (require PR to ishell).

Thanks

viper - is a complete configuration solution for Go applications including 12-Factor apps from spf13 team. gopher-lua - is a Lua5.1(+ goto statement in Lua5.2) VM and compiler written in Go. go-telnet - Thanks for the golang telnet library. ishell - is an interactive shell library for creating interactive cli applications.

tincl's People

Contributors

tolyar avatar

Stargazers

Buanderie avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.