Mac 用アプリファイアウォール
更新日 · 著者 Anton Shakirov
hop はネットに出るすべてのプログラムと、そのプログラムが接続したアドレスを表示し、そのどれでも遮断できます——プログラム全体でも、その一つのアドレスだけでも。LuLu や Little Snitch が使うのと同じ種類の、macOS がまさにこの用途のために提供するネットワークフィルタの上で動作し、何も復号しません。

| what it is | app firewall inside hop, a menu bar app for macOS |
|---|---|
| price | free — no trial, no pro tier, no account |
| licence | MIT, source on GitHub |
| requires | macOS 14 or later, Apple silicon or Intel |
| works offline | yes |
| data sent anywhere | none |
アプリ単位のファイアウォールが必要になる人
よくあるきっかけは、あるプログラムが思った以上にネットと話していると気づくことです。起動のたびにライセンスサーバーへ問い合わせるツール、誰も頼んでいない何かを同期しているバックグラウンドの補助プログラム、プレイ自体とは関係のないアドレスに接続するゲーム。macOS 自体は、いまどのプログラムが接続していて、どこへ接続しているかを教えてくれません——アクティビティモニタのネットワークタブが示すのは転送バイト数であって、アドレスではありません。
もう一つのきっかけは、あらかじめルールを用意しておきたいという場合です。完全には信用していないプログラムのために特定のサーバーをブロックする、インストール済みだが使っていないプログラムをネットワークから完全に切り離す——ルーターや DNS、すべてに影響する VPN に触れることなく。
何が表示され、クリック一つで何ができるか
接続したことのあるプログラムはすべて、接続したアドレスとともに一覧に表示されます。プログラムのラベルを1回クリックすればそのプログラムをネットワークから丸ごと切断できます。開けば、アドレスを1つだけ単独でブロックすることもできます——たとえばライセンス確認だけを止めて、残りの通信は通す、というように。アドレスのルールは常にプログラムのルールより優先されるので、一つの例外のためにスイッチ全体を戻す必要はありません。
ルールを設定するのに、プログラムが一度接続している必要はありません。インストール済みのアプリはネットに出たことがあってもなくてもすべて一覧に並ぶので、プログラムがそもそも接続する機会を得る前にブロックできます。
- プログラム全体、あるいはその一つのアドレスだけを、クリック一つでブロック
- プログラムが一度も接続する前にルールを設定——一覧かアプリケーションフォルダから選ぶ
- ファイルからアドレスの一覧を読み込み(1行に1つ、または hosts ファイル)、すべてのプログラムに対して一度にブロック——行にはプログラムを書くこともできる:`com.example.app license.example.com`
- 現在のルールをファイルに書き戻す
- 一覧を、出た順・名前順・直近順で並べ替える
ウインドウの各ラベルやセクションが何を意味するかは、あなたの言語のガイドに詳しくあります。 ガイドの通信ブロック
フィルタ自体の仕組み
hop はこれを、macOS がまさにこの用途のために提供するネットワークフィルタで行います——LuLu や Little Snitch が土台にしているのと同じ種類のシステム拡張です。モジュールを初めて動かすとき、macOS はシステム設定で許可を求めてきます。これは一度きりのシステムのダイアログで、hop が飛ばしたり代わりに承認したりすることはできません。
フィルタは接続の最初のパケットで判断し、中身は決して見ません——ブロックするのはサーバー全体で、その中の1ページではありません。接続レベルで働くフィルタが見られるのはそこまでだからです。フィルタが止まっても(macOS の更新、クラッシュ、何であれ)インターネットは使い続けられます。フィルタが戻るまで何もブロックされません。設定でモジュールをオフにすると止まるのはあなたが設定したブロックだけで、Mac のネットワークアクセスそのものではありません。
この種のアプリの土台になっているネットワーク拡張フレームワークについての、Apple 自身の説明(英語のページ): Network Extension, Apple Developer documentation
既定では静か、確認は任意
モジュールは既定でオンになっており、それ自体では何もブロックしません。ルールが設定されていなければ、hop を入れていないときとまったく同じようにすべての接続が通ります。トラッカーや広告サーバーをあらかじめブロックする一覧を内蔵しているわけでもなく、黙ってプログラムを切り始めることもありません——一覧にあるブロックはすべてあなたが設定したものです。
新しい接続について確認するかどうかは別の設定項目で、既定ではオフです。オンにすると、ルールのない接続について右上のカードが尋ねてきます——そのアドレスだけか、プログラム全体か——hop が勝手に決めるのではなく。
これは何でないか、限界はどこか
hop は VPN ではなく、あなたの通信をどこかへ経由させたり、途中で中身を調べたりしません。接続は変更なしで通るか、最初のパケットで拒否されるかのどちらかです。暗号化された接続の中の URL やページ単位でフィルタすることはできません——HTTPS はサーバーのアドレスより先をすべて隠すので、「このページだけブロックする」は、hop に限らず同じ仕組みで作られたどのアプリファイアウォールでも表現できないルールです。
DNS ブロッカーでも、ブラウザのタブが表示する内容へのフィルタでもありません。あれらは名前の解決や書き換えで動く、別の層で別のトレードオフを持つ仕組みです。そして hop は自分が見たものを何も収集しません——アドレスの一覧も、設定したルールも、この Mac に留まります。
| したいこと | hop のアプリファイアウォールでできるか | 代わりに使うもの |
|---|---|---|
| 今日どのプログラムがネットに出たか、どこへ出たかを見る | できる——それが最初の画面のすべて | — |
| プログラムをネットワークから丸ごとブロックする | できる——ラベルを1回クリック | — |
| プログラムが自身のサービスには届きつつ、呼び出す第三者のアドレスだけブロックする | できる——そのアドレスだけブロックし、残りはそのまま | — |
| 他は信用しているサイトの中の、あるページや区画だけブロックする | できない——フィルタが見るのはサーバーで、URL ではない | ページ自体を読めるブラウザ拡張 |
| プロバイダやネットワークから自分の通信を隠す | できない——hop にはサーバーがなく、何も経由させない | 本物の VPN |
| ブラウザも含め、どこでも広告やトラッカーをブロックする | 既定ではできない——hop はブロックリストを持たない | DNS レベルのブロッカーやブラウザ拡張 |
frequently asked questions
- hop は私の通信を見たり保存したりしますか?
- いいえ。フィルタは接続の最初のパケットで判断し、中身は決して見ません。hop は何も復号せず、アドレスの一覧はこの Mac に留まります。
- これは VPN と同じですか?
- いいえ。hop は何も経由させず、サーバーを持ちません。接続を変更なしで通すか、最初のパケットでブロックするかのどちらかで、許可された接続の中で何が起きるかは見も触れもしません。
- アプリ全体を止めずに一つのアドレスだけブロックできますか?
- できます。プログラムを開いてそのアドレスを確認し、そのどれでも単独でブロックできます——アドレスのルールは常にプログラム自体のスイッチより優先されます。
- ネットワークフィルタが動かなくなったらどうなりますか?
- インターネットは使い続けられます。フィルタが戻るまで何もブロックされず、モジュールをオフにしても止まるのはあなたが設定したブロックだけで、Mac のネットワークアクセスそのものではありません。
- 動かすために何か許可する必要がありますか?
- 一度だけです。モジュールを初めて動かすとき、macOS がシステム設定で hop のネットワークフィルタを許可するよう求めます——この種のアプリファイアウォールに共通する、一度きりの求めです。
- インターネットが遅くなりますか?
- フィルタが見る必要があるのは新しい接続ごとの最初のパケットだけで、通信そのものではないので、進行中の転送は影響を受けません。
- LuLu や Little Snitch とはどう違いますか?
- 考え方は同じで、下で動いている macOS のフィルタの種類も同じです。hop の場合は単独のアプリではなく他のモジュールと並んでメニューバーに住み、同じ限界を保っています——ブロックするのはサーバー全体でページではなく、何も復号しません。
作者について

Anton Shakirovhop をつくっています
hop と、このサイトのすべてのページをつくっています。十九のツールを一つのメニューバーアイコンに、MIT ライセンスでソース公開。issue もメールも本人が読んで返信します。