Skip to content
Александр Тауенис edited this page Aug 14, 2019 · 15 revisions

The WebOne Proxy Server is HTTP 1.0 server that gets requests from Internet browsers, makes a new request to requested remote server (using HTTP/HTTPS 1.1 and all security things) and returns the requested content with adaptations need to show it in "elderly" browser.

The list of possible adaptations of traffic in WebOne 0.8 below.

Network adaptations

All HTTP traffic from browser is sent to real HTTP and HTTPS servers. If the server can't work in insecure mode, the Proxy retries the request in HTTPS mode. But for client it continues to look like the protocol (regular HTTP 1.0) hasn't changed. So all sites being available again via insecure HTTP protocol.

Secure cookies are gets edited to be non-secure, because otherwise browser will reject them over old open protocol.

Client user-agent too gets modified by the Proxy by adding WebOne/X.Y.Z suffix, so server can detect the proxy and understand that the old browser is not as dumb as it was in the 1990s.

Proxy authentication

WebOne is ready to be used on public hosts. To prevent unauthorized use of it there are possible to enable password-based proxy authentication. If it is enabled, the browser will ask you for password before allowing use of the proxy. So the proxy server will not be used to post spam or by kids.

Content editing

All content that are text-based (like HTML, CSS, JS) being edited by WebOne. Binary files are transfered pass-through as is. Links to HTTPS resources are editing to HTTP, because WebOne currently cannot receive Secure requests. List of MIME types of content which should be touched by content editing is set in TextTypes configuration file option.

Some sites or internet applications to display and work correctly in old browsers require manual editing of some content using something like "find and replace" function of text editors. For such cases ContentPatch sections of config file might help. See RegExp books and articles for more details about match masks, capture groups and replacement masks.

Codepage convertion

If OutputEncoding option is set to AsIs, the content encoding (code page) aren't changing. Most of modern web is encoded in UTF8. But if you want to use non UTF-aware browser, WebOne can convert text content to any available encoding. Set the option to Windows to enable converting to system local ("ANSI") code page or enter any possible code page name here. List of available code pages can be found at http://localhost:port/!codepages/ URL. For non-English-speaking people all encodings that are for system language are underlined in the list.

All content from remote servers is downloaded by WebOne using encoding said in Content-type header or by finding Byte Order Mark. But for servers with invalid UTF-8 content you may set forced downloading using selected code page in webone.conf. Currently it's ForceUtf8 section but probably it will be changed in later nightly builds

Content replacing using 302 Redirections

To replace some linked content on pages or to use archived copy of some URLs instead of real web it is possible to use FixableURL sections of config file.

Automatic loading of archived copy of dead sites

In case of unavailability of the site due to content removal (on Server Not Found or 404 errors), WebOne tries to get the content from Internet Archive Wayback Machine. If there are chances to see something, browser gets a redirection to archived copy. This behavior may be enabled or disabled via SearchInArchive option.

Older browsers cannot correctly display "Wayback Machine doesn't have that page archived" messages from Internet Archive. For them there are possibility to replace the message with built into WebOne. To disable 404 message replacing, unset ShortenArchiveErrors option.

License

This software is provided "as is" without any warranties. In no event author shall be liable for any damages. Copy the software or any parts of it wherever and however you want, but only on non-commercial terms and not for any purposes of enrichment (except museum usage, they can use the software as wish). Using for hidden unauthorized changes in traffic is strictly prohibited.