Giter Site home page Giter Site logo

console-client's Introduction

Console-Client

PHP library for login/password connections to devices over Telnet and SSH.

Install

composer require meklis/console-client

Example

SSH connection to ZTE devices

require __DIR__ . '/vendor/autoload.php';

$ssh = new \Meklis\Network\Console\SSH();
$ssh->setDeviceHelper(new \Meklis\Network\Console\Helpers\ZTE());
$ssh->connect("10.0.0.2", 2222); //Ip and custom port 
$ssh->login("login", "password"); 
echo $ssh->exec("show card");

Telnet connection to Dlink device

require __DIR__ . '/vendor/autoload.php';

$ssh = new \Meklis\Network\Console\Telnet();
$ssh->setDeviceHelper(new \Meklis\Network\Console\Helpers\Dlink());
$ssh->connect("10.0.0.1");
$ssh->login("login", "password");
echo $ssh->exec("show switch");

Supported vendors

  • Alaxala
  • Bdcom
  • Cdata
  • Dlink
  • Ios
  • ZTE
  • Junos
  • Linux
  • Xos

For adding own vendors you can create Helper extended from DefaultHelper and implement HelperInterface.

Example of helper

namespace Meklis\Network\Console\Helpers;

class Cdata extends DefaultHelper
{
    protected $prompt = 'OLT(.*?)[>#]';
    protected $userPrompt = 'ame:';
    protected $passwordPrompt = 'ord:';
    protected $afterLoginCommands = [];
    protected $beforeLogoutCommands = [];
    protected $windowSize = null;

    public function isDoubleLoginPrompt(): bool
    {
        if ($this->connectionType === 'ssh') {
            return true;
        }
        return $this->doubleLoginPrompt;
    }
}

console-client's People

Contributors

meklis avatar gviabcua avatar

Stargazers

 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.