1 unstable release
new 0.1.0 | Mar 22, 2025 |
---|
#225 in Network programming
96 downloads per month
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