프로젝트 소개
Throughline은 네트워크 활동에 대한 포괄적인 가시성을 제공하고 트래픽 라우팅에 대한 직관적인 제어를 제공하기 위해 설계된 전문 Linux 유틸리티입니다. Rust로 작성되었으며 타사 종속성이 없으므로 감사 가능성과 보안이 강조됩니다. 이 도구는 시각화 화면과 정책 편집기의 두 가지 주요 인터페이스로 구성됩니다.
첫 번째 화면은 호스트의 모든 네트워크 연결을 실시간으로 표시하며, 각 연결을 해당 연결을 연 특정 프로세스, 서비스 또는 컨테이너에 속하게 합니다. 로컬 장치에서 중간 로컬 서비스를 거쳐 네트워크 인터페이스를 통해 원격 대상에 이르는 경로를 시각화합니다. 이 뷰는 사용자가 자신의 컴퓨터가 무엇과 통신하고 있는지, 그리고 호스트가 시작한 아웃바운드 연결과 네트워크의 인바운드 요청을 구별하는 방법을 이해하는 데 도움이 됩니다.
두 번째 화면은 트래픽이 가는 곳을 변경할 수 있는 드래그 앤 드롭 편집기입니다. 프로그램을 "Straight out", "Through the VPN", "Through Tor"와 같은 범주로 드래그하면 라우팅 정책을 정의할 수 있습니다. 인터페이스는 각 선택의 의미를 명확하게 설명하고 생성될 정확한 방화벽 규칙(nftables)과 명령을 미리 보여줍니다. 무엇보다도, 변경 사항은 자동으로 적용되지 않습니다. 사용자는 작업을 명시적으로 확인해야 하며, 이는 설정된 기간 내에 확인하지 않으면 변경 사항을 자동으로 되돌리는 카운트다운 타이머(systemd에서 관리)를 트리거합니다. 이 "deadman switch" 메커니즘은 우발적인 잠금 또는 치명적인 라우팅 오류를 방지합니다.
Throughline은 프로세스 소유권, 서비스 이름 및 연결 방향을 결정하기 위해 `/proc` 및 `/etc/services`와 같은 시스템 파일을 읽는 데 의존합니다. 알려진 포트나 프록시의 하드코딩된 목록을 유지하지 않고 대신 호스트의 현재 상태에서 동적으로 사실을 도출합니다. 이 접근 방식은 비표준 또는 사용자 정의 서비스에 대해서도 정확성을 보장합니다. 이 도구에는 사용자의 자체 관리 세션을 차단하거나, 라우팅 루프를 생성하거나, DNS 트래픽을 유출하는 규칙을 생성하지 않도록 거부하는 강력한 안전 검사도 포함되어 있습니다. 루프백 인터페이스에서만 로컬로 실행되도록 설계되어 민감한 네트워크 토폴로지 데이터가 네트워크에 노출되지 않도록 합니다. 검증 스크립트는 격리된 네트워크 네임스페이스에서 라우팅 논리를 테스트하고 실제 브라우저에서 UI 동작을 검증하기 위해 제공됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.