Github: https://github.com/mitmproxy/mitmproxy
mitmproxy
このリポジトリには、 mitmproxyプロジェクトとpathodプロジェクトが含まれています。
mitmproxy
は、コンソールインターフェイスを備えた、インタラクティブなSSL対応の代行受信プロキシです。
mitmdump
はmitmdump
のコマンドラインバージョンです。 HTTPのtcpdumpを考えてみてください。
mitmweb
は、 mitmweb
用のWebベースのインターフェイスです。
pathoc
とpathod
は、標準に創造的に違反しているHTTPリクエストを含む、ほぼ考えられるHTTPリクエストを作成できるように設計された、 pathod
なHTTPクライアントとサーバーアプリケーションです。
ドキュメントとヘルプ
一般的な情報、チュートリアル、およびプリコンパイルされたバイナリは、mitmproxyおよびpathodのWebサイトにあります。
mitmproxyの最新のドキュメントは、当社のWebサイトで入手できます。
談話に関するディスカッションフォーラムに参加して、質問をしたり、お互いに問題を解決したり、プロジェクトの新しいアイデアを考案したりできます。
mitmproxy自体に貢献したい場合は、開発者がSlackでチャットに参加してください。
インストール
インストール手順はこちらです。 変更に貢献したい場合は、読んでください。
貢献する
オープンソースプロジェクトとして、mitmproxyはすべての形式の貢献を歓迎します。 プロジェクトを進めたい場合は、以下の分野で貢献することを検討してください。
- メンテナンス:私たちはステップアップしてメンテナンスを手伝っている個人には非常に感謝しています。 これには、試行の問題、プルリクエストのレビューと古いものの取得、 フォーラムの他のユーザーの支援、既存のバグレポートの最小限で完全な検証可能なサンプルまたはテストケースの作成、ドキュメントの更新、またはマイナーな修正が含まれます最近報告されたバグ。
- コード貢献度:私たちは、 最初に貢献したと考えている問題を積極的にマークしています。 プロジェクトへの貢献度が高い場合は、最初にお話ください。
開発セットアップ
mitmproxyでハッキングを開始するには、 高度なインストール手順に従ってソースからmitmproxyをインストールしますが、 pip3 install mitmproxy
実行pip3 install mitmproxy
前に停止してpip3 install mitmproxy
。 代わりに、次の操作を行います。
git clone https://github.com/mitmproxy/mitmproxy.git
cd mitmproxy
./dev.sh # "powershell .\dev.ps1" on Windows
devスクリプトは、 “venv”というディレクトリにvirtualenv環境を作成し、 それにすべての必須およびオプションの依存関係をインストールします。 第1のmitmproxyコンポーネント – mitmproxyとpathod – は “編集可能”としてインストールされるため、リポジトリ内のソースへの変更はvirtualenvに反映されます。
プロジェクトの主な実行ファイル – mitmdump
、 mitmproxy
、 mitmweb
、 pathod
、およびpathoc
– はすべてvirtualenv内で作成されます。 virtualenvを起動すると、あなたの$ PATHに置かれ、他のコマンドと同様に実行できます:
. venv/bin/activate # "venv\Scripts\activate" on Windows
mitmdump --version
テスト
上記の手順を踏んだら、すでにすべての開発要件がインストールされており、完全なテストスイート(コードスタイルとドキュメントのテストを含む)をtoxで実行することができます:
tox
完全なカバレッジレポートを使用して完全なテストを実行するには、次のコマンドを使用します。
tox -- --verbose --cov-report=term
迅速なテストのために、個別のテストファイルまたはフォルダに対してpytestを直接実行することをお勧めします。
cd test/mitmproxy/addons
pytest --cov mitmproxy.addons.anticache --looponfail test_anticache.py
pytestはコードスタイルをチェックしないので、変更をコミットする前にtox -e lint
を実行したいと思うかもしれません。
すべてのパッチにテストスイートの変更が一致することを確認してください。 プロジェクトは100%のテストカバレッジを維持しようとし、コードベースの一部についてこれを厳密に実施します。
ドキュメンテーション
mitmproxyドキュメントを作成するには、次のツールが必要です。
cd docs
yarn
modd
コードスタイル
プロジェクト全体を通して一貫したコードスタイルを維持することで、貢献しやすくコラボレーションすることができます。 PEP8とGoogleスタイルガイドのガイドラインに固執してください。
これはすべてのPRで自動的に強制されます。 lintingエラーが検出された場合、PRチェックは失敗し、マージをブロックします。 次のコマンドを使用して、私たちのリントチェックを自分で実行することができます:
tox -e lint