By proxy server, what I mean is that you would open up a local TCP socket connection which requests the operating system to give you an available TCP port number. Once opened, you would use this localhost and port number via your network request API like this…
http://127.0.0.1:<PortNumber>/<TargetUrl>
…or…
https://127.0.0.1:<PortNumber>/<TargetUrl>
When the Corona app’s network request API opens a socket connection with your TCP socket server, your server would then open a SOCKv5 connection to <TargetUrl>. From there, your proxy would act as a pass-through. Meaning that the request sent from the Corona app’s network request to your TCP socket server would be passed through to the SOCKv5 connection you’ve opened up… and you would also do the reverse for the response by passing the SOCKv5 response back to the Corona app’s TCP socket connection. A proxy server in this case is really just a software concept which you implement yourself. That is, it’s a bridge. You pass the received requests/responses between the SOCKv4 and SOCKv5 connections. And this might be your only option for platforms whose native HTTP APIs don’t offer SOCKv5 support (like Win32).
On Android, you would want to listen in for local HTTP/HTTPS requests via the Java HttpUrlConnection class. Unfortunately, it doesn’t give you raw access to the received HTTP request, meaning that you would have to reassemble the HTTP request the best you can when passing it through to the SOCKv5 connection. The below link shows a Java code example that should give you the general idea on how to code it, but just note that’s it’s not a *great* example and you shouldn’t just copy-and-paste it.
http://www.jtmelton.com/2007/11/27/a-simple-multi-threaded-java-http-proxy-server
Does this help?