ChainCheck is a powerful and automated Bash-based tool designed for advanced network diagnostics, SSH tunnel chaining, and internet speed testing. It enables running speed and connectivity tests through multi-hop SSH tunnels and generates structured logs for professional analysis.
- π Multi-hop SSH Tunneling: Automatically creates chained SOCKS5 proxies using SSH through multiple servers.
- π Speed Tests:
- Through SOCKS5 proxies with
speedtest-cli - Directly on remote servers
- Through SOCKS5 proxies with
- πΆ Connectivity Tests:
pingfor latencytracerouteto trace network paths
- π§Ύ Automatic Logging:
- Logs in
.txtand.csvformats - Easily parsable and graphable
- Logs in
- π Tunnel Management:
- Auto-kills old tunnels
- Cleans up resources
- βοΈ Fully Scripted CLI:
- Menu-driven script with multiple modes
- Prepare the environment: Verify required binaries (
ssh,speedtest-cli, etc.) - Create tunnels: SSH-based SOCKS5 proxies from multi-hop servers.
- Run tests:
- Speedtest through proxy or direct
- Ping & traceroute
- Log results: Save outputs to structured text and
.csv - Cleanup: Automatically kills all opened SSH tunnels
π Logs and reports are stored with timestamped filenames to avoid overwrite.
| Mode | Description |
|---|---|
1 |
Create SSH tunnels (multi-hop, SOCKS5 ready) |
2 |
Speedtest via SOCKS5 proxies |
3 |
Speedtest directly on servers (no proxy) |
4 |
Ping and traceroute between servers |
5 |
Full benchmark (all tests combined) |
Make sure the following tools are installed:
bashsshspeedtest-clipingtraceroute
Optional for enhancements:
mailxorsendmail(for email reports)cron(for scheduled runs)parallel(for performance)
β
SSH tunnels created.
π Running Speedtest on port 1081...
Download: 12.45 Mbps
Upload: 5.67 Mbps