본문으로 건너뛰기
로그인 둘러보기
보안·개인정보 · 윈도우즈 유틸 · 인터넷·네트워크·원격

Tenebra

0

Tenebra는 Windows를 1순위 플랫폼으로 하는 오픈소스 크로스플랫폼 VPN 클라이언트입니다.

네트워크보안터널프라이버시프록시

소개

Tenebra는 Windows를 1순위 플랫폼으로 하는 오픈소스 크로스플랫폼 VPN 클라이언트입니다. Divaaaan 저장소의 프로젝트로 sing-box 코어를 기반으로 개발되었으며, GPLv3 라이선스로 소스가 공개되어 있습니다. 다양한 프록시 프로토콜을 단일 노드 모델로 통합하고 DPI 우회와 정책 라우팅을 결합해 안전한 네트워크 터널을 구성하는 데 초점을 둡니다.

상세정보

다중 프로토콜과 단일 노드 모델

VLESS(REALITY 포함), Hysteria2, AmneziaWG, Shadowsocks, Trojan, VMess 등 sing-box가 지원하는 프로토콜을 가져올 수 있습니다. 정규화된 노드 모델이 자체 sing-box 설정 생성기에 입력되며, 모든 프로토콜을 동일한 UI 흐름으로 다룰 수 있습니다.

다양한 가져오기 경로

구독 URL, 원시 공유 링크, .txt 링크 모음, 클립보드 붙여넣기, QR 코드 이미지 또는 붙여넣은 이미지로 노드를 추가할 수 있습니다. 구독 본문은 Clash/Mihomo YAML, base64, 평문 링크 목록을 처리하며 Subscription-Userinfo 헤더로 사용량과 만료일을 읽습니다.

Smart RU 라우팅

Smart 모드는 러시아 도메인·IP와 LAN을 직접 연결하고 나머지는 터널로 보냅니다. Global은 전체 트래픽을 터널링하고 Direct는 프록시를 끕니다. 지오데이터는 sing-geoip/sing-geosite 룰셋의 로컬 .srs 파일을 사용하며 연결 중 새로 내려받지 않습니다.

Windows 전용 DPI 우회

Windows에서 zapret을 통해 TLS ClientHello 분할 등 패킷 편집을 수행해 검열을 우회합니다. 번들 릴리스 한 개가 바이너리에 포함되어 오프라인 환경에서도 기본 동작을 보장하고, 이후 12시간 간격으로 새 릴리스를 확인해 교체합니다. 설정의 Censorship bypass > Update the bundle automatically 옵션으로 자동 다운로드를 끌 수 있습니다.

프로토콜 폴백

마지막 정상 노드부터 REALITY → Hysteria2 → AmneziaWG 순서로 우선순위를 매겨 다시 시도하는 순수 상태 머신이 구현되어 있습니다. 다음 실행 때는 마지막 성공 노드가 먼저 선택됩니다.

앱별 분할 터널링

Exclude 모드는 선택한 앱을 터널 밖으로 보내고, Include 모드는 선택한 앱만 터널로 보냅니다. 실행 파일 이름으로 매칭되며 재시작 후에도 유지됩니다.

누출 점검

여러 echo 서비스로 공인 IP를 관찰하고 DNS를 점검한 뒤 측정하지 못한 항목을 솔직하게 보고하는 진단 기능을 제공합니다.

데스크톱 편의 기능

연결 상태를 반영하는 트레이, 상태 변경 데스크톱 알림, tenebra:// 딥링크, 로그인 시 자동 실행(트레이로 최소화 가능), 단일 인스턴스, 실시간 트래픽 그래프, light/dark 테마, 영어/러시아어 UI가 포함됩니다. 킬 스위치는 UI 토글로 제공되며 LAN 바이패스는 코어 라우팅 옵션입니다.

설치 및 기본 사용

Windows에서는 Windows Package Manager로 설치하거나 릴리스 페이지의 Tenebra_x.y.z_x64-setup.exe를 실행할 수 있습니다. 설치 프로그램이 백그라운드 서비스를 등록하고 인앱 업데이터가 앱과 서비스를 모두 최신 상태로 유지합니다. macOS는 universal DMG를 받아 macOS 노트의 안내대로 루트 LaunchDaemon을 수동으로 설치해야 실제 터널이 동작합니다. Linux는 Arch 패키지로 한 번에 설치하거나 fetch-resources.sh와 install-daemon.sh로 데몬을 직접 등록합니다.

활용 예시

Tenebra는 서버를 함께 제공하지 않으므로 사용자는 자신의 sing-box/Xray 서버를 운영하거나 외부 제공자의 구독/공유 링크를 가져와 연결합니다. 본문에서 안내된 시나리오는 Smart 라우팅으로 러시아 국내 트래픽을 직접 흘려보내면서 나머지를 터널링하거나, Windows에서 zapret 기반 DPI 우회를 활성화해 검열 대상 서비스를 자체 지연 시간으로 이용하는 흐름입니다.

지원 환경 및 요구사항

데스크톱 빌드는 Windows, macOS, Linux용으로 릴리스되며 Android는 알파 단계로 손수 설치하는 Kotlin/Compose 클라이언트가 별도 제공되고 iOS는 스캐폴드 단계로 명시되어 있습니다. 빌드 시 요구사항은 Go 1.24+, Node 22+, Rust 툴체인이며 자세한 절차는 docs/development.md에 정리되어 있습니다.

제한·라이선스·확인사항

Tenebra 본체는 GPLv3로 배포되며 sing-box도 GPLv3이므로 동일 라이선스가 적용됩니다. 번들된 서드파티 구성 요소와 그 라이선스는 THIRD-PARTY-NOTICES.md에 정리되어 있습니다. Windows 인스톨러는 Authenticode 미서명이라 SmartScreen 경고가 표시되고, macOS 빌드도 미서명·미공증이어서 첫 실행 시 Privacy & Security에서 Open Anyway가 필요합니다. macOS와 Linux의 터널은 아직 라이브 서명 완료 단계가 아니며 시스템 프록시 모드는 Linux에서 비활성화된다는 점, 번들된 sing-box가 musl 배포판과 호환되지 않는다는 점이 안내되어 있습니다.

시스템 요구사항

- 운영체제: Windows(데스크톱 클라이언트 중심), macOS·Linux(고급 사용자용, 루트 데몬 수동 설치 필요)
- 아키텍처: Windows 빌더 x64, macOS는 유니버설
- 런타임: Windows용 Wintun 드라이버 및 sing-box 코어(인앱 업데이터가 관리)
- 빌드 시 요구사항(소스에서 직접 빌드할 경우): Go 1.24+, Node 22+, Rust 툴체인(Tauri 2 기반 데스크톱 UI), Linux는 systemd 및 glibc(번들된 sing-box 바이너리)
- 네트워크: 첫 연결 시 차단 해제 번들 다운로드 가능 시 GitHub 릴리스 페이지 접근 필요