11 Commits
0.2 ... 3.0

Author SHA1 Message Date
Antoni Sawicki
de780b353d Delete .gitignore 2019-06-04 23:50:27 -07:00
Antoni Sawicki
d64ae7e5d0 readme update 2019-06-04 23:48:26 -07:00
Antoni Sawicki
6f702d74e5 merge 2019-06-04 23:47:00 -07:00
Antoni Sawicki
6a8f655953 delete old readme 2019-06-04 23:46:16 -07:00
Antoni Sawicki
1b8d3544ed Update README.md 2019-06-04 23:35:40 -07:00
Antoni Sawicki
b5f5d6c576 readme update 2019-06-04 02:31:11 -07:00
Antoni Sawicki
99f4c8cac3 cleanup of pywebkit 2019-06-04 02:29:38 -07:00
Antoni Sawicki
6e75da10f3 readme update 2019-06-04 02:20:43 -07:00
Antoni Sawicki
dd1031a35b Merge pull request #32 from rakslice/encoding_fix
Fix unicode encode error
2019-06-03 01:41:00 -07:00
rakslice
fec97243ba Fix unicode encode error 2019-06-02 14:02:56 -07:00
Antoni Sawicki
aabc8cf021 link to dev branch 2019-05-29 18:54:04 -07:00
5 changed files with 28 additions and 89 deletions

1
.gitignore vendored
View File

@@ -1 +0,0 @@
.vscode

View File

@@ -2,30 +2,35 @@
A HTTP proxy server that allows to use historical and obsolete web browsers on the modern web. It works by rendering the web page in to a GIF image associated with clickable imagemap of original web links.
**You are looking at a GoLang / CDP branch of WRP.**
## Current Status
**This code is under active development and not fully usable yet.**
## Done so far
* basic browser-in-browser mode
* screenshot and serve image+map via CDP
* gif with FloydSteinberg dithering
* multiple concurent client support
* resolve relative links
* paginated scrolling
* google search on input not starting with ^http
* ISMAP, although for a redirect to work `-i` flag must be specified
otherwise http-equiv refresh will be used and/or link provided
* headed mode and chromedp debug output
* This is the new GoLang/ChdomeDP version.
* It's still lacking some features of the [older version](/old) (such as real http proxy mode and image manipulation) but it surpases it in terms of stability and usability.
* It's beta quality but I can fix/maintain the code unlike the older version.
## Todo
* configurable color palete and quantization
* real http proxy support
* padded box model coordinates
* better http server shutdown
* Configurable color palete and quantization.
* Real http proxy support via [goproxy](https://github.com/elazarl/goproxy) - if you really need a real proxy, for now use the [old/](/old) version.
* Padded box model coordinates.
* Input boxes support. However today you can cheat by using headed mode and input your data on the WRP server.
## Old Python version
## Usage
Check [pywebkit/](/pywebkit) folder for the old Python-Webkit version.
1. [Download a WRP binary](https://github.com/tenox7/wrp/releases) and run on a server/gateway.
2. Point your legacy browser to the IP address:port of WRP server.
3. Type a search string or a http/https URL and click Go.
4. Adjust your screen width/heigh/scale to fit in your old browser.
5. For very very very old browsers such as Mosaic 2.x and IBM WebExplorer 1.x check the I checkbox to enable ISMAP mode. However this normally should not be needed.
6. Scroll web page by clicking Up/Down. To go to top enter 0 and click Go.
## Flags
```
-l listen address:port, default :8080
-h headed mode, display browser window
-d chromedp debug logging
```
## More info and screenshots
* http://virtuallyfun.superglobalmegacorp.com/2014/03/11/web-rendering-proxy-update/
* http://virtuallyfun.superglobalmegacorp.com/2014/03/03/surfing-modern-web-with-ancient-browsers/

View File

@@ -284,10 +284,10 @@ if sys.platform.startswith('linux') or sys.platform.startswith('freebsd'):
if ISMAP == True:
mapfile.write("rect %s %i,%i %i,%i\n".decode('utf-8', errors='ignore') % (turl, xmin, ymin, xmax, ymax))
else:
httpout.write("<AREA SHAPE=\"RECT\""
httpout.write(("<AREA SHAPE=\"RECT\""
" COORDS=\"%i,%i,%i,%i\""
" ALT=\"%s\" HREF=\"%s\">\n".decode('utf-8', errors='ignore')
% (xmin, ymin, xmax, ymax, turl, turl))
% (xmin, ymin, xmax, ymax, turl, turl)).encode("utf-8"))
if ISMAP != True:
httpout.write("</MAP>\n")

View File

@@ -1,36 +0,0 @@
## [2.0] - 2017-05-10
### Added
- Support PyQt5 if available.
- Sets title from original one.
- Returns server errors as is.
- Download non-HTML files as is.
- For JavaScript capable browsers detect and automatically set view width.
- Add support for configuring which image format to use.
- Added support for PythonMagick. If found, allows to dither, color-reduce, or convert to grayscale or monochrome.
- If PythonMagick is found, render as PNG and convert to user-requested format using it, for better quality.
### Changed
- Support www prepented to http://wrp.stop command.
### Fixed
- Prevent python crashes with non-ASCII character in URLs.
## [1.4] - 2017-01-22
### Added
- Suport for ISMAP on Linux.
- Use queues instead of globals in Linux.
## [1.3] - 2017-01-21
### Changed
- Merged mac OS and Linux in a single executable.
- Use queues instead of globals in Linux.
### Fixed
- Call PyQt to close application on http://wrp.stop
## [1.2] - 2016-12-27
### Added
- Support for IMAP on mac OS.
### Changed
- Use queues instead of globals in mac OS.

View File

@@ -1,29 +0,0 @@
# WRP - Web Rendering Proxy
A HTTP proxy server that allows to use historical and obsolete web browsers on the modern web. It works by rendering the web page in to a GIF/PNG/JPEG image associated with clickable imagemap of original web links.
# Current Status
* This is a WebKit / Python version of WRP.
* No longer maintained / supported.
* You should be using GoLang/CDP version instead.
* It mostly works for casual browsing but it's not very stable.
* Secure aka https/SSL/TLS websites might work with use of [sslstrip](https://moxie.org/software/sslstrip/) cheat (enabled by default).
## OS Support
WRP works on macOS (Mac OS X), Linux and FreeBSD. On macOS it uses Cocoa Webkit, on Linux/FreeBSD QT Webkit, for which needs PyQT4 or PyQT5. It does not work on Windows. Use Go/CDP version for that.
## Installation
* macOS - should just work
* Linux/FreeBSD install `python-pyqt5.qtwebkit` and `sslstrip`
* For PythonMagick (Imagemagick library) install `python-pythonmagick`
## Configuration
Edit wrp.py, scroll past Copyright section to find config parameters
## Usage
Configure your web browser to use HTTP proxy at IP address and port where WRP is running. If using browsers prior to HTML 3.2, ISMAP option may need to be enabled. Check configuration.
## More info and screenshots
* http://virtuallyfun.superglobalmegacorp.com/2014/03/11/web-rendering-proxy-update/
* http://virtuallyfun.superglobalmegacorp.com/2014/03/03/surfing-modern-web-with-ancient-browsers/