https://github.com/webrecorder/pywb-remote-browsers
Docker Compose based system for running remote browsers (including Flash and Java support) connected to web archives
https://github.com/webrecorder/pywb-remote-browsers
browsers emulation pywb remote-browsers webrecorder
Last synced: 8 days ago
JSON representation
Docker Compose based system for running remote browsers (including Flash and Java support) connected to web archives
- Host: GitHub
- URL: https://github.com/webrecorder/pywb-remote-browsers
- Owner: webrecorder
- License: apache-2.0
- Created: 2021-05-28T06:20:10.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-06-10T00:46:14.000Z (almost 4 years ago)
- Last Synced: 2025-04-14T14:27:25.060Z (15 days ago)
- Topics: browsers, emulation, pywb, remote-browsers, webrecorder
- Language: Python
- Homepage:
- Size: 117 KB
- Stars: 15
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pywb Remote Browsers
This repository provides a simple configuration for deploying any [pywb](https://github.com/webrecorder/pywb)
with remote browsers provided by [OWT/Shepherd Remote Browser System](https://github.com/oldweb-today/shepherd)To use:
1) Clone this repo
2) Add new or existing collections to the `collections` directory, eg. by running [wb-manager](https://pywb.readthedocs.io/en/latest/manual/apps.html#wb-manager)
or copy an [existing pywb collections directory](https://pywb.readthedocs.io/en/latest/manual/configuring.html#directory-structure) into the local collections directory.3) Pull one or more Browser Docker Images from: https://hub.docker.com/r/oldwebtoday/chrome/tags or https://hub.docker.com/r/oldwebtoday/firefox/tags
**To use a browser with Flash Support, `chrome:84` is recommended., eg. `docker pull oldwebtoday/chrome:84`**
(See below for more info).4) Run `docker-compose up -d` to start.
4) Go to `http://localhost:9020/`
### Browsing UI
The default UI provides a set of controls for entering URL, timestamp, choosing a browser, and choosing a collection. The system will then start the selected remote browser connected to that pywb collection in an iframe.
### Viewer UI
To load the remote browser directly without the iframe or sidebar controls, you can also visit `http://localhost:9020////`.
## Getting Remote Browser Images
The Browser Images are downloaded manually, to allow users to choose which browsers they want to run.
Browsers can be obtained from the oldwebtoday browser repos including: https://hub.docker.com/r/oldwebtoday/chrome/tags and https://hub.docker.com/r/oldwebtoday/firefox/tags.
At least one browser must be downloaded for the system to work, eg. `docker pull oldwebtoday/chrome:84`.
## Flash and Java support
A key benefit of the remote browser system is to run older browsers, such as those supporting Flash and Java.
Here are the latest version of Chrome and Firefox that we have available that support Flash and Java:
- Flash: Chrome 84 (`chrome:84`) or Firefox 68 (`firefox:68`)
- Java: Firefox 49 (`firefox:49`)Additional browsers will (hopefully) be added in the future!
## Adding pywb collections
pywb collections can be added while the system is running, and will be recognized on refresh, for example:
```
wb-manager init new-coll
wb-manager add new-coll some-warc-files.warc
```The `new-coll` should now appear in the collection dropdown.
## Audio
The system is configured with audio support via WebRTC, using a turn server operating on port 33478.
This port must be accessible to if connecting remotely.TODO Add docs on configuring over SSL via nginx proxying.
## Recording Mode
The system also supports recording or capturing into new collections, using the [pywb Recording mode](https://pywb.readthedocs.io/en/latest/manual/configuring.html#recording-mode)
To enable recording mode, set `ALLOW_RECORD=1` in the docker-compose.yaml
When enabled, the UI will show an recording checkbox. If checked, a new browser will be started in recording mode.
This can be used to record existing content, such as Flash or even Java content, using an older browser.