LoginSignup
0
0

proxy.py をベーシック認証付きプロキシサーバーとして動かす

Posted at

ベーシック認証付きのプロキシサーバーを通した通信をテストする場面があり、 proxy.py を使ったら思いのほか簡単に動かすことができたので紹介します。
以前 WSL2で簡易プロキシサーバーを立てる というのを書きましたが、Pythonがインストールされた環境ならばこちらの方がお手軽です。

環境

  • Python 3.8 (3.6以上が必須となっています)
  • proxy.py 2.4.3

proxy.py のインストール

以下のように pip でインストールするだけです。
公式サイトには、 Docker や HomeBrew を使った方法も書かれています。

pip install proxy.py

実行

ここでは、以下のように動作するように実行します。

  • 他のPCから利用できるようにする。(ファイアウォール等、別途設定してください)
  • ポートを 8080 にする。
  • ユーザー名: user 、パスワード: password でベーシック認証を行う。

以下のコマンドを実行すると動作が開始し、プロンプトにログが出力されます。
終了する際は、 [Ctrl] + [C] で終了できます。

proxy --hostname 0.0.0.0 --port 8080 --basic-auth user:password

動作確認

以下のコマンドを実行して、ベーシック認証が動作していることを確認します。

curl -x user:password@localhost:8080 https://httpbin.org/get

そのまま実行すると応答が表示されます。
ユーザー名やパスワードを書き換えて実行すると、 407 エラーとなります。

その際のログは以下のようになります。

2023-11-30 11:15:24,240 - pid:15444 [I] server.access_log:384 - 127.0.0.1:52175 - CONNECT httpbin.org:443 - 6107 bytes - 1620.53ms
2023-11-30 11:15:39,940 - pid:15444 [I] handler.handle_data:179 - HttpProtocolException: ProxyAuthenticationFailed
2023-11-30 11:15:39,941 - pid:15444 [I] server.access_log:384 - 127.0.0.1:52191 - CONNECT None:None - 0 bytes - 1.00ms

proxy.py を使った、テスト用のお手軽なベーシック認証付きプロキシサーバーの動かし方でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0