프로젝트 소개

Aether는 Rust로 작성된 검열 우회 클라이언트로, DPI, 프로토콜 핑거프린팅, UDP 스로틀링 및 엔드포인트 차단이 흔한 강하게 제한된 네트워크를 대상으로 합니다. 접근 가능한 엔드포인트를 자동으로 검색하고, 암호화된 터널을 설정하며, 애플리케이션을 위한 로컬 SOCKS5 프록시(기본값 127.0.0.1:1819)를 노출합니다. README에 설명된 주요 기능: - 종단 간 데이터 플레인 검증을 통한 자동 엔드포인트 검색으로, 게이트웨이가 실제로 트래픽을 통과시킨 후에만 신뢰됩니다. - HTTP/3(QUIC) 또는 HTTP/2(TLS)상의 MASQUE 전송, HTTP/2에서 선택적 TLS ClientHello 프래그멘테이션 지원. - WireGuard 전송 및 중첩 모드: 중첩 WireGuard(`gool`)와 중첩 MASQUE(`--mim`)로, 내부 터널이 외부 터널 내부에서 연결되어 다른 출구 주소를 얻습니다. - 트래픽 난독화 및 도메인, 주소 또는 포트별 라우팅 규칙으로, TLS 서버 이름에서 매칭되어 tun 프런트 엔드 뒤에서도 규칙이 계속 작동합니다. - 업스트림 프록시 지원으로, Aether가 이미 머신에서 실행 중인 다른 VPN 또는 프록시를 통해 연결할 수 있습니다. - 선택적 Tor 통합(`tor` 기능으로 빌드, arti 사용): 터널을 통한 Tor(`--tor`), Tor를 통한 터널(`--tor-reverse`), 또는 Tor 단독(`--tor-only`). `--tor` 사용 시 127.0.0.1:1820의 두 번째 프록시가 Tor를 통해 나갑니다. Tor가 차단된 곳에서는 reverse/only 모드가 bridgedb에서 브릿지를 가져오고 `pt/` 폴더에 포함된 플러거블 전송을 사용합니다. - 자동 재연결 및 마지막으로 정상 작동한 게이트웨이로의 빠른 재연결. - 명령줄 플래그, 환경 변수 또는 대화형 프롬프트를 통한 구성. 플랫폼 및 패키징: Windows x86_64, macOS(Apple Silicon 및 Intel), Linux x86_64/arm64/armv7(glibc 및 musl 정적 빌드), OpenWrt 라우터(aarch64, armv7l, x86_64; MIPS 미지원), 그리고 한 줄 설치 스크립트를 통한 Termux의 Android용 사전 빌드 바이너리. 각 아카이브에는 일치하는 `.sha256` 파일과 통합 `SHA256SUMS.txt`가 있습니다. Docker 이미지가 GHCR에 게시되며, 실행 간에 생성된 WARP 아이덴티티를 유지하려면 `/data` 볼륨을 권장합니다. 소스에서 빌드하려면 Rust 1.98 이상, C/C++ 컴파일러 및 CMake가 필요하며, Cloudflare의 `quiche` 저장소가 `aether` 디렉터리 옆에 배치되어야 합니다. Cargo 매니페스트는 `aether/Cargo.toml`에 있습니다. README의 운영 참고 사항: SOCKS5 프록시에는 인증이 없으므로 localhost 또는 LAN 주소에 바인딩해야 하며 WAN에 노출되어서는 안 됩니다. OpenWrt에서는 구성이 `/etc/aether`와 같은 영구 저장소에 있어야 합니다. 라우터가 자체 트래픽을 tun 프런트 엔드로 라우팅할 때 `--mark 0xff`를 사용하여 Aether의 소켓이 tun을 우회하도록 할 수 있습니다. 이 프로젝트는 CluvexStudio에서 개발했으며 MASQUE 지원은 Cloudflare의 Quiche 라이브러리를 기반으로 구축되었습니다.