Intqual is a network analysis tool designed to diagnose dual-layer latency issues by measuring both application-layer (TCP) and network-layer (ICMP) latencies simultaneously. This provides precise insights into whether bottlenecks arise from local infrastructure or remote services.
Key Features:
Responsive TUI Interface: Utilizes Ratatui for a dynamic, real-time graph display.
Concurrent DNS Resolution: Employs Tokio for fast, non-blocking network probing.
Efficient State Management: Event-driven rendering reduces unnecessary redraws and crashes.
Secure Privilege Handling: Maintains security with isolated worker processes using sudo.
Target Audience and Benefits:
Ideal for network administrators and developers seeking precise diagnostics. Intqual offers efficient troubleshooting by clearly identifying the source of latency issues, whether in application or network layers.
Additionally, Intqual is available via Winget, allowing for easy deployment through the command line, making it accessible for automated setups.
README
Intqual (Internet Quality)
> Note on nomenclature: While "Network Quality" is the conventional English term, Intqual is derived from "Internet Quality"—a phrasing that makes perfect semantic sense in Turkish and inspired the project's name.
A TUI-based, asynchronous network analysis tool designed to diagnose dual-layer latency issues with precision.
Unlike traditional utilities, Intqual measures both application-layer (TCP) and network-layer (ICMP) latency simultaneously, providing instant visibility into whether network bottlenecks stem from local infrastructure or remote services.
Core Features
Ratatui-based Responsive TUI: A dynamic, visually rich user interface with real-time graphs.
Non-blocking Asynchronous DNS: Fast, concurrent DNS resolution and network probing powered by Tokio.
Event-driven State Management: Highly efficient UI rendering triggered strictly by state mutations, avoiding unnecessary redraws and compositor crashes.
Secure Privilege Separation: Graceful root privilege management that prioritizes security without compromising user experience.
Architecture
Intqual is built with Security by Design and strictly adheres to the Principle of Least Privilege (PoLP). The application's main process runs entirely unprivileged. When raw socket operations are required, it dynamically spawns ephemeral Worker Processes via sudo. These isolated, asynchronous sub-processes communicate securely and efficiently back to the unprivileged main application using JSONL IPC Streaming. This ensures maximum security while maintaining the high performance of non-blocking telemetry.
Installation
Universal (Cargo)
You can compile and install Intqual globally using the Rust toolchain. To install the latest version from crates.io:
cargo install intqual
Alternatively, to install from the local source:
cargo install --path .
macOS & Linux (Homebrew)
The easiest way to install on macOS and Linux is via our official Homebrew tap:
> Note: The Windows version is currently experiencing a critical bug because our traceroute implementation relies on sudo-based worker processes, which are incompatible with Windows. The application is likely to crash during traceroute operations. We will provide Winget installation instructions here once this architectural issue is resolved for the Windows platform.
Arch Linux (AUR)
If you are on an Arch-based distribution, clone the repository and build the package locally via makepkg:
git clone https://github.com/RaijuMounun/intqual.git
cd intqual
makepkg -si
It will be available on the official AUR soon.
Pre-compiled Binaries
Grab the latest standalone executable for your OS from the Releases page and place it in your system's PATH.
Usage
Simply run the binary.
intqual
By default, Intqual targets google.com on port 443. From the main dashboard, you can use the TUI navigation to seamlessly switch between different analysis modules, including Speed Tests, Ping, and Traceroute diagnostics.
Advanced CLI Arguments
Usage: intqual [OPTIONS] [TARGET]
Arguments:
[TARGET] The target IP address or hostname to analyze [default: google.com]
Options:
-p, --port The target port for TCP measurements [default: 443]
-i, --interval Polling interval in milliseconds [default: 500]
-t, --timeout Connection timeout threshold in ms [default: 1000]
-h, --help Print help
-V, --version Print version