Use VNC for headful profile creation (#197)

* profiles: use vnc for automatic profile creation (fixes #194):
- add x11vnc and serve via vnc when not headless, keep existing screencast for headless mode
- use @novnc/novnc to serve vnc JS library
- add novnc_lite.html to serve the content from an iframe
- optimization: don't show initial blank page / don't wait for initial page in puppeteer

* more vnc work:
- set position of browser at 0,0, avoid needing offset to fit
- add /vncpass endpoint to query vnc password (for use with browsertrix-cloud)
- remove websockify, x11vnc now supports ws connections directly!
- vnc_lite: support reconnecting ws if gracefully disconnected

* x11vnc cleanup: just pass password via cmdline to simplify setup

* make interactive profile creation default, automated enabled only if --automated or --username / --password flags are specified
README updates:
- mention new VNC-based streaming
- mention new --automated flag, move automated info below interactive

* README: adjust auto-login example to use mastodon example instead of twitter, which works more consistently
This commit is contained in:
Ilya Kreymer 2023-01-09 23:56:53 -08:00 committed by GitHub
parent 33a153ac54
commit 5ee05985b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 352 additions and 52 deletions

View file

@ -11,6 +11,7 @@
"test": "yarn node --experimental-vm-modules $(yarn bin jest)"
},
"dependencies": {
"@novnc/novnc": "1.4.0-beta",
"abort-controller": "^3.0.0",
"browsertrix-behaviors": "^0.3.4",
"get-folder-size": "^4.0.0",