GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

mitmproxy

mitmproxy – 侵入テスターとソフトウェア開発者のためのインタラクティブなTLS対応のHTTPプロキシー

投稿日:

侵入テスターとソフトウェア開発者のためのインタラクティブなTLS対応のHTTPプロキシー。 https://mitmproxy.org/

mitmproxy

このリポジトリには、 mitmproxyプロジェクトとpathodプロジェクトが含まれています。

mitmproxyは、コンソールインターフェイスを備えた、インタラクティブなSSL対応の代行受信プロキシです。

mitmdumpmitmdumpのコマンドラインバージョンです。 HTTPのtcpdumpを考えてみてください。

mitmwebは、 mitmweb用のWebベースのインターフェイスです。

pathocpathodは、標準に創造的に違反している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に反映されます。

プロジェクトの主な実行ファイル – mitmdumpmitmproxymitmwebpathod 、および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

コードスタイル

プロジェクト全体を通して一貫したコードスタイルを維持することで、貢献しやすくコラボレーションすることができます。 PEP8Googleスタイルガイドのガイドラインに固執してください。

これはすべてのPRで自動的に強制されます。 lintingエラーが検出された場合、PRチェックは失敗し、マージをブロックします。 次のコマンドを使用して、私たちのリントチェックを自分で実行することができます:

tox -e lint







-mitmproxy
-, , , , , , , ,

執筆者: