replocal
**replocal**は、Webデバッグ用のローカルプロキシを起動するコマンドラインツールです。
replocalのプロキシサーバは、特定のHTTPリクエストをキャッチして、Webコンテンツをローカルファイルの内容に置き換えます。たとえば既存のWebサイトに対して、JSだけローカルの開発コードに差し替えて検証したい…といったときに役立ちます。
ちょっとしたデバッグの際、FiddlerやCharlesを使わずにコマンド一発で起動できるツールがあると便利かと思い作りました。
$ replocal example.com
直接接続だと本来のコンテンツ、プロキシを差すとローカルファイルが表示されます。
インストール
Node.jsを使っています。npmでインストールします。
$ npm install -g replocal
使い方
$ replocal example.com
コマンドを実行すると、localhost:8888
にプロキシサーバが立ち上がります。
このプロキシを差してhttp://example.com/
にアクセスすると、本来のページの代わりにカレントディレクトリ内のindex.html
が表示されます。
ローカルにindex.html
がない場合は、元のページがそのまま見えます。
もちろんCSSやJavaScript、画像などを置き換えることもできます。ディレクトリの階層も反映されます。
コマンド詳細
replocal [options] <hostname> [<directory>]
デフォルトの設定では、カレントディレクトリが対象サイトのドキュメントルートに対応します。
第2引数<directory>
を指定すると、他のローカルフォルダをドキュメントルートにマッピングできます。
また、-p
, --port
オプションを使って、プロキシサーバの起動ポートを変更できます。
例
$ replocal --port=9999 example.com path/to/docroot
# Proxy server is running on http://localhost:9999
# Target website : example.com
# Document root : path/to/docroot
オプションの一覧は、replocal --help
かドキュメントを参照してください。
課題点
- HTTPSに対応していません。技術的には対応可能ですが、環境ごとのセットアップが別途必要で少し難しいです。
- 深い階層のページを置き換えるには、ローカルにもサブディレクトリをたくさん切って再現しないといけません。頑張れば、特定のURL配下をターゲット指定できるようになるかも…。
GitHubリポジトリ
https://github.com/htanjo/replocal
ご意見やご要望がありましたら、Issues/Pull requestsまで。日本語大丈夫デース!