
Deep Packet Inspection을 우회하기 위해 TLS ClientHello 패킷을 분할하여, 관리자 권한 없이 차단된 웹사이트에 접근할 수 있게 해주는 로컬 프록시.
차단에 NO라고 외쳐라!
[!IMPORTANT] 이 프로젝트는 https://github.com/theo0x0/nodpi 저장소의 포크이며 독립적으로 개발되었습니다. https://github.com/raspabamos/nodpi 와 혼동하지 마세요!
[!NOTE] 이 버전은 데스크탑 시스템용입니다. 안드로이드 버전은 여기에서 확인하세요: https://github.com/GVCoder09/NoDPI4Android
🌐 웹사이트 및 문서 - 사용자 친화적인 가이드 및 개요
다른 언어로 읽기 / Читайте на других языках
NoDPI는 DPI(심층 패킷 분석, Deep Packet Inspection)를 우회하도록 설계된 유틸리티입니다. DPI란 무엇인가요? DPI는 네트워크 패킷의 내용을 기반으로 검사하여 트래픽을 규제하고 필터링하는 기술입니다. 인터넷 서비스 제공업체(ISP)가 특정 웹 리소스 및 프로토콜에 대한 접근을 검열하고 차단하는 데 자주 사용됩니다. 이 프로그램의 목표는 네트워크 패킷을 수정하여 DPI를 "속이는" 것이지만, 실제로 이러한 속임수는 종단 간 계산 리소스와 시간 부족의 결과일 뿐인 경우가 많습니다.
이 유틸리티는 주로 러시아 사용자를 위해 유사한 도구의 더 간단한(그러나 덜 강력한) 대체품으로 개발되었습니다. 대부분의 경우 작업을 수행하며, 특히 YouTube를 아무 문제 없이 사용할 수 있게 해줍니다.
그러나 안타깝게도 이 유틸리티의 절대적인 성능을 보장할 수는 없습니다. YouTube와 같은 일부 사이트는 잠금 해제가 잘 되지만, Instagram.com이나 Facebook.com과 같은 다른 사이트는 잠금 우회에 완전히 다른 방법이 필요하며, 이는 낮은 수준과 어려움으로 인해 이 유틸리티에 아직 구현되지 않았습니다. 특정 사이트의 성능은 공급자가 사이트를 차단하는 방식과 어떤 기술적 수단을 적용하는지에 따라 달라질 수도 있습니다.
NoDPI는 컴퓨터에서 프록시 서버를 실행하여 http(s) 트래픽을 해당 서버로 보냅니다. 프로그램은 나가는 연결의 ClientHello를 가로채서 다음 방법 중 하나에 따라 분할합니다.
SNI 기준 분할 (기본값)
패킷에는 SNI 레코드를 포함하는 필드가 있습니다. ClientHello는 여러 TLS 레코드로 분할됩니다: SNI 이전 부분, SNI 문자별, SNI 이후 부분. 각 부분에는 ClientHello 유형을 나타내는 헤더가 추가되고, 전체 패킷이 단일 패킷으로 전송됩니다.
랜덤 분할
ClientHello는 임의 길이의 여러 부분으로 나뉩니다. 각 부분은 ClientHello 유형의 접두사와 함께 붙여진 후 단일 패킷으로 전송됩니다.
또한 방법에 관계없이 TLS 버전은 가장 현대적인 버전 1.3으로 대체됩니다(그러나 데이터가 이 버전의 사양에 따라 전송되기 시작한다는 의미는 아닙니다). 이 모든 것이 함께 차단을 우회할 수 있게 해줍니다. 분명히 DPI는 아직 이 "공"을 풀기 위한 필요한 역량을 갖추지 못했으며, 시간과 노력을 절약하기 위해 이러한 트래픽을 무시하는 것 같습니다. 그러나 곧 이러한 방법이 더 이상 작동하지 않을 가능성도 있습니다.
[!IMPORTANT] NoDPI는 HTTPS 트래픽에서만 작동합니다. HTTP 트래픽도 처리할 수 있지만 순전히 호환성을 위한 것입니다. 이 구식 프로토콜을 통해 작동하는 사이트는 잠금 해제가 거의 불가능하며 프로그램은 단순히 트래픽을 수신자에게 전송합니다.
NoDPI는 사용자에 대한 어떤 데이터도 수집하거나 전송하지 않으며, 타사 프로그램이나 라이브러리를 사용하지 않으며, 시스템 프로세스에 간섭하지 않으며, 작동에 관리자 권한이 필요하지 않습니다.
NoDPI의 모든 코드는 Python으로만 작성되었으며 표준 라이브러리만 사용합니다.
2026년 2월 기준으로 다음 서비스 및 웹사이트는 NoDPI를 사용하여 차단 해제할 수 없습니다:
@ValdikSS의 GoodbyeDPI 또는 다른 도구를 사용해 주세요. IP 주소로 차단된 모든 사이트도 접속 불가능합니다.
[!WARNING] 이 소프트웨어를 어떤 형태로든 사용하거나 배포함으로써 귀하는 다음 이용 약관 및 면책 조항에 동의하는 것입니다.
본 소프트웨어의 개발자 및/또는 공급자는 본 소프트웨어 사용 또는 사용 불능으로 인해 발생하는 직접적, 간접적, 우발적, 징벌적 또는 결과적 손해를 포함하되 이에 국한되지 않는 모든 손실 또는 손해에 대해 책임을 지지 않습니다. 개발자 또는 공급자가 이러한 손해의 가능성을 통보받은 경우에도 마찬가지입니다.
본 소프트웨어의 개발자 및/또는 공급자는 본 소프트웨어 사용으로 인해 발생하는 모든 법적 결과에 대해 책임을 지지 않습니다. 여기에는 법률, 규칙 또는 규정 위반뿐만 아니라 본 소프트웨어 사용과 관련하여 발생하는 모든 청구 또는 소송이 포함되나 이에 국한되지 않습니다. 사용자는 본 소프트웨어 사용 시 모든 관련 법률 및 규정을 준수할 전적인 책임이 있습니다.
본 소프트웨어의 개발자 및/또는 공급자는 본 소프트웨어의 무단 사용으로 인해 발생하는 모든 손실 또는 손해에 대해 책임을 지지 않습니다. 무단 사용에는 불법 목적으로 소프트웨어를 사용하거나, 저작권, 특허, 상표 또는 기타 지적 재산권을 침해하거나, 소프트웨어의 라이선스 조건을 위반하여 소프트웨어를 사용하는 행위가 포함되나 이에 국한되지 않습니다.
본 소프트웨어는 불법 또는 위법한 목적으로 사용될 수 없습니다. 사기, 해킹, 개인정보 침해, 악성코드 유포 또는 법규에 위배되는 기타 행위를 포함하되 이에 국한되지 않는 불법 활동에 소프트웨어를 사용하는 행위는 엄격히 금지됩니다. 사용자는 불법 목적으로 본 소프트웨어를 사용하여 발생하는 모든 법적 결과에 대해 전적인 책임이 있습니다.
본 소프트웨어를 사용하면 본 면책 조항의 조건에 동의하는 것으로 간주됩니다. 이 조건에 동의하지 않는 경우 즉시 본 소프트웨어 사용을 중단해야 합니다.
nodpi.exe --blacklist blacklist.txt, Linux에서는 ./nodpi --blacklist ./blacklist.txt 명령으로 실행합니다. blacklist.txt 파일을 자신의 파일로 교체할 수 있습니다. 블랙리스트 파일이 지정되지 않으면 프로그램은 기본적으로 현재 디렉토리에서 blacklist.txt 파일을 찾습니다.[!IMPORTANT] 프로그램을 종료한 후 시스템 또는 브라우저 설정에서 프록시를 비활성화하는 것을 잊지 마세요!
문제 및 오작동은 Issues 페이지에 보고해 주세요.
기본적으로 YouTube 도메인만 포함된 블랙리스트가 사용됩니다. 추가 목록은 여기에서 찾을 수 있습니다.
[!NOTE] 이 옵션은 실행 파일 버전에서만 사용할 수 있습니다.
[!IMPORTANT]
blacklist.txt파일이 실행 파일과 같은 위치에 있는지 확인하세요.