1
0
mirror of https://github.com/checktheroads/hyperglass synced 2024-05-11 05:55:08 +00:00

59 lines
3.0 KiB
Markdown
Raw Normal View History

2019-06-15 19:05:47 -07:00
<img src="logo.png" width=300></img>
2019-05-07 23:21:41 -07:00
2019-06-10 13:06:55 -07:00
**hyperglass** is a modern network looking glass application. A looking glass is typically implemented by network service providers as a way of providing customers, peers, and partners with a way to easily view elements of, or run tests from the provider's network.
**hyperglass** is intended to make implementing a looking glass too easy not to do, with the big-picture goal of improving the internet community as a whole by making looking glasses more common across autonomous systems of any size.
2019-05-07 23:21:41 -07:00
<br>
2019-06-17 00:52:35 -07:00
![Build Status](https://travis-ci.com/checktheroads/hyperglass.svg?token=qWu7QJN7YkwTDsUawGBx&branch=master)
![Pylint](https://github.com/checktheroads/hyperglass/blob/master/pylint.svg)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
![GitHub issues](https://img.shields.io/github/issues/checktheroads/hyperglass.svg)
2019-05-07 23:21:41 -07:00
## Features
2019-06-10 12:57:20 -07:00
- BGP Route, BGP Community, BGP AS Path, Ping, Traceroute
2019-06-15 19:05:47 -07:00
- Full frontend and backend IPv6 support
2019-06-10 12:57:20 -07:00
- [Netmiko](https://github.com/ktbyers/netmiko)-based connection handling for traditional network devices
- [FRRouting](https://frrouting.org/) support via [hyperglass-frr](https://github.com/checktheroads/hyperglass-frr) REST API
- Customizable commands for each query type by vendor
- Clean, modern, google-esq GUI based on the [Bumla](https://bulma.io) framework
- Customizable colors, logo, web fonts, error messages, UI text
2019-06-10 12:57:20 -07:00
- Simple TOML config file for all customizable parameters (no databases!)
- Optional SSH Proxy to further direct secure router access
- Configurable IP/Prefix "blacklist" to prevent lookup of sensitive prefixes
- Configurable rate limiting, powered by [Flask-Limiter](https://github.com/alisaifee/flask-limiter)
2019-06-15 19:05:47 -07:00
- Query response caching with configurable cache timeout
2019-06-10 12:57:20 -07:00
- [Prometheus](https://prometheus.io/) metrics for query statistics tracking
2019-05-07 23:21:41 -07:00
## Documentation
Documentation can be found [here](https://hyperglass.readthedocs.io), or in the `docs/` directory.
## Preview
2019-06-17 00:18:44 -07:00
For screenshots, see [here](https://hyperglass.readthedocs.io/en/latest/screenshots/).
2019-05-07 23:59:05 -07:00
2019-05-07 23:21:41 -07:00
## Platform Support
2019-06-10 12:57:20 -07:00
Theoretically, any vendor supported by Netmiko can be supported by hyperglass. However, hyperglass is preconfigured to support the following platforms:
2019-05-07 23:21:41 -07:00
### Routers
2019-06-10 12:57:20 -07:00
- Cisco IOS-XR: Netmiko `cisco_xr` vendor class
- Cisco Classic IOS/IOS-XE: Netmiko `cisco_ios` vendor class
- Juniper JunOS: Netmiko `junos` vendor class
2019-06-10 13:07:46 -07:00
- FRRouting: [hyperglass-frr](https://github.com/checktheroads/hyperglass-frr) API
2019-05-07 23:21:41 -07:00
### Proxies
- Linux: `linux_ssh`
2019-05-07 23:21:41 -07:00
## Acknowledgements
2019-06-10 12:57:20 -07:00
- This project originally started as a fork of [vraulsan](https://github.com/vraulsan)'s [looking-glass](https://github.com/vraulsan/looking-glass) project. The guts of the Flask components still remain from that project, but almost everything else has been rewritten. Nevertheless, the inspiration for building hyperglass came from here.
2019-05-07 23:21:41 -07:00
## License
2019-05-07 23:21:41 -07:00
[Clear BSD License](https://github.com/checktheroads/hyperglass/master/LICENSE)