GitHub - chromedp/chromedp-proxy: chromedp-proxy is a logging proxy for Chrome DevTools Protocol clients. (original) (raw)

About chromedp-proxy

chromedp-proxy is a simple command-line tool to proxy and log Chrome DevTools Protocol sessions sent from a CDP client to a CDP browser session. chromedp-proxy captures and (by default) logs all of the WebSocket messages sent during a CDP session between a remote and local endpoint, and can be used to expose a CDP browser listening on localhost to a remote endpoint.

chromedp-proxy is mainly used to capture and debug the wireline protocol sent from DevTools/Selenium/Puppeteer to Chrome/Chromium/headless_shell/etc. It was originally written for debugging wireline problems/issues with thechromedp project.

Installing

Install in the usual Go way:

$ go get -u github.com/chromedp/chromedp-proxy

Using

By default, chromedp-proxy listens on localhost:9223 and proxies requests to/from localhost:9222:

chromedp-proxy can also be used to expose a local Chrome instance on an external address/port:

$ chromedp-proxy -l 192.168.1.10:9222

By default, chromedp-proxy logs to both stdout and to$PWD/logs/cdp-<id>.log, but that can be changed through flags:

only log to stdout

$ chromedp-proxy -n

or only log to stdout by specifying an empty log name

$ chromedp-proxy -log ''

log to /var/log/cdp/session-.log

$ chromedp-proxy -log '/var/log/cdp/session-%s.log'

Command-line options

$ ./chromedp-proxy -help Usage of ./chromedp-proxy: -l string listen address (default "localhost:9223") -log string log file mask (default "logs/cdp-%s.log") -n disable logging to file -r string remote address (default "localhost:9222")