No Description

Guillaume Mazoyer fe50274f36 Remove useless lib version. 16 hours ago
auth 194bdc7fb0 Update phpseclib to 1.0.11. 1 day ago
css 5d550f0ad0 Avoid elements flickering. 1 month ago
docs 49cae8626a ensure compatibility with CentOS/RHEL 1 month ago
includes 4a088a3631 Change variable bgp-detail into bgp_detail, add it to config.php.example. 1 month ago
js b3b463014a Fix of last fix :P. 2 months ago
libs fe50274f36 Remove useless lib version. 16 hours ago
routers 4a088a3631 Change variable bgp-detail into bgp_detail, add it to config.php.example. 1 month ago
scripts f0af13f317 Fix, forgot to redirect stderr to stdout. 1 year ago
.gitignore 9ab4e2a80e Ignore HTML files. 2 years ago
.htaccess 1b094c269e Handle apache2 version >= 2.4 and <= 2.4. 3 years ago
.travis.yml 53a3e7436e Update docs. PHP 7.0 test should not fail. 6 months ago 0d26b4e70e Release 2.0.0 2 months ago
Dockerfile f96656cf82 add timezone setting to dockerfile instead of seperate php.ini 2 months ago
LICENSE d9505895e1 Initial commit 3 years ago 68fcc3c0d0 Few notes about helping the project. 1 month ago
config.php.example 4a088a3631 Change variable bgp-detail into bgp_detail, add it to config.php.example. 1 month ago
execute.php 64e70c5ef3 Introduce a new configuration option to set the number of commands to show on the front page before the list scrolls. Default to dynamic scaling based on the amount of doc command entries that are not empty. Support disabling commands by setting the doc command configuration entry to null, hide disabled commands from index.php and harden execute.php against forged POST requests for disabled commands. Extra documentation remains TODO. 2 months ago
index.php a1ef25e711 Update Font Awesome to 5.0.10. 1 day ago
mkdocs.yml 1844954ef5 Fix for online doc. 2 months ago

Build Status Documentation Status

Looking Glass

Easy to deploy Looking Glass made in PHP.


  • Webserver such as Apache 2, or Lighttpd, etc…
  • PHP (> 5.3) module for the webserver (mod-php5 for Apache 2 for example)


This web application made in PHP is what we call a Looking Glass. This is a tool used to get some information about networks by giving the opportunity to execute some commands on routers. The output is sent back to the user.

For now this looking glass is quite simple. Here you have some features:

  • Interface using Javascript and AJAX calls (needs a decent browser)
  • Support of BIRD, Cisco (IOS and IOS-XR), Juniper, Extreme/Brocade NetIron, OpenBGPd, Quagga, Vyatta/VyOS/EdgeOS and FRRouting routers
  • Support of Telnet and SSH connection to routers using password authentication and SSH keys
  • Configurable list of routers
  • Tweakable interface (title, logo, footer, elements order)
  • Log all commands in a file
  • Customizable output with regular expressions
  • Configurable list of allowed commands

And here is a list of what this looking glass should be able to do in the future:

  • Support more routers
  • Support of other types of authentication


Copy the configuration config.php.example file to create a config.php file. It contains all the values (PHP variables) used to customize the looking glass. Details about configuration options are available in the documentation.


If you want to run the looking glass inside a Docker container, a Dockerfile is provided in this repository. More details can be found here.


An up-to-date (hopefully) documentation is available in the docs/ directory. It gives enough details to setup the looking glass, to configure it and to prepare your routers.

You can also find it at Read the Docs.


Looking Glass is released under the terms of the GNU GPLv3. Please read the LICENSE file for more information.


If you have any bugs, errors, improvements, patches, ideas, you can contact me on my email address You are also welcome to fork and make some pull requests.

If you use this looking glass in your company, please drop me a mail. I would be glad to know that this project was helpful for you, and I will update our documentation to include your company inside the list of users if you want me to.


You can help this project in many ways. Of course you can ask for features, give some ideas for future development, open issues if you found any and contribute to the code with pull requests and patches.

You can also support the development of this project by donating some money. Developing such project can be time consuming and it is done on personal time. Giving few dollars/euros/pounds/etc... can be a way to say thanks and help to free some time to develop this project.


  • Bootstrap and jQuery for making CSS and Javascript less painful for people like me.
  • Romain Boissat for all his great ideas, bug reports and contributions.