클라이언트 소프트웨어 설치 없이 네트워크의 모든 기기에서 광고와 추적기를 차단하는 자체 호스팅 DNS 서버
- 스타
- 5,718
- 포크
- 366
- 열린 이슈
- 642
- 마지막 커밋
- 4일 전
어떤 프로젝트인가요?
Rethink DNS + Firewall + VPN은 세 가지 모드를 제공하는 Android 앱입니다. VPN 모드에서는 SOCKS5, HTTP CONNECT 또는 여러 WireGuard 터널을 동시에 통해 TCP와 UDP 트래픽을 전달하는 프록시로 동작합니다. DNS 모드에서는 앱의 DNS 트래픽을 선택한 DoH, Oblivious DoH, DoT 또는 DNSCrypt 리졸버로 보내며, 선택적으로 차단 목록을 적용할 수 있습니다. Firewall 모드에서는 화면 상태, 포그라운드 여부, 종량제 연결, Play Store 카테고리 또는 사용자 지정 도메인 및 IP 차단 목록을 기준으로 앱별 인터넷 접속을 차단합니다.
방화벽은 IP 규칙으로 필터링하는 대신 각 연결을 연 앱을 식별해 동작하며, Little Snitch나 OpenSnitch와 유사합니다. 앱별 연결 매핑에는 Android 10 이상에서 Android의 ConnectivityService를 사용하고, 이전 버전에서는 procfs를 읽습니다. 또한 앱에는 연결 시간, 횟수, 대상 주소를 기록하는 네트워크 모니터가 포함되어 있으며, Android 11 이하에서는 DNS 추적이 다소 부정확할 수 있습니다.
앱의 네트워크 스택은 outline-go-tun2socks의 Go 포크인 firestack을 기반으로 합니다. 루트 권한이 필요하지 않으며, 프로젝트는 이 앱이 익명성 보장 도구나 기존 방식의 백신이 아니라고 명시합니다.
핵심 기능
- 01SOCKS5, HTTP CONNECT 및 여러 WireGuard 터널을 동시에 지원하는 분할 터널링 프록시.
- 02DoH, Oblivious DoH, DoT 또는 DNSCrypt 리졸버로 DNS를 라우팅하며, 앱별 DNS 분할 터널링을 지원.
- 03화면 상태, 포그라운드 여부, 종량제 네트워크 또는 Play Store 카테고리에 따라 앱을 차단하는 앱별 방화벽.
- 04방화벽에서 사용할 사용자 지정 도메인 및 IP 차단 목록.
- 05앱별 연결 시간, 횟수, 대상 주소를 기록하는 네트워크 모니터.
- 06Android에서 루트 권한 없이 작동.
활용 사례
- DoH 리졸버와 사용자 지정 차단 목록을 사용해 시스템 전체에서 광고와 트래커 차단.
- 브라우저는 Tor로, 스트리밍 앱은 WireGuard로 보내는 식으로 앱마다 서로 다른 터널을 통해 라우팅.
- 루트 권한이 없는 휴대폰에서 특정 앱의 백그라운드 네트워크 접근 제한.
- Android 기기에서 어떤 앱이 어떤 도메인에 접속하는지 확인.
빠른 시작
- 1
README의 링크를 사용해 F-Droid, Google Play 또는 Obtainium에서 설치합니다
- 2
프로젝트의 Development 안내에 따라 소스에서 빌드합니다(README에는 명령어로 된 안내가 없습니다)
사용 전 알아둘 점
- Android 전용이며 다른 플랫폼에서는 실행되지 않습니다.
- 작성자에 따르면 코드베이스는 아직 다듬어지지 않았으며, 문서는 제한적이지만 테스트는 포괄적입니다.
- Android 11 이하에서는 DNS 요청 추적에 대략적인 휴리스틱을 사용하므로 모든 경우에 정확하지 않을 수 있습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- rethink-app은(는) 무엇인가요?
- 루트 권한 없이 DNS-over-HTTPS/TLS/DNSCrypt 클라이언트, 앱별 방화벽 및 네트워크 모니터, 분할 터널링 WireGuard/SOCKS5 프록시 기능을 제공하는 Android 앱입니다. Rethink DNS + Firewall + VPN은 세 가지 모드를 제공하는 Android 앱입니다. VPN 모드에서는 SOCKS5, HTTP CONNECT 또는 여러 WireGuard 터널을 동시에 통해 TCP와 UDP 트래픽을 전달하는 프록시로 동작합니다. DNS 모드에서는 앱의 DNS 트래픽을 선택한 DoH, Oblivious DoH, DoT 또는 DNSCrypt 리졸버로 보내며, 선택적으로 차단 목록을 적용할 수 있습니다. Firewall 모드에서는 화면 상태, 포그라운드 여부, 종량제 연결, Play Store 카테고리 또는 사용자 지정 도메인 및 IP 차단 목록을 기준으로 앱별 인터넷 접속을 차단합니다.
- rethink-app은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- rethink-app은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- rethink-app은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. rethink-app의 마지막 커밋은 2026년 10월 18일입니다.
- rethink-app은(는) 어디에 사용할 수 있나요?
- DoH 리졸버와 사용자 지정 차단 목록을 사용해 시스템 전체에서 광고와 트래커 차단. 브라우저는 Tor로, 스트리밍 앱은 WireGuard로 보내는 식으로 앱마다 서로 다른 터널을 통해 라우팅. 루트 권한이 없는 휴대폰에서 특정 앱의 백그라운드 네트워크 접근 제한. Android 기기에서 어떤 앱이 어떤 도메인에 접속하는지 확인.
- rethink-app는 어떻게 설치하나요?
- README의 링크를 사용해 F-Droid, Google Play 또는 Obtainium에서 설치합니다 프로젝트의 Development 안내에 따라 소스에서 빌드합니다(README에는 명령어로 된 안내가 없습니다)
- rethink-app은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/celzero/rethink-app
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Flutter로 개발한 Android, iOS, Wear OS용 무료 오프라인 오픈소스 생리·피임약 트래커입니다.
구문 강조, LSP 코드 인텔리전스, 내장 터미널과 확장 기능을 제공하는 Android용 텍스트 및 코드 편집기입니다.
Android 13 이상에서 지원 기기의 손전등 밝기를 여러 단계로 조절할 수 있는 Android 앱입니다.
Ansible 스크립트로 개인 WireGuard 및 IPsec VPN 서버를 몇 분 만에 자신의 클라우드 계정에 배포합니다.