WireGuard 클라이언트, OpenSnitch에서 영감을 받은 방화벽 및 네트워크 모니터 + 차단 목록이 있는 HTTPS 클라이언트를 통한 파이홀에서 영감을 받은 DNS.
즉, Rethink DNS + Firewall에는 VPN, DNS 및 방화벽의 세 가지 기본 모드가 있습니다. VPN(프록시어) 모드는 분할 터널 구성에서 여러 WireGuard 업스트림을 지원합니다. DNS 모드는 앱에서 생성된 모든 DNS 트래픽을 사용자 가 선택한 DNS-over-HTTPS 또는 DNSCrypt 확인자로 라우팅합니다. 방화벽 모드를 사용하면 사용자는 화면 켜기/화면 끄기, 앱 전경/앱 배경, 무제한 연결/측정 연결과 같은 이벤트를 기반으로 전체 애플리케이션에 대한 인터넷 액세스를 거부할 수 있습니다. 또는 소셜, 게임, 유틸리티, 생산성과 같은 플레이 스토어 정의 카테고리를 기반으로 합니다. 또는 추가적으로 사용자 정의 거부 목록을 기반으로 합니다.
Rethink는 SOCKS5, HTTP CONNECT 및 WireGuard 터널을 통한 TCP 및 UDP 연결 전달을 지원합니다. 분할 터널링은 이러한 터널을 동시에 여러 개 실행하는 데 도움이 되며 사용자는 서로 다른 터널을 통해 서로 다른 앱을 라우팅할 수 있습니다. 예를 들어, Tor에 연결되는 SOCKS5를 통해 Firefox를 라우팅하고, 널리 사용되는 VPN 공급자를 통해 연결하는 WireGuard를 통해 Netflix를 라우팅하고, 검열 저항성 HTTP CONNECT 엔드포인트를 통해 Telegram 또는 WhatsApp을 동시에 라우팅할 수 있습니다.
방화벽은 실제로 연결 자체보다는 해당 연결을 만드는 요소에 관심을 두지 않습니다. 이는 기존 방화벽과 다르지만 Little Snitch, LuLu, Glasswire 등과 일치합니다.
현재 앱별 연결 매핑은 firestack
(golang으로 작성)에서 관리하는 udp
및 tcp
연결을 캡처하고 Android 10 이상에서만 사용할 수 있는 API인 ConnectivityService에 소유자를 요청하여 구현됩니다. procfs
( /proc/net/tcp
및 /proc/net/udp
)는 Android 9 이하 버전에서 NetGuard 또는 OpenSnitch와 같은 앱별 연결을 추적하기 위해 주문형으로 읽혀집니다.
네트워크 모니터는 연결이 이루어진 시기, 연결 수, 연결 위치에 대한 일종의 앱별 보고서 카드입니다. TCP 추적은 지금까지 매우 간단한 것으로 나타났습니다. DNS 패킷은 추적하기가 더 까다롭기 때문에 현재로서는 대략적인 경험적 방법이 사용되지만 모든 경우에 적합하지 않을 수 있습니다.
HTTPS 분할 터널을 통한 DNS를 포함한 거의 모든 네트워크 관련 코드( firestack
)는 golang으로 작성된 Jigsaw-Code/outline-go-tun2socks의 하드 포크입니다. UI는 크게 다르지만 Jigsaw-Code/Intra에서 최소한으로 차용했습니다. 분할 터널은 VPN의 DNS 엔드포인트로 전송된 요청을 트랩하고 이를 사용자가 선택한 DNS-over-HTTPS/DNSCrypt 엔드포인트로 중계하여 종단 간 대기 시간, 요청 시간, DNS 요청 쿼리 자체 및 해당 항목을 기록합니다. 답변.
https://sky.rethinkdns.com/1:IAAgAA==
Workers를 통해 전 세계 300개 이상의 위치에 배포됨)에 있는 HTTPS를 통한 맬웨어 및 광고 차단 DNS는 앱의 기본 DNS 엔드포인트입니다. 사용자는 이를 자유롭게 변경할 수 있습니다. 사용자가 거부 목록 및 허용 목록을 추가 또는 제거하고, 다시 쓰기를 추가하고, DNS 요청을 분석할 수 있는 구성 가능한 DNS 확인자가 2023년 후반에 출시됩니다. 현재 사용자 지정 차단 목록이 포함된 무료 DNS over HTTPS 엔드포인트를 여기에서 설정할 수 있습니다: rethinkdns.com/ 구성합니다.
리졸버는 Cloudflare Workers의 기본 배포와 별도로 max.rethinkdns.com
의 Fly.io와 rdns.deno.dev
의 Deno Deploy에도 배포됩니다.
확인자는 오픈 소스 소프트웨어인 serverless-dns입니다.
서버리스 프록시(Cloudflare Workers에서 호스팅됨)를 통한 TCP 연결 라우팅은 곧 Rethink의 일부가 될 것입니다. 사용자는 이를 자체 호스팅하거나 우리가 운영하는 서비스를 1개월간 무제한 대역폭으로 사용할 수 있습니다. 이 서비스는 2023년 말 출시될 예정이다.
프록시는 오픈 소스 소프트웨어인 serverless-proxy입니다.
Weblate에서 Rethink DNS + Firewall 번역을 도와주세요:
Rethink는 익명성 도구가 아닙니다. Rethink는 사용자가 끊임없는 검열과 감시에 대처하는 데 도움이 되지만 사용자의 신원을 항상 보호한다고 주장하지는 않습니다.
Rethink는 기능이 풍부한 전통적인 방화벽을 목표로 하지 않습니다. 예를 들어 IP 테이블보다 Little Snitch와 더 유사합니다.
Rethink는 바이러스 백신이 아닙니다. Rethink는 DNS 기반 차단 목록을 통해 사용자가 피싱 공격, 맬웨어, 스케어웨어 웹 사이트를 차단할 수 있지만 위협을 적극적으로 완화하거나 검색하거나 조치를 취하지는 않습니다.
Android 장치를 사용자 에이전트로 전환하려면: 루트 액세스 없이도 사용자가 원하는 대로 제어할 수 있습니다. 항상 켜져 있고 항상 연결되어 있는 장치의 경우 가장 큰 부분은 네트워크 트래픽을 캡처하고 이를 최종 사용자가 이해할 수 있는 방식으로 보고하는 것입니다. 최종 사용자는 노출을 제한하기 위해 일련의 조치를 취할 수 있지만 반드시 그럴 필요는 없습니다. 그것을 제거하십시오. DNS를 예로 들어 보겠습니다. 모든 연결은 아니더라도 대부분의 경우 앱은 먼저 DNS 요청을 보내고, 해당 연결만 추적함으로써 전화에서 일어나는 일과 책임 있는 앱에 대한 많은 정보를 수집할 수 있습니다.
모두를 위한 개방형 인터넷 약속 제공: 불가피한 ESNI 표준화와 운영 체제 전반에 걸쳐 HTTPS를 통한 DNS 및 TLS를 통한 DNS 채택이 임박함에 따라 우리는 개방형 인터넷에 훨씬 더 가까워졌습니다. 물론 Deep Packet Inspection은 이것으로 완화할 수 없는 신뢰할 수 있는 위협으로 남아 있지만 최소한의 노력(VPN 사용 또는 IPFS를 통한 액세스 필요 없음)으로 최대 효과(대부분의 국가에서 인터넷 검열 우회)를 제공하는 한 가지 예입니다. , 예를 들어). Rethink는 가능한 가장 간단한 방법으로 이러한 기술, 특히 10%의 노력으로 90%를 달성하는 기술에 계속 접근할 수 있도록 할 것입니다.
우리는 아직 거기에 이르지 못했고 앞으로도 없을 수도 있지만 이는 가까운 미래를 위한 프로젝트의 몇 가지 원칙입니다.
인터넷 검열(때때로 ISP가 시행하고 종종 정부가 시행함), 끊임없는 저인망 감시(거의 모든 회사와 앱에 의한)가 우리를 이러한 길로 이끌었습니다. 우리 대학 동기 세 명인 Mohammed, Murtaza, Santhosh는 2019년 말 인도 코임바토르의 조용한 마을에서 이에 대해 뭔가를 하기 위해 모였습니다. 우리의 가장 큰 불만은 사람들이 사용할 수 있지만 비용이나 컴퓨터 관련 전문 용어를 이해할 수 없기 때문에 사용할 수 없는 멋진 도구가 모두 있다는 것입니다. 시작한 이후로 많은 일이 일어났고 많은 것이 바뀌었지만 우리의 초점은 항상 Android와 20억 명 이상의 순진한 사용자에 맞춰져 있었습니다. 현재 아이디어는 2020년 5월부터 작업 중이었습니다. 전염병으로 인해 약간의 진전이 이루어지지 않았고 아직 자랑스럽지 않은 현재 포크를 선호하여 이전 버전을 포기하는 데 약간의 혼란이 있었지만 시작이다. 이제 우리는 Mozilla Builders MVP 프로그램으로부터 보조금을 받아 우리가 원했던 것을 더 빠르게 구축할 수 있게 되었기 때문에 모든 것이 잘 되었습니다. 실행 과정에서 잠만 자지 않고 말이죠. 나는 당신이 흥분하기를 바랍니다. 그러나 우리처럼 당신이 직장을 그만둔 것에 대해 우리만큼은 아닙니다.