Yet Another Intercepting Proxy
Find a file
Jonathan Hodgson dd71d26245 Initial https proxy work
The proxy can now sit between a client and a https web server. It does
this by looking for a CONNECT request that conventional proxies use to
open a tunnel between a client and an https server. Instead of opening
an opaque tunnel, yaip immediately sends bacck a "connection
established" response. This tells the client (browser normally) to
proceed and initiate an HTTPS connection.

I use the host that was send in the connect request to set up a fake SSL
server. If we have seen the domain before, we re-use the certificate,
otherwise we generate a new one and sign it using YAIP's built in
certificate authority.

I still need to do work on forwarding the request upstream. This is my
next job. Currently, yaip responds with a valid response of "it worked".

```
$ curl https://example.com --cacert ~/.config/yaip/cert.pem
It worked
```

Notice, we don't get any certificate errors because we are telling curl
to trust the authority that yaip uses
2022-01-30 12:25:57 +00:00
docs Starts work on https as well as some moving about 2022-01-20 16:53:35 +00:00
src Initial https proxy work 2022-01-30 12:25:57 +00:00
tests Initial https proxy work 2022-01-30 12:25:57 +00:00
.gitignore Starts work on https as well as some moving about 2022-01-20 16:53:35 +00:00
.gitmodules Adds µnit submodule for tests 2021-12-27 21:46:47 +00:00
Makefile Starts work on https as well as some moving about 2022-01-20 16:53:35 +00:00
README.md I have made a start 2021-12-27 21:43:11 +00:00

YAIP

This will hopefully one day be an intercepting proxy written in c. I am using it as a way to learn rather than as a tool I expect other people to use. However, if you wish to, you are welcome to use this.

Check laws in your local area, this tool should only be used for legal purposes.