GoodbyeDPI

 

GoodbyeDPI
'''개발자'''
ValdikSS[1]
'''플랫폼'''

'''라이선스'''
아파치 라이선스
'''링크'''
GitHub 다운로드
1. 개요
2. 사용방법
2.1. 응용: Windows 부팅시 cmd 팝업 없이 프로그램 자동 실행시키기
3. 작동방식
3.1. 수동적 DPI (Passive DPI)
3.2. 능동적 DPI (Active DPI)
4. 장점
5. 단점
5.1. 이용 불가 서비스
6. GUI 변종 버전
6.1. GoodbyeDPI GUI
6.2. SafeVisit
6.3. SecretDPI/SNI
7. 기타
7.1. 관련 문서

수동적 DPI#s-3(Deep Packet Inspection; 심층 패킷 분석) 차단 및 능동적 DPI 차단을 우회시켜 주는 Windows용 프로그램. '''방심위가 막아버린 사이트에 접속하거나 우회상태를 항상 유지할때 매우 유용하게 쓰인다.'''
그러나 후술하겠지만, 프로그램 자체만으론 통신 암호화 등의 보안기능을 제공하지 않으므로 보안이 중요하다면 VPN의 사용 또는 ESNI 지원 사이트의 이용을 고려하는 것이 좋다.
2020년 9월 15일부터 DNS 오염 검열이 다시 시작되었다. DNS를 반드시 1.1.1.1 또는 8.8.8.8로 변경하도록 하고, 차후에 Windows가 DoT 또는 DoH를 지원하게 된다면 이 또한 반드시 설정해주어야 한다.

1. 개요


러시아 개발자 ValdikSS가 개발한 오픈 소스 소프트웨어로 특정 웹 사이트에 대한 접근을 차단하는 '심층 패킷 분석(DPI#s-3)'을 우회하는 프로그램이다. 아파치 라이선스로 배포되며, 소스 코드GitHub에 공개되어 있다. 2019년 2월부터 시작된 한국 정부의 HTTPS 차단 등의 인터넷 규제로 많은 사이트가 차단되면서 알려지기 시작했다.

2. 사용방법


  1. 프로그램을 구동하기 전 DNS 설정 바꾸기
DNS 변경 없이 이용한다면 DNS변조로 인한 검열에 제대로 대응할 수 없으므로 꼭 바꾸어 주어야 한다.[2][3] DNS over HTTPS 문서 참조. 물론 GoodbyeDPI에서도 후술할
--dns-addr    [value]
옵션을 통해서 DNS를 변경할수 있는 방법을 제공하고 있고, 이 옵션도 반드시 추가해야 하지만, 이와 별개로 상황에 따라서 GoodbyeDPI를 못 쓸때도 있고, 이때 통신사 DNS에 사이트 접속 정보를 제공해서 좋을 건 전혀 없으니 제어판에서도 직접 설정해두자.[설정방법] 다만 PC에 네트워크 어댑터가 2개 이상이라면 네트워크 어댑터별로 일일히 설정해주어야 한다. PC의 설정을 건드리기가 곤란하고, 집 밖에서 쓸일이 없다면 공유기에서 설정해주어도 된다.
  1. 프로그램 실행하기
goodbyedpi 폴더 안을 보면, x86 폴더와 x86_64폴더가 있다. 32비트 윈도우라면 x86 폴더를, 64비트 윈도우라면 x86_64폴더로 들어가
goodbyedpi.exe
를 실행시키면 된다. 프로그램의 cmd창이 떠있는 동안 실행되며, 창을 닫으면 종료된다.
  1. 차단된 사이트에 접속이 잘 되는지 확인하기
프로그램의 cmd창이 떠있는 동안 차단된 사이트에 접속을 시도해서 올바르게 웹페이지가 표시되는지 확인한다.

2.1. 응용: Windows 부팅시 cmd 팝업 없이 프로그램 자동 실행시키기


아주 기본적인 사용법은 위에 서술한게 끝이지만, 매번 윈도우를 부팅할 때마다 더블 클릭해서 프로그램을 켜는 것은 매우 귀찮은 일이다. 하지만 GoodbyeDPI의 진가는 '''자동 실행 파일을 작성 또는 편집 후 실행하여 윈도우 부팅시 편하게 자신이 설정한 옵션 그대로 자동실행하게끔 만들 수 있다'''는 점이다. 정말 어떤 창도 알림도 띄우지 않고 마치 윈도우에 포함된 기능인 것마냥 매우 조용히 실행된다. 후술하겠지만 옵션을 잘 설정하면 이 프로그램이 켜져있는 상태에서 게임을 해도 전혀 문제가 없다.
  • 1.명령어에 대한 이해
GoodbyeDPI는 사용자가 직접 설정할 수 있는 옵션 명령어를 제공하고 있다. 한국 내 검열 우회에 꼭 필요한 핵심 부분은 굵게 처리하였다.

'''

[value]
는 설정값을 의미한다.'''

-p
수동 DPI 차단

-r
Host 를 hoSt로 교체

-s
host 헤더의 빈칸 제거

-m
Host 헤더를 섞기 (test.com → tEsT.cOm)

'''

-f [value]
설정값에 맞춰서 HTTP 패킷 쪼개기. 값이 작을수록 더 많이 쪼개진다.'''

'''

-k [value]
HTTP 지속성 (keep-alive)패킷 쪼개기. 값이 작을수록 더 많이 쪼개진다.'''

'''

-n
do not wait for first segment ACK when -k is enabled'''

'''

-e [value]
설정값에 맞춰서 HTTPS 패킷 쪼개기. 값이 작을수록 더 많이 쪼개진다.'''

-a
additional space between Method and Request-URI (enables -s, may break sites)

-w
try to find and parse HTTP traffic on all processed ports (not only on port 80)

--port        [value]
additional TCP port to perform fragmentation on (and HTTP tricks with -w)

--ip-id       [value]
handle additional IP ID (decimal, drop redirects and TCP RSTs with this ID). This option can be supplied multiple times.

'''

--dns-addr    [value]
사용자가 지정한 IP로 UDP DNS 요청 보내기 (실험적 기능)'''[4]

--dns-port    [value]
redirect UDP DNS requests to the supplied port (53 by default)

--dnsv6-addr  [value]
redirect UDPv6 DNS requests to the supplied IPv6 address (experimental)

--dnsv6-port  [value]
redirect UDPv6 DNS requests to the supplied port (53 by default)

--dns-verb
print verbose DNS redirection messages

--blacklist   [txtfile]
[5] perform HTTP tricks only to host names and subdomains from supplied text file. This option can be supplied multiple times.

이 많은 옵션을 이해하는 것이 어렵다면, 제작자가 미리 만들어 놓은 프리셋을 사용할 수도 있다. 단 이 프리셋 모드들은 DNS 변경 옵션이 적용되지 않았으므로 참고하자.
-1

-p -r -s -f 2 -k 2 -n -e 2

HTTPS와 HTTP의 파편화값을 2로 설정 후 진행한다. 기본값
-2

-p -r -s -f 2 -k 2 -n -e 40

HTTPS의 파편화값을 40으로, HTTP의 파편화값을 2으로 설정 후 진행한다.
-3

-p -r -s -e 40

HTTPS의 파편화값을 40으로 설정후 진행한다. HTTP 파편화 안함. 지정된 프리셋 중에는 SNI 검열에 대항할 수 있는 최소설정이다.[6]
-4

-p -r -s

HTTPS 및 HTTP 파편화를 진행하지 않음. 한국에선 SNI 검열에 대응할 수 없어 있으나마나한 설정이다.
  • 2.프로그램 폴더 내에 미리 내장된 자동실행파일 확인하기
goodbyedpi 폴더 내의
service_install_
로 시작하는 .cmd 파일들이 있는데, 이것들이 바로 '''GoodbyeDPI 제작자가 예시로 넣어놓은 자동실행파일들이다.''' 이 파일들을 관리자 권한으로 실행하고 cmd창이 뜬 후 엔터키를 몇번 누르면 창이 닫히고 프로그램 실행에 들어감에 동시에 GoodbyeDPI가 윈도우 서비스에 등록되며, 이후 윈도우를 부팅할때마다 해당 자동실행파일에 표기된 옵션 명령어에 맞추어 설정된 GoodbyeDPI가 실행된다.
기본적으로 들어있는 자동 실행 배치파일은
service_install_russia_blacklist.cmd
,
service_install_russia_blacklist_dnsredir.cmd
이 2개만 들어있으며, 약간의 차이는 있지만
-1
프리셋이 기본으로 적용되어 있다. 따라서 자신이 원하는 옵션을 적용하고 싶다면 메모장으로 옵션을 직접 편집해주어야 한다.
  • 3.기본 제공된 자동실행파일을 편집하여 자신이 원하는 옵션으로 설정 후 커스텀 자동실행파일을 만들어 실행하기
service_install_russia_blacklist.cmd
를 메모장으로 열어보면 다음과 같다.

@ECHO OFF

PUSHD "%~dp0"

set _arch=x86

IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" (set _arch=x86_64)

IF DEFINED PROCESSOR_ARCHITEW6432 (set _arch=x86_64)

echo This script should be run with administrator privileges.

echo Right click - run as administrator.

echo Press any key if you're running it as administrator.

pause

sc stop "GoodbyeDPI"

sc delete "GoodbyeDPI"

sc create "GoodbyeDPI" binPath= "\"%CD%\%_arch%\goodbyedpi.exe\"
'''-1 --blacklist \\"%CD%\blacklist.txt\\'''
"" start= "auto"

sc description "GoodbyeDPI" "Passive Deep Packet Inspection blocker and Active DPI circumvention utility"

sc start "GoodbyeDPI"

POPD

여기서 '''볼드체로 표시한 곳이 사용자가 원하는 옵션으로 바꿀 수 있는 부분이다.'''
예를 들어, HTTPS 검열과 warning.or.kr를 우회하면서 속도가 좀 더 빠르고 이글루스 같은 사이트가 깨지는 것을 원치 않으며, Cloudflare DNS를 사용하여 DNS 오염 검열까지 우회하고자 한다면, 아래 문장을 빈 메모장에 붙여넣기를 하면 된다.[7] '''아래의
set _arch=x86_64
라는 부분은 운영체제의 아키텍쳐를 적는 부분이다. 32비트 운영체제를 쓰는 경우 x86으로 바꾸어주자.'''

@ECHO OFF

PUSHD "%~dp0"

set _arch=x86_64

IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" (set _arch=x86_64)

IF DEFINED PROCESSOR_ARCHITEW6432 (set _arch=x86_64)

echo This script should be run with administrator privileges.

echo Right click - run as administrator.

echo Press any key if you're running it as administrator.

pause

sc stop "GoodbyeDPI"

sc delete "GoodbyeDPI"

sc create "GoodbyeDPI" binPath= "\"%CD%\%_arch%\goodbyedpi.exe\"
'''-f 30 -k 30 -n -e 30 --dns-addr 1.1.1.1'''
"" start= "auto"

sc description "GoodbyeDPI" "Passive Deep Packet Inspection blocker and Active DPI circumvention utility"

sc start "GoodbyeDPI"

POPD

혹시 브라우저 오류로 문단 앞마다 띄어쓰기가 되는 문제가 발생한다면 밑의 것을 복사 붙여넣기 하도록 하자.
@ECHO OFF
PUSHD "%~dp0"
set _arch=x86_64
IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" (set _arch=x86_64)
IF DEFINED PROCESSOR_ARCHITEW6432 (set _arch=x86_64)
echo This script should be run with administrator privileges.
echo Right click - run as administrator.
echo Press any key if you're running it as administrator.
pause
sc stop "GoodbyeDPI"
sc delete "GoodbyeDPI"
sc create "GoodbyeDPI" binPath= "\"%CD%\%_arch%\goodbyedpi.exe\" -f 30 -k 30 -n -e 30 --dns-addr 1.1.1.1"" start= "auto"
sc description "GoodbyeDPI" "Passive Deep Packet Inspection blocker and Active DPI circumvention utility"
sc start "GoodbyeDPI"
POPD
옵션을 잘 설정할 자신이 있다면 원하는대로 명령어를 맘껏 편집해도 된다. 물론 그렇게 설정된 옵션은 당연히 차단된 사이트에 접속할 수 있는 구성이어야 한다.
수정이 완료되었다면, 자신이 원하는 다른 이름으로 저장하되[8], 확장자를 .cmd로 지정해주어야 한다. 이후 이 파일을 프로그램이 있는 폴더에 넣어준 다. 관리자 권한으로 실행 후 엔터를 쳐주면 끝.
  • 4.차단된 사이트에 접속이 잘 되는지 확인하기
이후 자동실행이 잘 되는지 컴퓨터를 재부팅해보자. 재부팅 후 서비스 관리자(실행 - services.msc 입력)에 GoodByeDPI가 Running 상태로 표시되어 있다면 별 에러 없이 잘 설정됐다는 의미이다. 차단된 사이트 접속이 잘 되는지 확인해보자.[9]
  • GoodbyeDPI 자동실행기능을 끄고자 할 경우
자동실행을 하지 않게 하려면
service_remove.cmd
로 서비스를 삭제해야 한다. 이 역시 관리자 권한으로 실행해야 한다.

3. 작동방식


간단히 말하면 검열에 자주 사용되는 패킷을 차단하거나, 송신 패킷을 잘게 쪼개거나, 패킷의 일부 내용을 변조하는 것이다.
제작자의 설명에 따르면 광분배기나 포트 미러링을 이용한 '''수동적 DPI''' 차단은 데이터를 완전히 막지는 않고 요청한 사이트보다 더 빨리 응답하게 하는 방식이고, '''능동적 DPI''' 차단은 데이터를 막는 방식인데, 수동적 DPI는 막고 능동적 DPI는 우회한다고 되어있다.
사용자단에서 패킷#s-1을 가로채고 필터를 걸 수 있도록 WinDivert라는 드라이버를 로드시킨다. 콘솔#s-2 창이 떠 있는 동안만 작동하고, 창을 닫으면 종료된다.[10]
윈도우는 콘솔창 X버튼으로 종료할 때 콘솔창에서 구동중인 프로그램이 종료 시그널을 받지 못하므로 프로그래머틱컬 한 정의가 더 필요한 실정이다. 따라서 정상적인 종료 방법은 Ctrl + C 나 Ctrl + Break 같은 고전형태의 종료방법을 써야한다. [11]

3.1. 수동적 DPI (Passive DPI)


대부분 수동적 DPI는 목적지 웹사이트가 응답하는 것보다 더 빨리 HTTP 302 리디렉션(HTTP) 혹은 TCP Reset(HTTPS) 패킷을 보낸다. 이 패킷들은 보통 IP Identification 필드가
0x0000
혹은
0x0001
인데, 이를 GoodbyeDPI가 차단시킨다고 한다.

3.2. 능동적 DPI (Active DPI)


능동적 DPI는 좀 더 까다로운데, 현재 6가지 방법을 사용하여 이를 회피하고 있다.
  1. 첫 데이터 패킷#s-1을 TCP 단에서 단편화 (내용 → 내(flush)용)
  2. keep-alive 패킷을 TCP 단에서 단편화 (Connection: keep-alive 상태에서 우회 무한루프 반복적용)
  3. HTTP Host 헤더를 hoSt로 교체 (host: test.test → hoSt: test.test)
  4. HTTP Host 헤더 이름과 값 사이의 공백 제거 (host: test.test → host:test.test)
  5. HTTP 메소드(GET, POST 등)와 URI 사이에 공백 추가 (GET / HTTP1.1 → GET / HTTP1.1)
  6. HTTP Host 헤더 값에 대소문자 섞기 (test.com → tEsT.cOm)
이 방법들이 TCPHTTP 표준에 완전히 부합하기 때문에 웹사이트들이 제대로 보이면서도 DPI 및 (warning.or.kr을 포함한)검열을 피할 수 있다. 다만 패킷 단편화 적용시 값을 작게 주면 웹 표준을 지키지 않는 일부 웹사이트 접속이 제대로 되지 않을 수 있다. 대표적으로 이글루스가 있다.

4. 장점


  • 윈도우 서비스로 등록시키면 이후 부팅시 별도 조작 없이도 자동실행되며, 이 과정에서 어떤 창도, 알림도 띄우지 않는다.
  • VPN은 물론 외부 DNS 서버를 거쳐 가는 DNS-over-HTTPSDNS-over-TLS 보다도 속도가 빠르다. 희한하게도 핑 변화가 거의 없어서 켜놓고 게임해도 전혀 불편하지 않다. [12] [13]
  • HTTP 패킷 단편화도 지원하기 때문에 DNS-over-HTTPS / DNS-over-TLS 만으로 우회가 불가능한 ISP 단에서의 차단(warning.or.kr로 리디렉션 되는)까지 우회한다.
  • 현재 파이어폭스 브라우저를 사용하면서 Cloudflare 서버에 접속할 때에만 적용되는 ESNI와 다르게 모든 브라우저 및 모든 웹사이트에 적용된다.
  • 한국에서 막힌 사이트임과 동시에 VPN 우회 접속이 차단되어 있는 사이트도 들어갈 수 있다.

5. 단점


  • 검열된 사이트를 접속할수 있게 해준다는 특징 때문에 보안이 강화되었다는 오해를 사기 쉽다. GoodbyeDPI가 사용하는 방법은 어디까지나 SNI를 악용한 인터넷 검열에 대해 네트워크 패킷을 전부 쪼깨서 SNI을 알아보기 어렵게 하여 우회하는 방식일뿐, SNI 및 그것이 포함된 client hello 패킷 암호화를 제공하는건 아니므로 GoodbyeDPI의 방식이 다른 기술보다 우월하다고 생각하지는 말아야한다. 패킷 암호화가 꼭 필요하다면 VPN 등을 사용하는 것이 좋다.
  • 게다가 파편화된 패킷을 강제로 합치는 기술은 그다지 어려운 편이 아니다. 차후에 무력화가 될 수도 있다. 지금도 별도의 사제 방화벽을 운용하는 네트워크에서는 사용이 불가능한 경우가 많다. 2020년 6월경부터 상대적으로 패킷 크기가 작은 HTTP 프로토콜에서 제대로 작동하지 않는 경우가 종종 생긴다.
  • 사용자의 IP를 숨기는 기능은 없다.
  • Windows 전용이다. 위의 압도적인 장점들과 비슷한 종류의 우회 프로그램들 대부분이 HTTP 패킷 단편화를 지원하지 않는다는 점을 생각하면 매우 아쉽다. 그래서 macOS를 포함한 *nix계열에서 비슷한 방식으로 인터넷 우회를 하려면 GreenTunnel같은 다른 프로그램을 찾아봐야 한다.
  • 극히 일부의 사례이기는 하지만, 자신이 이용하는 사이트/서비스 및 애플리케이션의 이용에 문제가 생길 수도 있다. 예를 들어, 이글루스는 파편화 값을 빡세게 잡으면 레이아웃이 깨지는 현상이 일어난다. 한술 더 떠서 웹 페이지에 아무것도 안 뜨거나 파편화된 패킷의 송수신을 아예 거부하는 서버들도 있다.[14] 주로 몇몇 정부기관 사이트에서 이런 현상이 종종 발견되곤 한다. 의도적으로 차단한 경우, 최적화 과정에서 막힌 경우, 사이트 자체의 오류인 경우로 나뉜다. 또한 극히 일부 프로그램이 GoodbyeDPI를 실행시 제대로 작동하지 않을 수도 있다.[15] 이런 사이트 및 프로그램은 GoodbyeDPI의 작동을 중지한 후에야 이용할 수 있다.
  • 일부 네트워크에서의 사용 또는 VPN과 병용 및 일부 설정값에 따라 구글에서의 검색 활동에 지장이 생길 수도 있다. 이런 케이스의 경우 틈만 나면 'Google의 시스템이 컴퓨터 네트워크에서 비정상적인 트래픽을 감지했습니다. 이 페이지는 로봇이 아니라 실제 사용자가 요청을 보내고 있는지를 확인하는 페이지입니다. 왜 이런 현상이 발생하는 거죠?' 라는 메시지가 출력되면서 로봇이 아님을 증명해야 하는데 일치하는 그림 맞추기로 검증 과정을 거친다. 문제는 그림을 맞춰도 안 넘어가고 또 새로운 그림을 표시하여 혈압 오르게 한다.

5.1. 이용 불가 서비스



6. GUI 변종 버전


GoodbyeDPI 원본은 실행시 cmd창을 띄우는 등 다소 투박해보이는 면이 있어서인지 다른 개발자들이 깔끔하고 보기 좋은 GUI 변종 버전을 만들어 배포하고 있다. 그래도 원본이 설정할수 있는 기능이 더 많고 안정적이므로 지속적으로 사용하기 위해서는 원본의 사용 방법을 익혀두도록 함이 바람직하다.

6.1. GoodbyeDPI GUI


터키의 개발자 Include-sys가 제작하는 GUI 엔진으로, cmd 파일을 GUI로 실행시킬 수 있게 만들었다.
한국어 ui를 포함시켜달라는 pull request가 작성되었으며 개발자가 이를 확인했고 주말에 한국어를 포함한 버전을 릴리즈하겠다고 밝힌 상태. 링크
2019년 2월 19일 버그픽스와 한국어가 추가된 버전(1.03)이 업데이트 되었다. 다운로드

6.2. SafeVisit


  • 제작자: SafeVisit[16]
  • 웹사이트: https://safevisit.org/ko
GoodbyeDPI 와 같은 WinDivert 라이브러리를 활용한 윈도우즈용 프로그램. GoodbyeDPI 의 런처가 아닌 라이브러리를 활용해서 제작되었다. 자세한 설명은 웹사이트 참조. 용량도 굉장히 적으며, GUI 형태라 사용법이 직관적이다.
GoodbyeDPI 에서 드라이버 언로드가 안되어 사이트 이동시 느려지는 문제점이 있는데, 이 프로그램에는 그런 문제점을 해결하였다. 그래서 GoodbyeDPI 는 치명적인 드라이버 언로드 문제가 있어 해당부문 문제 발생 시 SafeVisit을 사용하기를 권장한다. 그리고 패킷 사이즈 조절 옵션이 있어서 호환성 문제 해결이 용이하고, 안드로이드도 지원한다. 다만 안드로이드용은 패킷 사이즈 옵션이 없어서 상대적으로 평이 안 좋은 편.
'''악성프로그램''' 카카오인코더와 SafeVisit 와 동일 개발자로 확인. https://meeco.kr/mini/27509106
카카오인코더는 예전 채굴프로그램을 설치한 사례가 있으며, 애드웨어 설치도 수시로 행해졌음. SafeVisit도 언제 같은 행위를 할지 모르는 상황.

6.3. SecretDPI/SNI


SecretDPI는 칼무리 개발자로 유명한 오길호의 GUI 엔진이다. 한국 사정에 맞게 최적화된 설정을 사용한다. 그런데 그걸로도 부족한지, SNI 문자열에만 적용하여 호환성과 성능을 더욱 개선한 SecretSNI로 대체할 것을 권고하고 있다. 자세한 설명은 웹사이트 참조.

7. 기타



7.1. 관련 문서



[1] 4월 15일에 GitHub의 특정 오류로 인해 해당 링크와 다운로드 링크에 접속이 불가능했다가 16일에 정상화됐다.[2] DNS는 특성상 클라이언트/서버 ip 주소와 도메인을 알고 있을 수밖에 없다. 이걸 모른다면, 도메인을 통한 사이트 접속이 되지 않는다. 이때는 ip주소를 직접 입력해서 접속해야 한다(...)[3] 아니라다를까 2020 9월 26일 경부터 DNS 변조를 통한 검열이 다시 시행되었다. DNS의 변경 없이 패킷 파편화만으로 Pornhub의 접속이 어려워졌다.[설정방법] 제어판>네트워크 공유>어댑터 설정 변경>자신이 지금 쓰고 있는 이더넷 어댑터 우클릭>속성>인터넷 프로토콜 버전 4 (TCP/IPv4) 더블클릭>다음 DNS 서버 주소 사용> 기본 1.1.1.1 보조 8.8.8.8>확인을 눌러서 닫기. IPv6의 경우 CloudFlare가 2606:4700:4700::1111 이고 Google이 2001:4860:4860::8888 이다. 적용방식은 IPv4 같이 프로토콜 버전 6에서 해당 작업을 똑같이 해주면 된다. 보조 DNS 란에 동일한 회사의 DNS 주소를 적으면 안정성이 떨어질 수 있으니 각기 다른 것으로 지정하자(ex. 1.1.1.1 과 1.0.0.1 을 같이 쓰는 경우 보조DNS를 적는 의미가 없다.))[4] 실험적 기능이라고 써있긴 하지만, 실사용에 아무 문제가 없고, 상술했었던 DNS 오염에 대응해야 하니 반드시 지정하도록 하자. 반응속도가 가장 빠른 1.1.1.1이 가장 추천된다.[5]
--blacklist blacklist.txt
방식으로 쓰는게 대표적이다. 이 옵션은 블랙리스트 파일을 지정해서 파일 내의 사이트들에만 작동하게 하고, 그 외의 사이트들은 모두 무시(whitelist)하게 된다. 분명 특정 사이트들의 접속에 문제가 있기 때문에 만들어진 것으로 보인다. 일반적으로는 사용할 필요가 없는 옵션인데, 만약 많은 사이트 접속에 문제가 있다면, 자신만의 블랙리스트를 만들어서 사용하면 된다. 포함된 blacklist.txt 파일은 antizapret.prostovpn.org 에서 domains-export.txt 파일로 배포하는 것이며, 러시아에서 차단하고 있는 목록이다. 0_russia_update_blacklist_file.cmd 파일을 실행하면 위 사이트에서 다운로드하는데, bitsadmin 을 이용하기 때문에 엄청 느리다. 또한 기존 파일에 허락없이 그대로 덮어쓰니 사용에 각별한 주의가 요구된다.
[6] 다만 기존의 warning.or.kr에는 대응할 수 없다.[7] 이전 서술에는 나무위키의 인용 문법을 사용하여 게시되어 있었으나, 해당 문장을 메모장에 붙여넣기를 할 때 줄당 띄어쓰기가 되는 문제가 있어 인용 문법을 삭제하였다.[8] 예시로 제공된 파일들은 보존해놓는것이 좋다. 커스텀 파일들이 문제를 일으킬때 참고할 수 있기 때문.[9] 참고로 해당 사이트의 이름은 Petbucket.com으로, 애완동물용 의약품을 구매하는 사이트이다. 이게 왜 차단되었냐면, '''한국에서는 의약품을 온라인에서 살 수 없다고 한다. 그게 전용 약이라 할지라도(...)''' [10] PC에 따라 창을 닫아도 드라이버가 종료되지 않기도 하는데, 컴퓨터를 끄면 종료된다.[11] 그래서 더 구현이 간단한 종료를 대기하는 PAUSE 를 실행시키고 아무키를 누르면 종료를 실행하는 방법을 많이 쓴다.[12] PC나 공유기에서 MTU값을 조절해서 GoodbyeDPI와 비슷하게 패킷을 쪼갤 수는 있지만, 속도가 많이 느리고, 게임은 상상도 할 수 없을 것이다.[13] 일부 게임들의 안티치트에서 패킷 변조로 실행이 안되는 경우가 있고 다른 서비스나 프로그램에 비해서 빠른거지 사용하지 않는 것보다는 속도가 느리다.[14] 단순히 비표준 사이트로 인한 사이트 깨짐과는 완전 다른 현상으로, 파편화 값을 널널하게 잡아도 메인화면조차 보여주질 않는다.[15] 콜 오브 듀티 블랙 옵스 4콜 오브 듀티 모던 워페어에서는 충돌이 일어나서 게임이 튕겨 버린다.# 위에서 서술한 것처럼 파편화된 패킷의 송수신을 거부하는건지, 아님 단순 프로그램 충돌인지는 불명. 콜 오브 듀티 모던 워페어 기준, GoodbyeDPI를 한번이라도 사용한적이 있다면, GoodbyeDPI를 완전히 종료한다 하더라도 상기한 게임에서 튕긴다. 이를 해결하는 방법은 서비스 설정에서 GoodbyeDPI서비스 시작 설정을 수동으로 설정한 뒤 재부팅을 하는 것이다. 따라서 상기한 게임을 플레이 할 경우 GoodbyeDPI 서비스를 등록하지 말고, 이미 등록한 경우에는 시작 설정을 수동으로 변경하자. (프로그램 충돌이 아니라 내부 안티치트에서 패킷 변조로 판단해서 게임 실행 불가 처리하는 것으로 확인 된다. 만약 충돌이라면 이미 해당 내용으로 블랙옵스4 부터 메일을 보냈으나 다른 스튜디오에서 다른 엔진으로 제작한 모던 워페어에서도 동일한 증상이 발생하기 어렵다.)[16] 카카오인코더를 개발했다.