소개
byedpi는 Deep Packet Inspection(DPI)을 우회하기 위한 오픈소스 명령줄 도구로, 로컬에서 동작하는 SOCKS 프록시 서버 형태로 트래픽이 DPI를 통과하도록 재라우팅해 주는 것이 주된 목적입니다. hufrea 저장소의 C 언어 프로젝트로 유지되고 있으며, MIT 라이선스로 배포되어 소스가 공개되어 있습니다. 사용자는 별도의 외부 프록시 서비스 없이 자신의 PC에서 직접 DPI 우회 시나리오를 구성할 수 있습니다.
상세정보
SOCKS 프록시 기반 우회
프로그램 자체가 로컬 SOCKS 프록시로 동작합니다. 기본적으로 0.0.0.0:1080에서 수신하며, 투명 프록시 모드(-E, –transparent)로 실행하면 SOCKS 대신 트래픽을 직접 처리할 수도 있습니다.
DPI 교란을 위한 패킷 조작 옵션
- –split / –disorder / –oob / –disoob: 패킷을 분할하거나 순서를 뒤바꾸거나 OOB 바이트를 삽입해 DPI가 흐름을 잘못 해석하도록 만듭니다.
- –fake / –fake-data / –fake-sni / –fake-offset / –fake-tls-mod: 가짜 데이터를 섞어 보내거나, SNI를 동적으로 변경하거나, 원본 ClientHello를 기반으로 페이크를 구성합니다. –fake-tls-mod에는 rand, orig, msize가 포함됩니다.
- –tlsrec / –tlsminor: TLS 레코드를 분할하거나 TLS 레코드의 세 번째 바이트를 변경합니다.
- –ttl, –md5sig: 가짜 패킷이 DPI에는 도달하되 서버에는 도달하지 않도록 만듭니다. –md5sig는 Linux 전용입니다.
- –mod-http: HTTP Host 헤더 표기를 hcsmix, dcsmix, rmspace 방식으로 변형합니다.
- –udp-fake, –drop-sack: UDP 페이크와 SACK 무시 기능을 제공합니다.
자동 우회 및 도메인·프로토콜 제어
- –auto(t,r,s,n): torst, redirect, ssl_err, none 이벤트가 감지되면 다음에 지정된 우회 전략 그룹으로 이동합니다.
- –auto-mode 0~3: 캐시 갱신 및 그룹 정렬 정책을 설정합니다.
- –cache-ttl, –cache-dump: 우회 IP 캐시의 수명 조정과 덤프를 지원합니다.
- –proto(t,h,u,i), –hosts, –ipset, –pf: TLS/HTTP/UDP/IPv4 화이트리스트, 도메인/IP/포트 제한을 적용합니다.
- –no-domain, –no-udp, –tfo(Linux 4.11+), –round, –timeout, –max-conn, –buf-size 등 운영 옵션을 함께 제공합니다.
다양한 배포 경로
Windows에서는 winget(`hufrea.byedpi`)으로 설치할 수 있고, 소스에서 직접 빌드하거나 Docker Hub의 hufrea/byedpi 이미지를 사용하는 경로도 공식 안내에 포함됩니다.
byedpi는 무료인가요?
MIT 라이선스의 오픈소스 프로젝트로 별도 비용 없이 사용할 수 있습니다.
어떤 프로토콜을 지원하나요?
SOCKS 프록시로 동작하며, –proto 옵션으로 TLS, HTTP, UDP, IPv4를 화이트리스트할 수 있습니다.
Windows에서 설치하는 방법은 무엇인가요?
winget을 사용해 `winget install –id hufrea.byedpi –exact` 명령으로 설치할 수 있습니다.
시스템 요구사항
- Windows 11 · x64 (winget 설치 경로 사용 시)
- MIT 라이선스(MIT License, https://github.com/hufrea/byedpi/blob/HEAD/LICENSE)
- winget 패키지 관리자: `winget install --id hufrea.byedpi --exact`
- Linux/BSD: gcc/clang, make(`make`)
- Windows: mingw(`make windows CC=x86_64-w64-mingw32-gcc`)
- 옵션성: Docker 사용 시 hufrea/byedpi 이미지 및 dist/docker 구성 참고


