add support for Stop and Reload buttons

This commit is contained in:
Antoni Sawicki 2021-03-08 04:41:13 -08:00
parent 3b88b8665b
commit c7811a6886
3 changed files with 17 additions and 9 deletions

View File

@ -6,16 +6,18 @@ A browser-in-browser "proxy" server that allows to use historical / vintage web
## Usage ## Usage
1. [Download a WRP binary](https://github.com/tenox7/wrp/releases/) and run it on a machine that will become your WRP gateway/server. * [Download a WRP binary](https://github.com/tenox7/wrp/releases/) and run it on a machine that will become your WRP gateway/server.
This machine should be pretty modern, high spec and Google Chrome / Chromium Browser is required to be preinstalled. This machine should be pretty modern, high spec and Google Chrome / Chromium Browser is required to be preinstalled.
2. Point your legacy browser to `http://address:port` of WRP server. Do not set or use it as a "proxy server". * Point your legacy browser to `http://address:port` of WRP server. Do not set or use it as a "proxy server".
3. Type a search string or a http/https URL and click **Go**. * Type a search string or a http/https URL and click **Go**.
4. Adjust your screen **W**idth/**H**eight/**Scale/**C**olors to fit in your old browser. * Adjust your screen **W**idth/**H**eight/**Scale/**C**olors to fit in your old browser.
5. Scroll web page by clicking on the in-image scroll bar. * Scroll web page by clicking on the in-image scroll bar.
6. Do not use client browser history-back, instead use **Bk** button in the app. * Do not use client browser history-back, instead use **Bk** button in the app.
7. To send keystrokes, fill **K** input box and press **Go**. There also are buttons for backspace, enter and arrow keys. * To send keystrokes, fill **K** input box and press **Go**. There also are buttons for backspace, enter and arrow keys.
8. You can set height **H** to `0` to render pages in to **a single tall image without the vertical scrollbar** and use client scrolling. However this should not be used with old and low spec clients. Such tall images will be very large and take long time to process, especially for GIFs. * You can set height **H** to `0` to render pages in to **a single tall image without the vertical scrollbar** and use client scrolling. However this should not be used with old and low spec clients. Such tall images will be very large and take long time to process, especially for GIFs.
9. Prefer PNG over GIF if your browser supports it. PNG is much faster, whereas GIF requires a lot of additional processing on both client and server. * Prefer PNG over GIF if your browser supports it. PNG is much faster, whereas GIF requires a lot of additional processing on both client and server.
* You can re-capture page screenshot without reloading by using **St** (Stop).
* You can also reload and re-capture current page with **Re** (Reload).
## Customization ## Customization

4
wrp.go
View File

@ -176,6 +176,10 @@ func action(w wrpReq) chromedp.Action {
switch w.buttons { switch w.buttons {
case "Bk": case "Bk":
return chromedp.NavigateBack() return chromedp.NavigateBack()
case "St":
return chromedp.Stop()
case "Re":
return chromedp.Reload()
case "Bs": case "Bs":
return chromedp.KeyEvent("\b") return chromedp.KeyEvent("\b")
case "Rt": case "Rt":

View File

@ -7,6 +7,8 @@
<INPUT TYPE="TEXT" NAME="url" VALUE="{{.URL}}" SIZE="20"> <INPUT TYPE="TEXT" NAME="url" VALUE="{{.URL}}" SIZE="20">
<INPUT TYPE="SUBMIT" VALUE="Go"> <INPUT TYPE="SUBMIT" VALUE="Go">
<INPUT TYPE="SUBMIT" NAME="Fn" VALUE="Bk"> <INPUT TYPE="SUBMIT" NAME="Fn" VALUE="Bk">
<INPUT TYPE="SUBMIT" NAME="Fn" VALUE="St">
<INPUT TYPE="SUBMIT" NAME="Fn" VALUE="Re">
W <INPUT TYPE="TEXT" NAME="w" VALUE="{{.Width}}" SIZE="4"> W <INPUT TYPE="TEXT" NAME="w" VALUE="{{.Width}}" SIZE="4">
H <INPUT TYPE="TEXT" NAME="h" VALUE="{{.Height}}" SIZE="4"> H <INPUT TYPE="TEXT" NAME="h" VALUE="{{.Height}}" SIZE="4">
S <SELECT NAME="s"> S <SELECT NAME="s">