Web Inventory tool, takes screenshots of webpages using Pyppeteer (headless Chrome/Chromium) and provides some extra bells & whistles to make life easier.
I'm getting the below error on first run, is there any workaround to obtain chromium for use with WitnessMe?
[witnessme.screenshot] INFO - Starting scan 03393d86-5f57-4983-993d-d89c2a616521
[witnessme.headlessbrowser] INFO - Starting headless browser
[W:pyppeteer.chromium_downloader] start chromium download.
Download may take a few minutes.
Traceback (most recent call last):
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 381, in _make_request
self._validate_conn(conn)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn
conn.connect()
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connection.py", line 362, in connect
self.sock = ssl_wrapsocket(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/util/ssl.py", line 384, in ssl_wrap_socket
return context.wrap_socket(sock, server_hostname=server_hostname)
File "/usr/lib/python3.8/ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "/usr/lib/python3.8/ssl.py", line 1040, in _create
self.do_handshake()
File "/usr/lib/python3.8/ssl.py", line 1309, in do_handshake
self._sslobj.do_handshake()
ConnectionResetError: [Errno 104] Connection reset by peer
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/.local/bin/witnessme", line 8, in
sys.exit(run())
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/console/witnessme.py", line 113, in run
args.func(args)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/utils.py", line 41, in wrapper
return asyncio.run(f(*args, kwargs))
File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/console/witnessme.py", line 19, in screenshot
await cmd.start()
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/commands/screenshot.py", line 124, in start
await self._scan_task
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/commands/screenshot.py", line 118, in setup_and_run
await self._browser.run(self.target, self.ports)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/headlessbrowser.py", line 149, in run
await self.start_browser(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/headlessbrowser.py", line 107, in start_browser
browser = await pyppeteer.launch(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/pyppeteer/launcher.py", line 305, in launch
return await Launcher(options, kwargs).launch()
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/pyppeteer/launcher.py", line 119, in init
download_chromium()
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/pyppeteer/chromium_downloader.py", line 146, in download_chromium
extract_zip(download_zip(get_url()), DOWNLOADS_FOLDER / REVISION)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/pyppeteer/chromium_downloader.py", line 85, in download_zip
data = http.request('GET', url, preload_content=False)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/request.py", line 75, in request
return self.request_encode_url(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/request.py", line 97, in request_encode_url
return self.urlopen(method, url, extra_kw)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/poolmanager.py", line 336, in urlopen
response = conn.urlopen(method, u.request_uri, kw)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen
return self.urlopen(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen
return self.urlopen(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen
return self.urlopen(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen
retries = retries.increment(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/util/retry.py", line 439, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='storage.googleapis.com', port=443): Max retries exceeded with url: /chromium-browser-snapshots/Linux_x64/588429/chrome-linux.zip (Caused by ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')))
Hello,
I'm getting the below error on first run, is there any workaround to obtain chromium for use with WitnessMe?
[witnessme.screenshot] INFO - Starting scan 03393d86-5f57-4983-993d-d89c2a616521 [witnessme.headlessbrowser] INFO - Starting headless browser [W:pyppeteer.chromium_downloader] start chromium download. Download may take a few minutes. Traceback (most recent call last): File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen httplib_response = self._make_request( File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 381, in _make_request self._validate_conn(conn) File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn conn.connect() File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connection.py", line 362, in connect self.sock = ssl_wrapsocket( File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/util/ssl.py", line 384, in ssl_wrap_socket return context.wrap_socket(sock, server_hostname=server_hostname) File "/usr/lib/python3.8/ssl.py", line 500, in wrap_socket return self.sslsocket_class._create( File "/usr/lib/python3.8/ssl.py", line 1040, in _create self.do_handshake() File "/usr/lib/python3.8/ssl.py", line 1309, in do_handshake self._sslobj.do_handshake() ConnectionResetError: [Errno 104] Connection reset by peer
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/root/.local/bin/witnessme", line 8, in
sys.exit(run())
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/console/witnessme.py", line 113, in run
args.func(args)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/utils.py", line 41, in wrapper
return asyncio.run(f(*args, kwargs))
File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/console/witnessme.py", line 19, in screenshot
await cmd.start()
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/commands/screenshot.py", line 124, in start
await self._scan_task
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/commands/screenshot.py", line 118, in setup_and_run
await self._browser.run(self.target, self.ports)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/headlessbrowser.py", line 149, in run
await self.start_browser(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/witnessme/headlessbrowser.py", line 107, in start_browser
browser = await pyppeteer.launch(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/pyppeteer/launcher.py", line 305, in launch
return await Launcher(options, kwargs).launch()
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/pyppeteer/launcher.py", line 119, in init
download_chromium()
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/pyppeteer/chromium_downloader.py", line 146, in download_chromium
extract_zip(download_zip(get_url()), DOWNLOADS_FOLDER / REVISION)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/pyppeteer/chromium_downloader.py", line 85, in download_zip
data = http.request('GET', url, preload_content=False)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/request.py", line 75, in request
return self.request_encode_url(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/request.py", line 97, in request_encode_url
return self.urlopen(method, url, extra_kw)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/poolmanager.py", line 336, in urlopen
response = conn.urlopen(method, u.request_uri, kw)
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen
return self.urlopen(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen
return self.urlopen(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 754, in urlopen
return self.urlopen(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen
retries = retries.increment(
File "/root/.local/pipx/venvs/witnessme/lib/python3.8/site-packages/urllib3/util/retry.py", line 439, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='storage.googleapis.com', port=443): Max retries exceeded with url: /chromium-browser-snapshots/Linux_x64/588429/chrome-linux.zip (Caused by ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')))