# Proxyman Proxy Helper Tool

> Proxyman Proxy Helper Tool をインストールして、macOS のシステムプロキシの変更と復元を高速化し、ゲストユーザーや管理者以外のユーザーでも通信をキャプチャできるようにします。

> **備考:** Proxyman には、プロキシ設定を無視する Mac アプリからの HTTP/HTTPS 通信をキャプチャするための [Network Extension](https://proxyman.com/docs/ja/advanced-features/network-extension) もあります。Helper Tool はシステムプロキシを管理します。一方、Network Extension は、アプリごとのプロキシ設定なしで対応する通信をキャプチャします。
>
> Network Extension はベータ版で、macOS 26 以降では Proxyman PRO が必要です。

## Proxy Helper Tool とは？ {#what-is-the-proxy-helper-tool}

デフォルトでは、Proxyman はコマンドラインツールの [networksetup](https://www.unix.com/man-page/osx/8/networksetup/) を使って HTTP/HTTPS のプロキシ設定を変更します。しかし、**networksetup** は処理が遅く、アプリの起動や終了が遅れることがあります。 

Proxyman は、より速い解決策として **Proxyman Proxy Helper Tool** を提供しています。これは macOS の [Privileged Helper Tool](https://developer.apple.com/library/archive/documentation/Security/Conceptual/SecureCodingGuide/Articles/AccessControl.html#//apple\_ref/doc/uid/TP40002589-SW2) で、**高いパフォーマンス**でネットワークのプロキシ設定を変更します。

> **備考:** Proxy Helper Tool の有無でアプリを起動して、違いを確認できます。

初回起動時、Proxyman は Proxy Helper Tool のインストールを求めます。スキップして、後から **Settings** → **Advanced** でインストールすることもできます。

![Proxy Helper Tool がバージョン 1.7.0 でインストール済みであり、Uninstall ボタンが表示されている Proxyman の Settings の Advanced タブ](https://proxyman.com/docs/assets/proxyman-settings-advanced-proxy-helper-tool.jpg)

_Settings の Advanced にある Proxy Helper Tool_

> **備考:** インストール後、Helper Tool は `/Library/PrivilegedHelperTools/com.proxyman.NSProxy.HelperTool` にあります。
>
> Proxyman の新しいバージョンで Proxy Helper Tool が更新された場合は、再度インストールしてください。

### macOS 13 Ventura 以降で権限を許可する {#grant-permission-on-macos-13-ventura-or-later}

macOS 13 Ventura 以降では、動作させる前に System Settings で Helper Tool を許可する必要があります。

権限を許可するには、次の手順に従ってください。

1. **System Settings** → **General** → **Login Items**（macOS 15 以降では **Login Items & Extensions**）を開きます。
2. Proxyman を見つけて、スイッチを **ON** にします ✅

権限が許可されていない場合、Proxyman の **Settings** → **Advanced** に **Open Login Items…** ボタンが表示され、そこから Login Items を開けます。

![Proxyman のスイッチがオンになっている macOS System Settings の Login Items](https://proxyman.com/docs/assets/Screenshot%202022-11-20%20at%2021.10.43.png)

_Proxy Helper Tool の権限を許可する_

### ゲストユーザーまたは管理者以外のユーザー {#guest-or-non-admin-users}

ゲストユーザーまたは管理者以外のユーザーの場合、`networksetup` コマンドは失敗し、Proxy Helper Tool をインストールするまで HTTP/HTTPS のプロキシ設定を変更できません。 

Proxy Helper Tool には、あらゆる種類のユーザーのプロキシ設定を変更する権限があります。

ゲストユーザーまたは管理者以外のユーザーの場合は、よりスムーズにご利用いただくために、Proxy Helper Tool のインストールを強くおすすめします。

### Proxy Helper Tool をアンインストールする {#uninstall-the-proxy-helper-tool}

**Settings** → **Advanced** → **Uninstall** から Proxy Helper Tool をアンインストールするか、`/Library/PrivilegedHelperTools/com.proxyman.NSProxy.HelperTool` を直接削除できます。

## コマンドラインから Proxy Helper Tool をインストールする {#install-the-proxy-helper-tool-by-command-line}

macOS 版 Proxyman 4.12.0 以降では、次のコマンドを使って GUI なしで Helper Tool をインストールできます。

```
sudo /Applications/Proxyman.app/Contents/MacOS/proxyman --install-privileged-components
```

## 変更履歴 {#changelog}

### バージョン 1.6.0（Proxyman 5.11.0 以降） {#version-160-proxyman-5110-or-later}

* 修正：アプリを閉じたときに、PAC URL を復元できない問題

### **バージョン 1.5.0** {#version-150}

* セキュリティ上の脆弱性を修正しました。Proxyman v1.5.0 以前（2019 年）は、Helper Tool（v1.4.0）に接続して、ユーザーの同意なしにシステムプロキシを上書きできる可能性がありました。この修正では、受信接続を検証する制約を追加しています。接続元は Apple による公証を受けており、Proxyman LLC の証明書で署名されていて、Library Validation と Force Hard フラグが有効になっている必要があります。(CVE-2023-45732)

📣 NCC Group の **Scott Leitch** 氏に感謝します。

### **バージョン 1.4.0** {#version-140}

* macOS 13 Ventura の Helper Tool に関する新しい要件に準拠
* Login Items に、アプリのアイコンとアプリ名を表示

> **備考:** macOS Ventura 以降では、Proxyman はフォアグラウンドでのみ動作するにもかかわらず、Helper Tool、launch daemon、launch agent が **Allow in the Background** の下に表示されます。
>
> これを macOS で修正するよう Apple に求める [Twitter での議論](https://twitter.com/siracusa/status/1583914093437935616?s=46\&t=C1XB91IkDFkG697Ab8T9Dg)が続いています。

バージョン 1.4.0 をインストールした後、macOS が表示をキャッシュしているため、Login Items の項目が更新されない場合があります。 

![Proxyman ではなく、古いキャッシュ名と空白のアイコンが表示されている macOS の Login Items の項目](https://proxyman.com/docs/assets/Screen%20Shot%202022-10-25%20at%2010.00.04.png)

_Login Items に古いキャッシュ済みの項目が表示される_

解決するには、次の手順に従ってください。

1. Terminal アプリを開き、`sfltool resetbtm` を実行します。
2. Mac を再起動します。
3. 完了です。

### **バージョン 1.3.0** {#version-130}

* 以前のプロキシ設定を記憶して復元

### バージョン 1.2.0 {#version-120}

* Proxyman がクラッシュした場合に、HTTP プロキシの設定を正しく元に戻す

## トラブルシューティング {#troubleshooting}

Helper Tool のインストール時に次のエラーが表示される場合は、以下を確認してください。

The operation couldn’t be completed. (CFErrorDomainLaunchd error 9.)

次の記事の手順に従ってください: [CFErrorDomainLaunchd error 9 の修正方法（Tencent Cloud）](https://cloud.tencent.com/developer/article/1816504)

関連する GitHub の Issue: [ProxymanApp/Proxyman#1113](https://github.com/ProxymanApp/Proxyman/issues/1113)
