WireGuard クライアント、OpenSnitch をヒントにしたファイアウォールおよびネットワーク モニター、ブロックリストを備えた PI ホールをヒントにした DNS over HTTPS クライアント。
言い換えれば、Rethink DNS + Firewall には、VPN、DNS、およびファイアウォールという 3 つの主要なモードがあります。 VPN (プロキシファイア) モードは、スプリット トンネル構成で複数の WireGuard アップストリームをサポートします。 DNS モードは、アプリによって生成されたすべての DNS トラフィックを、ユーザーが選択した DNS-over-HTTPS または DNSCrypt リゾルバーにルーティングします。ファイアウォール モードを使用すると、ユーザーは、画面オン/画面オフ、アプリのフォアグラウンド/アプリのバックグラウンド、従量制課金接続/従量制課金接続などのイベントに基づいて、アプリケーション全体へのインターネット アクセスを拒否できます。または、ソーシャル、ゲーム、ユーティリティ、生産性など、Play ストアで定義されたカテゴリに基づきます。またはさらに、ユーザー定義の拒否リストに基づきます。
Rethink は、SOCKS5、HTTP CONNECT、および WireGuard トンネルを介した TCP および UDP 接続の転送をサポートしています。スプリットトンネリングはさらに、そのようなトンネルを複数同時に実行するのに役立ち、ユーザーが異なるトンネルを介して異なるアプリをルーティングできるようになります。たとえば、Firefox を SOCKS5 経由で Tor に接続し、Netflix を WireGuard 経由で一般的な VPN プロバイダー経由で接続し、Telegram または WhatsApp を検閲耐性のある HTTP CONNECT エンドポイント経由で同時にルーティングできます。
ファイアウォールは、接続自体にはあまり関心がなく、その接続を行っているものが何であるかを気にします。これは従来のファイアウォールとは異なりますが、Little Snitch、LuLu、Glasswire などとインラインです。
現在、アプリごとの接続マッピングは、 firestack
(golang で記述) によって管理されるudp
およびtcp
接続をキャプチャし、ConnectivityService に所有者を問い合わせることによって実装されています。この API は Android 10 以降でのみ利用可能です。 procfs
( /proc/net/tcp
および/proc/net/udp
) は、Android 9 以前のバージョンで NetGuard や OpenSnitch が行うように、アプリごとの接続を追跡するためにオンデマンドで読み取られます。
ネットワーク モニターは、接続がいつ行われたか、何回行われたか、どこへ行われたかに関するアプリごとの一種のレポート カードです。 TCP の追跡は、これまでのところ簡単であることが判明しました。 DNS パケットは追跡するのが難しいため、現時点では大まかなヒューリスティックが使用されていますが、これがすべての場合に適切であるとは限りません。
DNS over HTTPS スプリットトンネルを含むほとんどすべてのネットワーク関連コード ( firestack
) は、golang で書かれた Jigsaw-Code/outline-go-tun2socks のハード フォークです。 UI は大きく異なりますが、Jigsaw-Code/Intra から最小限借用しています。スプリットトンネルは、VPN の DNS エンドポイントに送信されたリクエストをトラップし、ユーザーが選択した DNS-over-HTTPS / DNSCrypt エンドポイントに中継し、エンドツーエンドの遅延、リクエストの時間、DNS リクエスト クエリ自体とそのリクエストをログに記録します。答え。
https://sky.rethinkdns.com/1:IAAgAA==
のマルウェアと広告をブロックする DNS over HTTPS リゾルバー (Cloudflare Workers 経由で世界中の 300 以上の場所にデプロイ) は、アプリのデフォルトの 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 年後半に開始される予定です。
プロキシはオープン ソース ソフトウェアであるサーバーレス プロキシです。
Rethink DNS + Firewall の Weblate での翻訳にご協力ください:
Rethink は匿名性ツールではありません。ユーザーが絶え間なく続く検閲や監視に対処するのに役立ちますが、ユーザーの身元を常に保護するとは主張しません。
Rethink は、機能が豊富な従来のファイアウォールを目指しているわけではありません。たとえば、IP テーブルよりも Little Snitch と連携しています。
Rethink はウイルス対策ではありません。Rethink は、DNS ベースのブロックリストを通じてユーザーのフィッシング攻撃、マルウェア、スケアウェア Web サイトを阻止できますが、脅威を積極的に軽減したり、脅威を探したり、対処したりすることはありません。
Android デバイスをユーザー エージェントに変えるには: ユーザーが root アクセスを必要とせずに好きなように制御できるもの。常時接続、常時接続のデバイスにとって、その重要な部分は、ネットワーク トラフィックをキャプチャし、エンドユーザーにとって意味のある方法でレポートすることです。エンドユーザーは、エクスポージャーを制限するために一連のアクションを実行できますが、必ずしもそうする必要はありません。それを排除します。 DNS を例に挙げます。すべてではないにしても、ほとんどの接続に対して、アプリは最初に DNS リクエストを送信し、それらの接続だけを追跡することで、電話で何が起こっているのか、どのアプリが原因であるのかについて多くの情報を収集できます。
すべての人にオープン インターネットの約束を提供するために: 避けられない ESNI 標準化と、オペレーティング システム全体での DNS over HTTPS および DNS over TLS の差し迫った採用により、私たちはオープン インターネットに大きく近づいています。もちろん、ディープ パケット インスペクションは依然として信頼できる脅威であり、これで軽減することはできませんが、最小限の労力 (VPN の使用や IPFS 経由のアクセスを必要としない) で最大の効果 (ほとんどの国でインターネット検閲を回避) を実現する一例です。 、 例えば)。 Rethink は、これらのテクノロジー、特に 10% の労力で 90% を達成できるテクノロジーに、可能な限り最も簡単な方法でアクセスできるようにし続けます。
私たちはまだそこには到達していませんし、決してそこには到達しないかもしれませんが、これらは予見可能な将来におけるプロジェクトのいくつかの原則です。
インターネット検閲 (ISP によって施行される場合もあれば、政府によって施行される場合も多い) と、衰えることのないドラッグネット監視 (ほぼすべての企業やアプリによる) が、私たちをこの道に導きました。私たち大学の同級生のモハメドさん、ムルタザさん、サントシュさんの三人は、この問題について何かしようと、2019年末にインドのコインバトールの静かな町に集まりました。私たちの主な不満は、人々が使用できる素晴らしいツールがすべて、コストの問題か、コンピューター固有の専門用語を理解できないため、使用できないことでした。私たちがサービスを開始して以来、多くのことが起こり、多くの変化がありましたが、私たちは常に Android とその 20 億人以上の疑いを持たないユーザーに焦点を当ててきました。現在のアイデアは 2020 年 5 月から構想されており、パンデミックにより進捗が少し狂い、現在のフォークを支持して以前のバージョンを放棄するという少々面倒なこともありましたが、それはまだ誇りに思っているわけではありません。がスタートです。 Mozilla Builders MVP プログラムから助成金を獲得したので、これですべてがうまくいきました。これにより、実行中ただ寝ているだけではなく、私たちが望んでいたものを構築することができます...より迅速に実行できます。皆さんが興奮していることを願っていますが、私たちと同じように、このために仕事を辞めるほどではありません。