#networking #ping #tui #bar-charts

app pingy

Pingy: A fast, concurrent Rust-based ping tool with real-time updates & visual charts!

1 unstable release

new 0.1.0 Mar 22, 2025

#225 in Network programming

Download history 96/week @ 2025-03-18

96 downloads per month

MIT license

42KB
1K SLoC

๐Ÿงน pingy

       _
 _ __ (_)_ __   __ _ _   _
| '_ \| | '_ \ / _` | | | |
| |_) | | | | | (_| | |_| |
| .__/|_|_| |_|\__, |\__, |
|_|            |___/ |___/

โšก Pingy: A fast, concurrent Rust-based ping tool with real-time updates & visual charts! ๐Ÿ“Š๐Ÿš€

โœจ Features

  • โšก Concurrent Ping: Ping multiple addresses simultaneously for faster results.
  • ๐Ÿ“Š Visual Latency Display: Graphical representation of latency for easy analysis.
  • โฑ๏ธ Real-Time Metrics: Displays max, min, avg latency, packet loss rate, and more in real-time.
  • ๐ŸŒ IPv4 & IPv6 Support: Works seamlessly with both IP versions.
  • ๐Ÿ”„ Multi-IP Under One Address: Supports concurrent pinging of multiple IPs under a single domain.

๐Ÿš€ Installation

To install pingy, simply clone the repository and follow the instructions below:

git clone git@github.com:trinhminhtriet/pingy.git
cd pingy

cargo build --release
cp ./target/release/pingy /usr/local/bin/

Running the below command will globally install the pingy binary.

cargo install pingy

Optionally, you can add ~/.cargo/bin to your PATH if it's not already there

echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

๐Ÿ’ก Usage

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

pingy --help

โšก Pingy: A fast, concurrent Rust-based ping tool with real-time updates & visual charts!

Usage: pingy [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 [default: graph]
  -h, --help                 Print help
  -V, --version              Print version

๐Ÿ™ Acknowledgements

Thanks to these people for their feedback and suggestions for Pingy! [TBD]

๐Ÿค How to contribute

We welcome contributions!

  • Fork this repository;
  • Create a branch with your feature: git checkout -b my-feature;
  • Commit your changes: git commit -m "feat: my new feature";
  • Push to your branch: git push origin my-feature.

Once your pull request has been merged, you can delete your branch.

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~12โ€“25MB
~373K SLoC