NodeJS
Proxyman の Automatic Setup で NodeJS アプリとスクリプトの HTTP/HTTPS 通信をキャプチャします。axios、got、superagent、fetch、node-fetch に対応しています。
1. 新しい自動設定(v4.7.0 以降)✅
Proxyman v4.7.0 以降では、ワンクリックで NodeJS の HTTP/HTTPS 通信をキャプチャできます。
- ワンクリックで設定できます。HTTP Proxy の設定や、自己署名証明書の手動での信頼設定は必要ありません。
- 多くの NodeJS ライブラリに対応しています:axios、got、superagent、fetch、node-fetch
使い方:
- Proxyman を開き、Setup メニュー → Automatic Setup を選択します
- Open New Terminal をクリックします
- 必要に応じて、AppleScript の権限確認を許可します
- 新しいターミナルウィンドウが開きます。そこで NodeJS のバックエンドサーバーを起動するか、スクリプトを実行してください。Proxyman がすべての通信を自動的にキャプチャします。
- 例:
$ npm start
完了 ✅

NodeJS の通信をキャプチャ
Automatic Setup のページをご覧ください:
2. 旧方式(非推奨)❌
NodeJS と Proxyman を併用する際によくある問題は次のとおりです:
1. NodeJS サーバーへの http://localhost:3000 リクエストを Proxyman でキャプチャできない
NodeJS で localhost の Web サイト(例:http://localhost:3000 )を配信している場合、Proxyman が機能しないことがあります。例えば、ExpressJS を使って http://localhost:3000 で API サーバーを配信している場合です。
解決方法:
localhost サーバーからリクエストが一切見えない場合をご覧ください。
2. NodeJS のローカルサーバーから送信される HTTP リクエストを Proxyman でキャプチャできない
解決方法
初期状態では、NodeJS ライブラリからの HTTP/HTTPS リクエストは HTTP プロキシサーバーを経由しないため、Proxyman は通信をキャプチャできません。
2.1 node-fetch
- global-agent パッケージをインストールします
npm install global-agent
2. NodeJS コードの先頭に、次のコードを追加します:
import { bootstrap } from 'global-agent';
bootstrap();
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
3. 次の環境変数を現在のシェルに追加します。Proxyman がポート 9090 で待ち受けていることを確認してください
export GLOBAL_AGENT_HTTP_PROXY=http://127.0.0.1:9090
4. 完了 ✅
NodeJS スクリプトをもう一度実行すると、HTTP/HTTPS リクエストが Proxyman アプリに表示されます。
サンプルコード
import fetch from 'node-fetch';
// Setup global-agent
import { bootstrap } from 'global-agent';
bootstrap();
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
// fetch the data
const response = await fetch('https://httpbin.org/get?id=123');
const data = await response.json();
// Done
console.log(data);
2.2 Axios
Axios のドキュメントによると、HTTP_PROXY と HTTPS_PROXY の環境変数を設定できます。
- メニューバーの Proxyman アイコン → Listen on <IP>:<Port> をクリックします
- Copy Shell Command をクリックします

- ターミナルを開き、コマンドを貼り付けます。例:export https_proxy=http://192.168.1.103:9090 http_proxy=http://192.168.1.103:9090
- 同じターミナルで、axios を使う NodeJS サーバーを起動します。
- axios の通信は Proxyman を経由して送信されます。
- 完了 ✅
2.3 別の NodeJS ライブラリを使用している場合
fetch や axios を使用していない場合は、設定方法が異なる可能性があります。プロキシの設定方法と Proxyman 証明書の信頼設定については、使用しているライブラリのドキュメントをご確認ください。