byt3bl33d3r / WitnessMe

Web Inventory tool, takes screenshots of webpages using Pyppeteer (headless Chrome/Chromium) and provides some extra bells & whistles to make life easier.
GNU General Public License v3.0
727 stars 109 forks source link

Screenshot command fails on arm64 (with fix) #24

Open ghost opened 3 years ago

ghost commented 3 years ago

The screenshot command fails on arm64 due to the an upstream dependency only pulling down a binary blob for one particular CPU architecture.

Until this is resolved upstream (https://github.com/pyppeteer/pyppeteer/issues/155), consider installing chromium from the OS package manager.

This fix is demonstrated by changing only the Dockerfile, in the forked repo branch at https://github.com/byt3bl33d3r/WitnessMe/compare/master...kairzha:kairzha-patch-1

You can test this out yourself via:

arm64:

docker run --rm busybox uname -a
Linux a2ca1418e374 5.4.0-1022-raspi #25-Ubuntu SMP PREEMPT TIMESTAMP aarch64 GNU/Linux
docker build --tag witnessmeme https://github.com/kairzha/WitnessMe.git#kairzha-patch-1
docker run --rm -v "$PWD":/data -w /data witnessmeme screenshot 'https://www.bing.com/search?q=apple+m1'
[witnessme.screenshot] INFO - Saved scan to scan_TIMESTAMP/

x64:

docker run --rm busybox uname -a
Linux fb2651a302d5 5.4.39-linuxkit #1 SMP TIMESTAMP x86_64 GNU/Linux
docker build --tag witnessmeme https://github.com/kairzha/WitnessMe.git#kairzha-patch-1
docker run --rm -v "$PWD":/data -w /data witnessmeme screenshot 'https://www.bing.com/search?q=apple+m1'
[witnessme.screenshot] INFO - Saved scan to scan_TIMESTAMP/