منصوبے کے بارے میں

Throughline is a specialized Linux utility designed to provide comprehensive visibility into network activity and offer intuitive control over traffic routing. Built in Rust with zero third-party dependencies, it emphasizes auditability and security. The tool consists of two main interfaces: a visualization screen and a policy editor. The first screen displays a real-time map of all network connections on the host, attributing each connection to the specific process, service, or container that opened it. It visualizes the path from the local device through any intermediate local services, out via the network interface, and finally to the remote destination. This view helps users understand exactly what their machine is talking to and how, distinguishing between outbound connections initiated by the host and inbound requests from the network. The second screen is a drag-and-drop editor that allows users to change where traffic goes. By dragging a program into categories such as "Straight out," "Through the VPN," or "Through Tor," users can define routing policies. The interface clearly explains the implications of each choice and previews the exact firewall rules (nftables) and commands that would be generated. Crucially, no changes are applied automatically. Users must explicitly confirm the action, triggering a countdown timer (managed by systemd) that automatically reverts the changes if not confirmed within a set period. This "deadman switch" mechanism prevents accidental lockouts or catastrophic routing errors. Throughline relies on reading system files like `/proc` and `/etc/services` to determine process ownership, service names, and connection directions. It does not maintain a hardcoded list of known ports or proxies, instead deriving facts dynamically from the host's current state. This approach ensures accuracy even for non-standard or custom services. The tool also includes robust safety checks, refusing to generate rules that would block the user's own administrative session, create routing loops, or leak DNS traffic. It is designed to run locally on the loopback interface only, ensuring that sensitive network topology data is not exposed to the network. Verification scripts are provided to test routing logic in isolated network namespaces and to validate the UI behavior in a real browser.