디버그 용 프록시를 빨리 시작하는 명령 "replocal"을 만들었습니다.

replocal



replocal 은 웹 디버깅을 위해 로컬 프록시를 시작하는 명령줄 도구입니다.

replocal의 프록시 서버는 특정 HTTP 요청을 포착하여 웹 콘텐츠를 로컬 파일의 내용으로 바꿉니다. 예를 들어 기존 웹사이트에 대해서 JS만 로컬 개발 코드로 바꿔서 검증하고 싶다…라고 할 때 유용합니다.

약간의 디버그시에 피들러 이나 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>]

기본 설정에서는 현재 디렉토리가 대상 사이트의 문서 루트에 해당합니다.
두 번째 인수 <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 리포지토리



    의견이나 요망이 있으면, IssuesPull requests까지. 일본어 괜찮은 데스!

    좋은 웹페이지 즐겨찾기