クライアントソフト不要で、ネットワーク内の全デバイスの広告やトラッカーをブロックするセルフホスト型DNSサーバー。
- スター
- 5,718
- フォーク
- 366
- 未解決の Issue
- 642
- 最終コミット
- 4 日前
これは何?
Rethink DNS + Firewall + VPNは、3つのモードを備えたAndroidアプリです。VPNモードでは、TCPとUDPをSOCKS5、HTTP CONNECT、または複数のWireGuardトンネルへ同時に転送するプロキシとして動作します。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を採用しています。rootアクセスは不要です。また、このプロジェクトは匿名化ツールでも従来型のアンチウイルスでもないと説明しています。
主な機能
- 01SOCKS5、HTTP CONNECT、複数のWireGuardトンネルを同時に利用できる分割トンネル対応プロキシ。
- 02DoH、Oblivious DoH、DoT、DNSCryptリゾルバーへのDNSルーティングと、アプリごとのDNS分割トンネリング。
- 03画面の状態、フォアグラウンドかどうか、従量制ネットワーク、Play Storeのカテゴリに基づいてアプリをブロックできる、アプリごとのファイアウォール。
- 04ファイアウォール用のカスタムドメイン・IP拒否リスト。
- 05アプリごとに接続時刻、回数、接続先を記録するネットワークモニター。
- 06Androidでrootアクセスなしで動作。
ユースケース
- DoHリゾルバーとカスタムブロックリストを使って、システム全体の広告やトラッカーをブロックする。
- ブラウザーにはTor、ストリーミングにはWireGuardなど、アプリごとに異なるトンネルへ通信を振り分ける。
- rootなしのスマートフォンで、特定アプリのバックグラウンド通信を制限する。
- Android端末で、どのアプリがどのドメインに接続しているかを確認する。
クイックスタート
- 1
READMEにあるリンクから、F-Droid、Google Play、またはObtainium経由でインストールする
- 2
プロジェクトのDevelopment手順に従ってソースからビルドする(READMEにはコマンド形式での手順はありません)
使う前に知っておきたいこと
- Android専用で、他のプラットフォームでは動作しません。
- 作者によると、コードベースは未成熟で、ドキュメントは限られている一方、テストは包括的です。
- Android 11以前では、DNSリクエストの追跡に概算的なヒューリスティックを使うため、すべてのケースで正確とは限りません。
トピック
よくある質問
- rethink-app とは?
- root不要のAndroidアプリ。DNS-over-HTTPS/TLS/DNSCryptクライアント、アプリごとのファイアウォール兼ネットワークモニター、分割トンネル対応のWireGuard/SOCKS5プロキシを統合します。 Rethink DNS + Firewall + VPNは、3つのモードを備えたAndroidアプリです。VPNモードでは、TCPとUDPをSOCKS5、HTTP CONNECT、または複数のWireGuardトンネルへ同時に転送するプロキシとして動作します。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など、アプリごとに異なるトンネルへ通信を振り分ける。 rootなしのスマートフォンで、特定アプリのバックグラウンド通信を制限する。 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サーバーを数分で構築します。