はじめに
mitmproxy便利そうなのでCentOS7にインストールしてみた。
http://qiita.com/hkato/items/d0e10d500cde6e6e1695
で、自分がやりたかったことの一つはレスポンスボディを書き換えることなので、下記を参考にしていたのですが、
http://qiita.com/ikuo/items/c03e37bd5ef0c3ea8c10
こちらのスクリプトは一個のURLしか書き換えられないので、それを元に複数のURLを書き換えられるスクリプトを用意してみた。
環境設定
こちらなどを参考に
http://qiita.com/hkurokawa/items/9034274cc1b9e1405c68
http://qiita.com/ikuo/items/c03e37bd5ef0c3ea8c10
スクリプト
こちらに起きました。
https://github.com/hkato/mitmproxy-replace-response-body
使い方
変換したいコンテンツをローカルに用意してください。
変換ルール
こんな感じでCSVファイルにリクエスト先のURLと変換先のローカルファイルのパスを書く。
Yahooトップページのアクセスがsample.htmlに変換される感じですね。
"from","to"
"http://m.yahoo.co.jp/","sample.html"
"https://www.google-analytics.com/analytics.js","sample.js"
実行
$ mitmproxy -s "replace.py replace.csv"
結果
こんな感じになります。
iPhoneからYahooにアクセスすると…
オリジナルのスクリプトの様にGoogle Analyticsにリンクが張ってるQiitaにアクセスすると…
あとがき
運用中のサーバのレスポンスを書き換えてデザイン変更の様子を見てみる。なんて感じで使ってみようと思ってますが、よくよく考えたらApache+mod_proxyやNginxなんかでリバースプロキシーすれば静的コンテンツだけだったらいけたかも。