# https 암호화 전 접속 호스트명 SNI(Server Name Indication)가
# 암호화 되지 않아 ISP 에서 차단하는 사이트가 많은데,
# ESNI(Encrypted SNI)와
# TRR(Trusted Recursive Resolver)를 사용할 수 있는
# firefox 를 사용하면 차단 없이 접속 가능하다.
# firefox about 프로토콜에서 다음과 같이 설정한다.
about:config -> network.security.esni.enabled -> true
about:config -> network.trr.bootstrapAddress -> 1.1.1.1
about:config -> network.trr.uri -> https://mozilla.cloudflare-dns.com/dns-query
about:config -> network.dns.echconfig.enabled -> true
about:config -> network.trr.mode -> 3
# trr.bootstrapAddress(1.1.1.1) 로 trr.uri 주소를 파악하게 된다.
# trr.mode
# 0: native resolver (default)
# 1: native resolver, trr 중 응답 빠른것을 사용
# 2: trr 시도 후 안돼면 native resolver 사용
# 3: trr 만 사용
# 4: reserved(shadow mode 로 추가될 예정)
# firefox about 프로토콜 설명
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/The_about_protocol
# 85버전 부터는 ESNI 대신 보안이 더 강화된 ECH(Encrypted Client Hello)를 사용한다.
# ECH 모드를 활성화 하려면 다음 2개 설정을 활성화 해야 한다.
about:config -> network.dns.echconfig.enabled -> true
about:config -> network.dns.use_https_rr_as_altsvc -> true
# ESNI -> ECH 설명에서 설정 방법 참고
https://blog.mozilla.org/security/2021/01/07/encrypted-client-hello-the-future-of-esni-in-firefox/