Skip to content

hyperglass is the network looking glass that tries to make the internet better.

License

Notifications You must be signed in to change notification settings

mutin-sa/LookingGlass--hyperglass_by_checktheroads

 
 

Repository files navigation

I've been hard at work on a revamp of hyperglass since its initial release in June 2019, and I'm pleased to make version 1.0.0 available for beta testing. While I feel v1.0.0 is actually more stable than the original release here in the master branch, I have not had time to complete a few lingering UI features, documentation, screenshots, an updated demo site, contributor guidelines, and testing.

I invite any current or new users of hyperglass to try out the 1.0 beta release or look over the documentation, and let me know of any issues to address prior to merging it to the master branch.


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.


Documentation   |   Screenshots   |   Live Demo

Build Status GitHub issues Pylint Code style: black

Features

  • BGP Route, BGP Community, BGP AS Path, Ping, Traceroute
  • Full frontend and backend IPv6 support
  • Netmiko-based connection handling for traditional network devices
  • FRRouting support via hyperglass-frr REST API
  • BIRD support via hyperglass-bird REST API
  • Customizable commands for each query type by vendor
  • Clean, modern, google-esq GUI based on the Bumla framework
  • Customizable colors, logo, web fonts, error messages, UI text
  • 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
  • Query response caching with configurable cache timeout
  • Prometheus metrics for query statistics tracking (Check out the live demo!)

Platform Support

hyperglass is preconfigured to support the following platforms:

  • Cisco IOS-XR: Netmiko cisco_xr vendor class
  • Cisco Classic IOS/IOS-XE: Netmiko cisco_ios vendor class
  • Juniper JunOS: Netmiko junos vendor class
  • FRRouting: hyperglass-frr API
  • BIRD: hyperglass-bird API

Theoretically, any vendor supported by Netmiko can be supported by hyperglass. To request support for a specifc platform, please submit a Github Issue with the enhancement label.

hyperglass is intended to make implementing a looking glass too easy not to do, with the lofty goal of improving the internet community at large by making looking glasses more common across autonomous systems of any size.

Community

Any users, potential users, or contributors of hyperglass are welcome to join and discuss usage, feature requests, bugs, and other things.

hyperglass is developed with the express intention of being free to the networking community.

However, the hyperglass demo does cost @checktheroads about $15/month for 3 Digital Ocean droplets, and $60/year for the hyperglass.io domain. If you're feeling particularly helpful and want to help offset that cost, small donations are welcome.

Donate

License

Clear BSD License

About

hyperglass is the network looking glass that tries to make the internet better.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 80.3%
  • HTML 12.3%
  • JavaScript 4.7%
  • CSS 2.7%