1
0
Fork 1
mirror of https://github.com/thatmattlove/hyperglass.git synced 2026-01-19 17:38:05 +00:00
Commit graph

1746 commits

Author SHA1 Message Date
Wilhelm Schonfeldt
5ace4fdf97 fix(plugins): improve type checking for structured output
- Split type checking into two separate conditions for clarity
- Add early return when output contains non-string objects
- Ensure structured output like MikrotikBGPRouteTable passes through unchanged
- Prevent AttributeError on .strip() for tuple containing structured data

Resolves remaining crashes when processing already-structured BGP route data.
2025-09-26 12:45:10 +02:00
Wilhelm Schonfeldt
10ab164ee6 fix(plugins): handle non-string output in MikroTik garbage plugin
- Add type checking to handle already-processed structured output
- Skip processing when output is not raw strings (e.g., BGPRouteTable objects)
- Prevents AttributeError when trying to call .strip() on tuple/structured data

Fixes crash when MikroTik garbage plugin runs after structured parsing plugins.
2025-09-26 12:40:55 +02:00
Wilhelm Schonfeldt
120af851d1 fix(plugins): improve MikroTik output cleaning for all directives
- Change MikrotikGarbageOutput to apply to ALL MikroTik platform commands using common=True
- Add specialized traceroute output cleaning to handle progressive output and paging prompts
- Remove interactive paging prompts (-- [Q quit|C-z pause])
- Deduplicate traceroute hops to show only final results
- Clean up command echoes and empty progress lines
- Apply to custom directives automatically without manual configuration

Fixes messy traceroute output with repeated progress updates and interactive prompts.
2025-09-26 12:30:27 +02:00
Wilhelm Schonfeldt
8f7fcac4b1 docs: Add comprehensive configuration documentation and user guide
- Add complete configuration reference (complete-config.mdx) with detailed parameter documentation, examples, and descriptions for all config.yaml options
- Add user guide (user-guide.mdx) explaining hostname resolution, 'My IP' feature, query types, and troubleshooting for end users
- Add quick-start configuration examples (quick-start.mdx) with 8 real-world scenarios: minimal, corporate, privacy-focused, high-performance, ISP, enterprise, development, and monitoring setups
- Update navigation structure (_meta.tsx files) to integrate new documentation sections
- Provide comprehensive coverage of DNS-over-HTTPS hostname resolution, myip.wtf IP detection, web UI customization, logging/webhooks, structured output, and theme configuration
- Include practical examples, use cases, troubleshooting tips, and best practices throughout

This addresses documentation gaps by providing both technical reference material for administrators and user-focused guidance for end users, with extensive real-world configuration examples.
2025-09-26 12:12:27 +02:00
Wilhelm Schonfeldt
7a6388bd39 fix: Improve handling of missing data fields in MikroTik BGP parser
- Update MikroTik parser to return -1 for unavailable age data instead of "0"
- Change age property return type from string to int for consistency
- Enhance frontend Age component to display "N/A" when age is -1
- Improve MonoField component to handle empty/undefined values gracefully
- Add appropriate tooltips and styling for missing data indicators

This addresses the issue where MikroTik devices don't provide route age
and source RID information, ensuring the UI displays user-friendly
indicators instead of potentially misleading placeholder values.
2025-09-26 11:55:51 +02:00
Wilhelm Schonfeldt
b2a05994aa fix: Improve error message for community name validation and clean up test formatting 2025-09-26 11:49:27 +02:00
Wilhelm Schonfeldt
eabd98b606 feat: Add BGP community friendly names and enhance RPKI configuration
- Add new 'name' mode for BGP communities to append friendly names
  - New configuration option `structured.communities.mode: name`
  - Community mappings via `structured.communities.names` dictionary
  - Communities display as "65000:1000 - Upstream Any" in UI
  - Backward compatible with existing permit/deny modes

- Enhance RPKI configuration documentation
  - Document both Cloudflare and Routinator backend options
  - Add `structured.rpki.backend` and `structured.rpki.rpki_server_url` parameters
  - Clarify Routinator web API endpoint usage vs RTR port
  - Add comprehensive configuration examples

- Update structured output platform support
  - Document all supported platforms: Arista EOS, FRRouting, Huawei VRP, Juniper Junos, Mikrotik RouterOS/SwitchOS

- Frontend enhancements
  - Parse comma-separated community format in UI components
  - Display friendly names alongside community codes
  - Maintain existing functionality for communities without names

- Add validation and examples
  - Validate that 'name' mode has community mappings configured
  - Include example configuration and test cases
  - Generic examples using ASN 65000 instead of specific networks
2025-09-26 11:32:29 +02:00
Wilhelm Schonfeldt
e78685d8c6 Enhance MikroTik BGP route handling by adding BGPRoute import and simplifying BGPRouteTable initialization 2025-09-26 10:04:56 +02:00
Wilhelm Schonfeldt
ae6a1a0bb8 Refactor code for improved readability and consistency across multiple files using black 2025-09-26 09:43:06 +02:00
Wilhelm Schonfeldt
22c8f8310e Add requests dependency to pyproject.toml 2025-09-26 09:37:58 +02:00
Wilhelm Schonfeldt
1d79ec4f5a Merge remote-tracking branch 'structured/main' into structured 2025-09-26 09:37:06 +02:00
Carlos Santos
c66d6d162d
Update poetry.lock update erro typer click 2025-09-25 19:59:55 -03:00
Carlos Santos
e31e6419c9
Update requirements.lock update typer erro click 2025-09-25 19:59:15 -03:00
Carlos Santos
fac4a80690
Update requirements-dev.lock update typer erro click 2025-09-25 19:58:45 -03:00
Carlos Santos
993926ec2a
Update pyproject.toml update typer erro click 2025-09-25 19:58:07 -03:00
Carlos Santos
62fc058db8
Update Dockerfile update CLICK ERRO typer 2025-09-25 19:57:22 -03:00
Wilhelm Schonfeldt
8131853daa Added broader support for external RPKI validation.
Expanded params config for rpki server URL and backend type for query switching and lookup handling.
Initial support for routinator server API endpoint.
2025-09-25 20:35:47 +02:00
Carlos Santos
b3d4834d3b
Update mikrotik.py rpki ajustado pelo wilhelm_pa 2025-09-17 17:00:45 -03:00
Carlos Santos
63da21b504
Update mikrotik.py 2025-09-13 15:53:27 -03:00
Carlos Santos
65a4b3f369
Rename sample_config.yaml to sample_config 2025-09-13 05:09:34 -03:00
Carlos Santos
22b6c9243e
Update README.md 2025-09-13 05:08:19 -03:00
Carlos Santos
b589cefcd4
Update README.md 2025-09-13 04:20:05 -03:00
Carlos Santos
cb0389b8f4
Update README.md 2025-09-13 04:19:41 -03:00
Carlos Santos
d0e5acae37
Update README.md 2025-09-13 04:13:22 -03:00
Carlos Santos
7542dfc155
Update README.md 2025-09-13 03:49:09 -03:00
Carlos Santos
2c37f6cd24
Update README.md 2025-09-13 03:48:14 -03:00
Carlos Santos
bba91229f9
Update README.md 2025-09-13 03:35:03 -03:00
Carlos Santos
6f7fa08822
Update README.md 2025-09-13 03:34:23 -03:00
Carlos Santos
2adfed104c
Update README.md 2025-09-13 03:29:17 -03:00
Carlos Santos
1dfe987a6e
Update bgp_route_huawei.py 2025-09-13 03:21:22 -03:00
Carlos Santos
0b5bcc37c1
Update huawei.py 2025-09-13 03:10:38 -03:00
Carlos Santos
cfee0639a3
Create sample_device.yaml 2025-09-13 03:08:37 -03:00
Carlos Santos
ef129f309c
Rename sample_terms-and-conditions.md to sample_terms-and-conditions 2025-09-13 03:08:13 -03:00
Carlos Santos
432704a759
Rename sample_hyperglass.env to sample_hyperglass 2025-09-13 03:08:01 -03:00
Carlos Santos
1514265b18
Rename sample_directives_mikrotik.yaml to sample_directives_mikrotik 2025-09-13 03:07:47 -03:00
Carlos Santos
7ad947bdc8
Rename sample_directives_juniper.yaml to sample_directives_juniper 2025-09-13 03:07:35 -03:00
Carlos Santos
d33532ea45
Rename sample_directives_huawei.yaml to sample_directives_huawei 2025-09-13 03:07:25 -03:00
Carlos Santos
7d7a501ea1
Rename sample_devices2.yaml to sample_devices2 2025-09-13 03:07:12 -03:00
Carlos Santos
d496a260b3
Rename sample_devices.yaml to sample_devices2.yaml 2025-09-13 03:06:17 -03:00
Carlos Santos
64f48feda6
Update constants.py 2025-09-13 03:01:10 -03:00
Carlos Santos
f444694ee0
Update compose.yaml 2025-09-13 02:56:27 -03:00
Carlos Santos
cc4a54a487
Update huawei.py 2025-09-13 02:38:20 -03:00
Carlos Santos
d2e83c41f3
Update mikrotik.py 2025-09-13 02:37:53 -03:00
Carlos Santos
16af5ce591
Update mikrotik.py 2025-09-13 02:37:11 -03:00
Carlos Santos
840e916216
Update huawei.py 2025-09-13 02:35:17 -03:00
Carlos Santos
0b1f7f2a5e
Update sample_devices.yaml 2025-09-13 02:32:22 -03:00
Carlos Santos
6d0ba5e0db
Update README.md 2025-09-13 02:20:54 -03:00
Carlos Santos
084d46d1a9
Update README.md 2025-09-13 02:20:12 -03:00
Carlos Santos
142bc7497d
Rename sample_ to sample_hyperglass.env 2025-09-13 02:19:08 -03:00
Carlos Santos
f7dca9abbf
Update sample_ 2025-09-13 02:18:53 -03:00