{"id":13584709,"url":"https://github.com/gmazoyer/looking-glass","last_synced_at":"2026-04-02T16:29:05.730Z","repository":{"id":17463131,"uuid":"20237190","full_name":"gmazoyer/looking-glass","owner":"gmazoyer","description":"Easy to deploy Looking Glass","archived":false,"fork":false,"pushed_at":"2026-03-28T10:58:34.000Z","size":12230,"stargazers_count":520,"open_issues_count":25,"forks_count":147,"subscribers_count":23,"default_branch":"main","last_synced_at":"2026-03-28T13:54:49.305Z","etag":null,"topics":["bgp","looking-glass","network","php","routers","routing"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gmazoyer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"gmazoyer","ko_fi":"gmazoyer","custom":"https://paypal.me/GuillaumeMazoyer"}},"created_at":"2014-05-27T22:08:50.000Z","updated_at":"2026-03-28T10:58:38.000Z","dependencies_parsed_at":"2024-10-28T11:29:21.190Z","dependency_job_id":null,"html_url":"https://github.com/gmazoyer/looking-glass","commit_stats":null,"previous_names":["respawner/looking-glass"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/gmazoyer/looking-glass","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazoyer%2Flooking-glass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazoyer%2Flooking-glass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazoyer%2Flooking-glass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazoyer%2Flooking-glass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gmazoyer","download_url":"https://codeload.github.com/gmazoyer/looking-glass/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazoyer%2Flooking-glass/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31309946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bgp","looking-glass","network","php","routers","routing"],"created_at":"2024-08-01T15:04:27.944Z","updated_at":"2026-04-02T16:29:05.719Z","avatar_url":"https://github.com/gmazoyer.png","language":"PHP","funding_links":["https://github.com/sponsors/gmazoyer","https://ko-fi.com/gmazoyer","https://paypal.me/GuillaumeMazoyer"],"categories":["PHP"],"sub_categories":[],"readme":"![Build Status](https://github.com/gmazoyer/looking-glass/workflows/syntax/badge.svg)\n[![Documentation Status](https://readthedocs.org/projects/looking-glass/badge/?version=latest)](http://looking-glass.readthedocs.io/)\n\n# Looking Glass\n\nEasy to deploy Looking Glass made in PHP.\n\nThe lack of time and funding has slown down this project quite a lot. It is\nstill maintained though. If you like it, use it and want to support its\ndevelopment, you can sponsor it or contribute in any way you can.\n\nTake a look at [Reflet](https://github.com/gmazoyer/reflet), a new project\nwith a new approach.\n\n## Requirements\n\n  * Webserver such as Apache 2, or Lighttpd, etc…\n  * PHP (\u003e= 8.2) module for the webserver (`libapache2-mod-php` for Apache 2\n    for example)\n  * Composer to install dependencies\n  * The PDO extension to interact with SQLite for anti-spam feature\n    (`php8.4-sqlite3` on Debian for example)\n  * The XML package is required as well (`php8.4-xml` on Debian for example)\n\n## Description\n\nThis web application made in PHP is what we call a **Looking Glass**. This is a\ntool used to get some information about networks by giving the opportunity to\nexecute some commands on routers. The output is sent back to the user.\n\nFor now this looking glass is quite simple. Here you have some features:\n\n  * Interface using Javascript and AJAX calls (needs a decent browser)\n  * Support the following router types:\n    * Arista\n    * BIRD (v1 and v2)\n    * Cisco (IOS and IOS-XR)\n    * Extreme/Brocade NetIron\n    * FRRouting\n    * Huawei (VRP)\n    * Juniper\n    * Mikrotik/RouterOS\n    * Nokia\n    * OpenBGPd\n    * Quagga\n    * Vyatta/EdgeOS\n    * VyOS\n  * Support of Telnet and SSH connection to routers using password\n    authentication and SSH keys\n  * Configurable list of routers\n  * Tweakable interface (title, logo, footer, elements order)\n  * Log all commands in a file\n  * Customizable output with regular expressions\n  * Configurable list of allowed commands\n  * Custom routing instances, aka VRFs (Juniper only, for now)\n\nAnd here is a list of what this looking glass should be able to do in the\nfuture:\n\n  * Support more routers\n  * Support of other types of authentication\n\nQuestions? Comments? Join us in the `#looking-glass` Slack channel on\n[NetDev Community](https://netdev.chat/).\n\n## Configuration\n\nInstall [Composer](https://getcomposer.org/) and run `composer install` to\ninstall dependencies for this project. This step is not necessary if you use\nDocker.\n\nCopy the configuration **config.php.example** file to create a **config.php**\nfile. It contains all the values (PHP variables) used to customize the looking\nglass. Details about configuration options are available in the\n[documentation](docs/configuration.md).\n\n## Docker\n\nIf you want to run the looking glass inside a Docker container, a Dockerfile\nis provided in this repository. More details can be found\n[here](docs/docker.md).\n\n## Documentation\n\nAn up-to-date (hopefully) documentation is available in the **docs/**\ndirectory. It gives enough details to setup the looking glass, to configure it\nand to prepare your routers.\n\nYou can also find it at\n[Read the Docs](http://looking-glass.readthedocs.io/en/latest/).\n\n## License\n\nLooking Glass is released under the terms of the GNU GPLv3. Please read the\nLICENSE file for more information.\n\n## Contact\n\nIf you have any bugs, errors, improvements, patches, ideas, you can create an\nissue. You are also welcome to fork and make some pull requests.\n\n## Helping\n\nYou can help this project in many ways. Of course you can ask for features,\ngive some ideas for future development, open issues if you found any and\ncontribute to the code with pull requests and patches. You can also support the\ndevelopment of this project by donating some coins.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgmazoyer%2Flooking-glass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgmazoyer%2Flooking-glass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgmazoyer%2Flooking-glass/lists"}