SkillAgentSearch skills...

Phprouter

PHP Scripts for interacting with network devices.

Install / Use

/learn @ShaneMcC/Phprouter
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

PHPRouter

Provides a library designed to allow reading/writing data to/from multiple types of network-device via PHP to aid in automation.

It was originally designed just for reading data from routers in scripts but evolved to support other device types and usages.

Supported Devices

| Device Type | Telnet? | SSH? |
| --------------------- |:------------------:|:------------------:| | HP Procurve | :white_check_mark: | :white_check_mark: | | Cisco IOS | :white_check_mark: | :white_check_mark: | | Cisco IOSXR | :white_check_mark: | :white_check_mark: | | ArborOS | :x: | :white_check_mark: | | APC PDU | :white_check_mark: | :x: |

Currently, support is limited to what I have access to. If you want support for something that isn't, then please feel free to submit a pull-request, or provide access to the device in question. (Read-Only should be sufficient in most cases.)

Usage

Usage is simple, clone the repo into a subfolder, run git submodule update --init to pull in the submodules and then include('phprouter/PHPRouter.php'); and begin using.

Example usage:

<?php
	use ShaneMcC\PhpRouter\Implementations\CiscoRouter;

	$router = new CiscoRouter('192.168.0.1', 'admin', 'password');
	$router->connect();
	$router->enable('enable');
	$config = $router->exec('show run');
	$router->disconnect();

	echo $config;
?>

Further more in-depth example usage is documented on the wiki

Some of the router types have helper functions (ie, the ones I've needed!), eg ArborOS has saveConfig($logMessage) and hasPendingConfig(), and IOS/IOSXR devices have getPrefixList($name, $type)

If you are using ssh-based routers, you will need the ssh2 module for php.

Debian / Ubuntu

apt-get install libssh2-php

Redhat / CentOS

yum install php-pecl-ssh2

Other

pecl install ssh2

Comments, Bugs, Feature Requests etc.

Bugs and Feature Requests should be raised on the issue tracker on github. I'm happy to recieve code pull requests via github.

Comments can be emailed to shanemcc@gmail.com

View on GitHub
GitHub Stars9
CategoryDevelopment
Updated4d ago
Forks5

Languages

PHP

Security Score

85/100

Audited on Mar 24, 2026

No findings