The roles of client and proxy server will be swaped in this project! The proxy server will send the requests via the client this time, instead of the client sending the requests via the proxy server.
This is why none of the standard SOCKS5 implementations will work for this project... Do not forget this!
See explanation below.
If you have the following case:
** Windows 2012
** Dedicated open ports 80, 443, 1192
** IP address 18.104.22.168
** Windows 10 Home edition
** Behind a router with no dedicated open ports possible.
** IP address 22.214.171.124
Normally you would let Alice be the proxy server and let Bob connect to Alice, so Bob can get route his requests through Alice. But what would you do when you want route Alice's requests through Bob, after Bob connects to Alice.
Note that Alice cannot connect to Bob directly, because Bob's router does not have open ports.
Alice can run a service on for example port 80, so Bob can connect to Alice on 126.96.36.199:80 to establish a connection between Alice and Bob.
For example: Alice wants to send a GET request for [url removed, login to view], after Bob is connected to Alice, this GET request gets routed to Bob first, Bob then sends this GET request and sends the server response he receives is sent back to Alice.
So you run your custom scripts on computer Alice and computer Bob. Bob connects to Alice. Alice should be able to send packets via Bob after that.