jhhoward / MicroWeb

DOS Web browser for 8088 class machines
GNU General Public License v2.0
436 stars 31 forks source link

wishlist: Crypto Ancienne support #20

Open nortti0 opened 2 years ago

nortti0 commented 2 years ago

Crypto Ancienne is a HTTP proxy that is meant for old computers that do not have the processing power necessary to do TLS, but unlike most other proxies with the same goal, it only handles https:// urls and does not do rewriting of transferred contents. It is designed to be used with a compatible web browser, which allows forwarding https requests to a plaintext HTTP proxy, something that MicroWeb doesn't seem to support at the moment.

I think it would be a very clean solution for https support in MicroWeb, and help with pages where FrogFind doesn't correctly identify the contents.

freakedenough commented 1 year ago

could you please explain me how to use crypto ancienne?

nortti0 commented 1 year ago

Firstly, you'll need to run the carl proxy on a machine on the same network. Then, in a web browser with Crypto Ancienne support, you'll configure it to forward any HTTPS connections to the proxy you have set up. The proxy expects a normal HTTP proxy request, but makes the connection using HTTPS instead.

Does this answer your question?

classilla commented 10 months ago

Hi, Crypto Ancienne maintainer here. Someone passed me this issue, so here's a drive-by comment.

All your code would have to do is recognize the https scheme and otherwise treat HTTPS exactly like HTTP, including sending HTTPS requests to the carl proxy. This is exactly done the same way like an HTTP proxy would work, except that it sends an HTTPS URL instead of HTTP, e.g.,

GET https://www.google.com/ HTTP/1.0
Host: www.google.com
User-Agent: Captainer-America
X-Etc: And-so-forth

HTTP/1.0 200 OK

...

The browser gets a regular response back; the TLS is handled entirely by the proxy. carl does only minimal post-processing otherwise, so you get a real response, and all it needs is a C compiler (no other libraries).