---
title: "VPNとプロキシ | Kilobatドキュメント"
url: "https://kilobat.app/ja/docs/vpn"
description: "公開IPとVPNの経路、プロキシアプリ、VPNキルスイッチ、リークテスト。"
---

# VPNとプロキシ

公開IPとVPNの経路、プロキシアプリ、VPNキルスイッチ、リークテスト。

## VPNとパブリックIP

「ヘルス」›「通信の出口」、Wi-Fiメニュー、`kilobat ip`では、デフォルトルートが使っているインターフェイスと、それがVPNかどうかを表示します。このMacのルーティングと、macOSが接続中として表示するVPNから読み取ります。Tailscaleで出口ノードを使わない場合のように、VPNに接続していてもデフォルトルートがWi-Fiのままなら「スプリット」と表示され、一部の宛先だけがVPNを通ります。「設定」›「ネットワーク」›「パブリックIPを調べる」をオンにすると、Webサイトから見えるアドレスも表示します。ネットワークの変更時と30分ごとにCloudflareに問い合わせ、Kilobatに同梱のDB-IPデータで登録国を調べます。Cloudflareにそのリクエストが見えるため、デフォルトではオフです。`kilobat ip --public`は1回だけ問い合わせます。登録国はあなたやサーバの所在地ではなく、登録国もVPNも、接続がプライベートまたは匿名であることを示すものではありません。「設定」›「メニューバー」›「VPN」で、コウモリの横にオン、スプリット、オフ（照会がオンなら国コードも）を表示できます。履歴には、VPNのオン/オフとパブリックIPの変更が記録されます。

## プロキシとVPN

Kilobatは、プロキシアプリ（Clash Verge、ClashX、mihomo、Mihomo Party、FlClash、Surge、sing-box、Stash、V2Ray、Xray、Shadowsocks）やVPNと一緒に使えます。読み取るだけで、通信を中継したり設定を変えたりすることはありません。

- **通信を正しいアプリに計上。**ローカルのプロキシ経由で送信するアプリには自分の通信が計上され、それを転送するプロキシのコアやVPNトンネルには「ほかのアプリの通信を中継」とラベルが付き、二重には数えません。
- **各アプリが通った経路。**Clash互換のAPI（Clash Verge、ClashX、mihomo、Mihomo Party、FlClash、sing-boxのclash_api）がある場合、アプリの行に「HK-01経由 · 直接2件」のように経由したノードが表示され、ツールチップにはホスト、ノード、ルールがそれぞれ表示されます。KilobatはAPIのアドレスとシークレットをアプリ自身の設定ファイルから読み取り、シークレットを表示することはありません。
- **「ヘルス」›「通信の出口」に表示される問題：**

  - 起動していないアプリを指すシステムプロキシ（すべてのブラウザがつながらなくなります）
  - VPNを経由しないDNSやIPv6
  - プロキシとVPNの両方が通信を取っている状態
  - グローバルモード
  - システムプロキシの背後にあるアプリが見えないブロック。macOSのフィルタには127.0.0.1への接続が見えないため、プロキシのTUNモードをオンにするか、プロキシのルールでそのアプリをブロックしてください。
- **接続できない理由は？**に「プロキシアプリ」の層が加わり、プロキシのモードと現在のノードの応答速度を表示します。応答しないノードが原因のときはそう伝えます。

ターミナルでは：`kilobat proxy`、`kilobat proxy routes --app Telegram`、`kilobat proxy test`、`kilobat vpn`。Kilobatが自動で見つけられないコアには、`--controller 127.0.0.1:9090 --secret …`を渡します。エージェントは`get_proxy_status`、`test_proxy_nodes`、`check_vpn`で同じ情報を取得できます。

## VPNキルスイッチ

Proとネットワークフィルタがオンの状態で、「設定」›「ネットワーク」の*VPNキルスイッチ*をオンにします。VPNが切断されると、Kilobatは復帰するまで新しい接続をブロックするので、その間にカフェやホテルのWi-Fiから何かが出ていくことはありません。ポップオーバーとダッシュボードには*ブロック中：VPNが切断されています*と表示され、メニューバーのコウモリに鍵が付き、通知で*5分間許可*が提示されます。

- **VPNが接続されると作動します。**キルスイッチは、Macの起動後にVPNが一度すべての通信を運ぶまで待つため、VPNなしでオンにしても接続が断たれることはありません。それ以降は再起動するまで、どのネットワークでもVPNが切断されるたびにブロックします。アプリから情報が漏れるのは、まさに新しいネットワークに接続した瞬間だからです。一部の宛先だけを運ぶスプリットVPNは、切断とみなされます。
- **引き続き接続できるもの：**VPNアプリとそのヘルパー、ネットワーク機能拡張（WireGuard、Tailscale、Mullvad、NordVPN、Proton VPN、ExpressVPN、Surfshark、Cisco Secure Client、GlobalProtect、OpenVPN Connect、Tunnelblickなど。macOSに構成があるVPNアプリも含みます）、Appleのネットワークサービス（DNS、DHCP、証明書の確認、ネットワークのログインウインドウ、内蔵VPN）、Kilobat、そしてオフにしない限りローカルネットワーク。それ以外はすべて、どんなルールやプロファイルでも（「制限なし」も含めて）待機します。
- **解除する方法。**バナー、通知、メニューバーの右クリックメニューにある*5分間許可*を選ぶと、ネットワークのログインページや簡単な確認のためにすべてを通し、その後もVPNが切断されたままなら再びブロックします。そのすぐ隣と「設定」には*オフにする*があります。

できないこと：フィルタが見るのは新しい接続だけなので、VPNが切断されたときにすでに開いていた接続はそのまま続きます（ほとんどは使っていたトンネルとともに切れます）。VPNがサーバを見つけられるよう、DNSの問い合わせは引き続き外に出ます。Kilobatが終了しても、フィルタは最後に受け取った状態を保ち、VPNのトンネルインターフェイスがなくなるとブロックを続けます。通信を許可するかオフにするには、Kilobatを開いてください。ターミナルでは：`kilobat settings kill-switch on`。状態は`kilobat vpn`または`kilobat conditions`で確認できます。エージェントは`check_vpn`と`get_conditions`で状態を読み取り、`set_kill_switch`は事前に確認を求めます。

## VPNリークテスト

VPNをオンにした状態で、「ヘルス」›「通信の出口」または「設定」›「ネットワーク」の*リークをチェック*をクリックします。約10秒で、Kilobatは通信がVPNを迂回しうる3つの経路を調べ、それぞれの合否と修正する設定を示します。Kilobatが把握しているVPNアプリ（Mullvad、NordVPN、Proton VPN、ExpressVPN、Tailscale、WireGuard）では、そのアプリでの名称で示します。Cisco、GlobalProtectなどの職場のVPNでは、IT部門に何を依頼すればよいかを示します。

- **DNS。**macOSが通常の問い合わせに使うリゾルバと、それぞれへのルートを調べます。トンネルではなくWi-FiやEthernet経由で届くリゾルバがあると、問い合わせた名前がすべて漏れます。Kilobatはbash.ws経由でいくつかの架空の名前も問い合わせ、問い合わせてきたリゾルバを報告してもらいます。VPNのものでも、CloudflareやGoogleなどの公開DNSサービスでもないリゾルバは、インターネットプロバイダのものと思われます。
- **IPv6。**MacにWi-Fi経由のIPv6ルートがあるのに、VPNがIPv4しか運ばない場合、IPv6のサイトには実際のアドレスが送られます。Kilobatはapi6.ipify.orgにIPv6アドレスを問い合わせてサイトから見えるものを示し、VPNの設定、またはそのネットワークでIPv6をオフにする方法（「システム設定」›「ネットワーク」›「Wi-Fi」›「詳細」›「TCP/IP」›「IPv6の構成」›「リンクローカルのみ」）を示します。
- **UDPとWebRTC。**ブラウザのWebRTCは、すべてのネットワークインターフェイスからUDPを送ります。KilobatはSTUN要求（GoogleまたはCloudflareのサーバ宛て）をVPN経由で1つ、Wi-FiまたはEthernetから直接1つ送ります。2つ目に応答があるか、1つ目がVPNの出口とは異なるアドレスから戻ってきた場合、ページに実際のアドレスを知られる可能性があります。対処法は、VPNのキルスイッチまたはロックダウンオプションです。KilobatはブラウザのWebRTCを実行できないため、ブラウザがローカルアドレスを共有しないようにする方法も示します：Safariはアドレスを隠します。Firefoxでは`media.peerconnection.enabled`をオフに、BraveではWebRTC IP処理ポリシーを設定し、ChromeではGoogleのWebRTC Network Limiter拡張機能を使います。

リークテストは無料です。何も変更せず、問い合わせ先のサービスには一般のサイトと同じようにアドレスが見えるだけです。合格はその時点のこのMacについての結果で、すべてのアプリを保証するものではありません。ターミナルでは：`kilobat vpn leaks`（リークがあると終了コード1、スクリプト向けには`--json`）。エージェントは`check_vpn_leaks`を使います。
