NBping:基于 Rust 的网络 ping 工具项目

🏎 Nping mean NB Ping, A Ping Tool in Rust with Real-Time Data and Visualizations

分支1Tags17
文件最后提交记录最后更新时间
feat: nping rename to nbping (#105) 3 个月前
feat(ui): implement layout module for improved UI structure (#113) * feat(ui): implement layout module for improved UI structure - Added a new `layout.rs` module to manage the overall UI layout. - Introduced `LayoutContext` struct to encapsulate view, theme, IP data, and tick information. - Created functions to render header, status bar, and activity bar with dynamic metrics. - Enhanced visual elements with a wave effect and improved metrics display. refactor(ui): update existing modules to utilize new layout structure - Modified `mod.rs` to include the new `layout` module. - Updated `point.rs`, `sparkline.rs`, `table.rs` to integrate theme and layout changes. - Refactored rendering logic to use the new `Theme` struct for consistent styling. - Improved error handling display in `utils.rs` with theme-aware colors. feat(ui/theme): introduce theming support for UI components - Created `theme.rs` to define color palettes and themes (Day/Night). - Implemented semantic colors for success, warning, and danger states. - Added methods for color retrieval based on RTT and loss metrics. feat(view): add view management for UI navigation - Introduced `view.rs` to manage different UI views (Graph, Table, Point, Sparkline). - Implemented methods for view switching and name retrieval. style(ui): enhance UI aesthetics with rounded borders and improved spacing - Updated widget styles across modules for better visual consistency. - Applied rounded borders and adjusted spacing for a cleaner layout. * feat(docs): update README and README_ZH with new demo images and exporter mode details * feat: update version to 0.7.0 in Cargo.toml and main.rs * feat(ui): add p95 latency calculation and display in various UI components3 天前
feat(ui): implement layout module for improved UI structure (#113) * feat(ui): implement layout module for improved UI structure - Added a new `layout.rs` module to manage the overall UI layout. - Introduced `LayoutContext` struct to encapsulate view, theme, IP data, and tick information. - Created functions to render header, status bar, and activity bar with dynamic metrics. - Enhanced visual elements with a wave effect and improved metrics display. refactor(ui): update existing modules to utilize new layout structure - Modified `mod.rs` to include the new `layout` module. - Updated `point.rs`, `sparkline.rs`, `table.rs` to integrate theme and layout changes. - Refactored rendering logic to use the new `Theme` struct for consistent styling. - Improved error handling display in `utils.rs` with theme-aware colors. feat(ui/theme): introduce theming support for UI components - Created `theme.rs` to define color palettes and themes (Day/Night). - Implemented semantic colors for success, warning, and danger states. - Added methods for color retrieval based on RTT and loss metrics. feat(view): add view management for UI navigation - Introduced `view.rs` to manage different UI views (Graph, Table, Point, Sparkline). - Implemented methods for view switching and name retrieval. style(ui): enhance UI aesthetics with rounded borders and improved spacing - Updated widget styles across modules for better visual consistency. - Applied rounded borders and adjusted spacing for a cleaner layout. * feat(docs): update README and README_ZH with new demo images and exporter mode details * feat: update version to 0.7.0 in Cargo.toml and main.rs * feat(ui): add p95 latency calculation and display in various UI components3 天前
feat(ui): implement layout module for improved UI structure (#113) * feat(ui): implement layout module for improved UI structure - Added a new `layout.rs` module to manage the overall UI layout. - Introduced `LayoutContext` struct to encapsulate view, theme, IP data, and tick information. - Created functions to render header, status bar, and activity bar with dynamic metrics. - Enhanced visual elements with a wave effect and improved metrics display. refactor(ui): update existing modules to utilize new layout structure - Modified `mod.rs` to include the new `layout` module. - Updated `point.rs`, `sparkline.rs`, `table.rs` to integrate theme and layout changes. - Refactored rendering logic to use the new `Theme` struct for consistent styling. - Improved error handling display in `utils.rs` with theme-aware colors. feat(ui/theme): introduce theming support for UI components - Created `theme.rs` to define color palettes and themes (Day/Night). - Implemented semantic colors for success, warning, and danger states. - Added methods for color retrieval based on RTT and loss metrics. feat(view): add view management for UI navigation - Introduced `view.rs` to manage different UI views (Graph, Table, Point, Sparkline). - Implemented methods for view switching and name retrieval. style(ui): enhance UI aesthetics with rounded borders and improved spacing - Updated widget styles across modules for better visual consistency. - Applied rounded borders and adjusted spacing for a cleaner layout. * feat(docs): update README and README_ZH with new demo images and exporter mode details * feat: update version to 0.7.0 in Cargo.toml and main.rs * feat(ui): add p95 latency calculation and display in various UI components3 天前
feat(ui): implement layout module for improved UI structure (#113) * feat(ui): implement layout module for improved UI structure - Added a new `layout.rs` module to manage the overall UI layout. - Introduced `LayoutContext` struct to encapsulate view, theme, IP data, and tick information. - Created functions to render header, status bar, and activity bar with dynamic metrics. - Enhanced visual elements with a wave effect and improved metrics display. refactor(ui): update existing modules to utilize new layout structure - Modified `mod.rs` to include the new `layout` module. - Updated `point.rs`, `sparkline.rs`, `table.rs` to integrate theme and layout changes. - Refactored rendering logic to use the new `Theme` struct for consistent styling. - Improved error handling display in `utils.rs` with theme-aware colors. feat(ui/theme): introduce theming support for UI components - Created `theme.rs` to define color palettes and themes (Day/Night). - Implemented semantic colors for success, warning, and danger states. - Added methods for color retrieval based on RTT and loss metrics. feat(view): add view management for UI navigation - Introduced `view.rs` to manage different UI views (Graph, Table, Point, Sparkline). - Implemented methods for view switching and name retrieval. style(ui): enhance UI aesthetics with rounded borders and improved spacing - Updated widget styles across modules for better visual consistency. - Applied rounded borders and adjusted spacing for a cleaner layout. * feat(docs): update README and README_ZH with new demo images and exporter mode details * feat: update version to 0.7.0 in Cargo.toml and main.rs * feat(ui): add p95 latency calculation and display in various UI components3 天前
feat(ui): implement layout module for improved UI structure (#113) * feat(ui): implement layout module for improved UI structure - Added a new `layout.rs` module to manage the overall UI layout. - Introduced `LayoutContext` struct to encapsulate view, theme, IP data, and tick information. - Created functions to render header, status bar, and activity bar with dynamic metrics. - Enhanced visual elements with a wave effect and improved metrics display. refactor(ui): update existing modules to utilize new layout structure - Modified `mod.rs` to include the new `layout` module. - Updated `point.rs`, `sparkline.rs`, `table.rs` to integrate theme and layout changes. - Refactored rendering logic to use the new `Theme` struct for consistent styling. - Improved error handling display in `utils.rs` with theme-aware colors. feat(ui/theme): introduce theming support for UI components - Created `theme.rs` to define color palettes and themes (Day/Night). - Implemented semantic colors for success, warning, and danger states. - Added methods for color retrieval based on RTT and loss metrics. feat(view): add view management for UI navigation - Introduced `view.rs` to manage different UI views (Graph, Table, Point, Sparkline). - Implemented methods for view switching and name retrieval. style(ui): enhance UI aesthetics with rounded borders and improved spacing - Updated widget styles across modules for better visual consistency. - Applied rounded borders and adjusted spacing for a cleaner layout. * feat(docs): update README and README_ZH with new demo images and exporter mode details * feat: update version to 0.7.0 in Cargo.toml and main.rs * feat(ui): add p95 latency calculation and display in various UI components3 天前
feat(ui): implement layout module for improved UI structure (#113) * feat(ui): implement layout module for improved UI structure - Added a new `layout.rs` module to manage the overall UI layout. - Introduced `LayoutContext` struct to encapsulate view, theme, IP data, and tick information. - Created functions to render header, status bar, and activity bar with dynamic metrics. - Enhanced visual elements with a wave effect and improved metrics display. refactor(ui): update existing modules to utilize new layout structure - Modified `mod.rs` to include the new `layout` module. - Updated `point.rs`, `sparkline.rs`, `table.rs` to integrate theme and layout changes. - Refactored rendering logic to use the new `Theme` struct for consistent styling. - Improved error handling display in `utils.rs` with theme-aware colors. feat(ui/theme): introduce theming support for UI components - Created `theme.rs` to define color palettes and themes (Day/Night). - Implemented semantic colors for success, warning, and danger states. - Added methods for color retrieval based on RTT and loss metrics. feat(view): add view management for UI navigation - Introduced `view.rs` to manage different UI views (Graph, Table, Point, Sparkline). - Implemented methods for view switching and name retrieval. style(ui): enhance UI aesthetics with rounded borders and improved spacing - Updated widget styles across modules for better visual consistency. - Applied rounded borders and adjusted spacing for a cleaner layout. * feat(docs): update README and README_ZH with new demo images and exporter mode details * feat: update version to 0.7.0 in Cargo.toml and main.rs * feat(ui): add p95 latency calculation and display in various UI components3 天前
Initial commit1 年前
feat(ui): implement layout module for improved UI structure (#113) * feat(ui): implement layout module for improved UI structure - Added a new `layout.rs` module to manage the overall UI layout. - Introduced `LayoutContext` struct to encapsulate view, theme, IP data, and tick information. - Created functions to render header, status bar, and activity bar with dynamic metrics. - Enhanced visual elements with a wave effect and improved metrics display. refactor(ui): update existing modules to utilize new layout structure - Modified `mod.rs` to include the new `layout` module. - Updated `point.rs`, `sparkline.rs`, `table.rs` to integrate theme and layout changes. - Refactored rendering logic to use the new `Theme` struct for consistent styling. - Improved error handling display in `utils.rs` with theme-aware colors. feat(ui/theme): introduce theming support for UI components - Created `theme.rs` to define color palettes and themes (Day/Night). - Implemented semantic colors for success, warning, and danger states. - Added methods for color retrieval based on RTT and loss metrics. feat(view): add view management for UI navigation - Introduced `view.rs` to manage different UI views (Graph, Table, Point, Sparkline). - Implemented methods for view switching and name retrieval. style(ui): enhance UI aesthetics with rounded borders and improved spacing - Updated widget styles across modules for better visual consistency. - Applied rounded borders and adjusted spacing for a cleaner layout. * feat(docs): update README and README_ZH with new demo images and exporter mode details * feat: update version to 0.7.0 in Cargo.toml and main.rs * feat(ui): add p95 latency calculation and display in various UI components3 天前
feat(ui): implement layout module for improved UI structure (#113) * feat(ui): implement layout module for improved UI structure - Added a new `layout.rs` module to manage the overall UI layout. - Introduced `LayoutContext` struct to encapsulate view, theme, IP data, and tick information. - Created functions to render header, status bar, and activity bar with dynamic metrics. - Enhanced visual elements with a wave effect and improved metrics display. refactor(ui): update existing modules to utilize new layout structure - Modified `mod.rs` to include the new `layout` module. - Updated `point.rs`, `sparkline.rs`, `table.rs` to integrate theme and layout changes. - Refactored rendering logic to use the new `Theme` struct for consistent styling. - Improved error handling display in `utils.rs` with theme-aware colors. feat(ui/theme): introduce theming support for UI components - Created `theme.rs` to define color palettes and themes (Day/Night). - Implemented semantic colors for success, warning, and danger states. - Added methods for color retrieval based on RTT and loss metrics. feat(view): add view management for UI navigation - Introduced `view.rs` to manage different UI views (Graph, Table, Point, Sparkline). - Implemented methods for view switching and name retrieval. style(ui): enhance UI aesthetics with rounded borders and improved spacing - Updated widget styles across modules for better visual consistency. - Applied rounded borders and adjusted spacing for a cleaner layout. * feat(docs): update README and README_ZH with new demo images and exporter mode details * feat: update version to 0.7.0 in Cargo.toml and main.rs * feat(ui): add p95 latency calculation and display in various UI components3 天前

🏎 NBping

NBping 是一个基于 Rust 开发的终端可视化 Ping 工具, 支持多地址并发 Ping, 可视化图表展示, 数据实时更新等特性

NBping demo

Featured|HelloGitHub hanshuaikang%2FNBping | Trendshift

NBping demo

📢 Nping 现在已经更名为 NBPing(nbping)

Important

更名通知

本项目已从 Nping 正式更名为 NBPing

请相应更新您的书签、依赖项和安装脚本。旧名称现已弃用,不再维护。

nbping --help

** 导出器模式 ** 现在 NBping 支持通过将 Ping 指标数据通过 Prometheus 格式导出,你可以使用 Grafana 等工具进行可视化展示。

nbping exporter www.baidu.com www.google.com -i 1 -p 9100

然后你可以访问获取这些数据 http://localhost:9100/metrics

你可以通过 Grafana 来可视化这些数据

NBping demo

安装

MacOS Homebrew

brew install nbping

nbping --help

功能特性:

  • 支持 TCP Ping
  • 支持 IP 段 Ping

后续计划:

  • 优化 UI 界面,增加更多动态效果

使用方法

nbping www.baidu.com www.google.com www.apple.com www.sina.com -c 20 -i 2

nbping --help

🏎  NBping mean NB Ping, A Ping Tool in Rust with Real-Time Data and Visualizations

Usage: nbping [OPTIONS] <TARGET>...

Arguments:
  <TARGET>...  target IP address or hostname to ping

Options:
  -c, --count <COUNT>          Number of pings to send [default: 65535]
  -i, --interval <INTERVAL>    Interval in seconds between pings [default: 0]
  -6, --force_ipv6             Force using IPv6
  -m, --multiple <MULTIPLE>    Specify the maximum number of target addresses, Only works on one target address [default: 0]
  -v, --view-type <VIEW_TYPE>  View mode graph/table/point/sparkline [default: graph]
  -o, --output <OUTPUT>        Output file to save ping results
  -h, --help                   Print help
  -V, --version                Print version

导出器使用方法

nbping exporter www.baidu.com www.google.com -i 1 -p 9100

./nbping exporter --help
Exporter mode for monitoring

Usage: nbping exporter [OPTIONS] <TARGET>...

Arguments:
  <TARGET>...  target IP addresses or hostnames to ping

Options:
  -i, --interval <INTERVAL>  Interval in seconds between pings [default: 1]
  -p, --port <PORT>          Prometheus metrics HTTP port [default: 9090]
  -h, --help                 Print help

致谢

感谢这些朋友对 NBping 提出的反馈和建议。

| ThatFlower | zx4i | snail2sky | shenshouer | vnt-dev | qingyuan0o0 | Onlywzr

感谢以下自媒体对 NBping 的关注和转发。

| 阮一峰的网络日志 |Rust 中文社区 | 公众号:奇妙的linux世界 | 公众号:IT运维技术圈 | X:@geekbb | 公众号:一飞开源公众号: 开源日记

Star History

Star History Chart

项目介绍

🏎 Nping,即“NB Ping”,是一款用Rust语言开发的具备实时数据监控与可视化功能的Ping工具。【此简介由AI生成】

定制我的领域
102.2 K90访问 GitHub

下载使用量

0

项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新

语言类型

Rust100%