DIY residential proxy network

TL;DR start building your own proxy network using Windows, Linux and macOS desktop PCs by following http://app.belodetek.io#instructions

A clever company in Israel built a free browser extension called Hola, which turned your desktop PC into an exit-node for the other users and vice-versa (read: botnet). They then built a business tool on the back of this enterprise, selling access to residential proxies to market researches, Netflix unblocking enthusiasts and other less credible audiences, for more dubious purposes. For probably the best discussion on this subject, you could read this Hacker News thread, as well as this educational.

Having said all that, it seems that most Internet users either are unaware or simply don't care of having their Internet access being effectively productised as sold off to the highest bidder, as long as they can watch their otherwise blocked Netflix shows. Otherwise one would expect there to be a bit more negative publicity on the matter.

So assuming all of this is legal, should you wish to build your own residential proxy network, we've built a proof-of-concept solution in a form of an Electron desktop app, which starts a SOCKS server on the local machine and forwards an available port on a remote Linux box to itself over SSH.

Every new installation of our app, will attempt to make a connection to the remote server (or cluster of) and forward a random port to the local proxy. These proxies can then be exposed on the public interface of the server using HAProxy, OpenVPN or a combination of tools.

Once the ports are exposed, ensure appropriate ACLs are set, otherwise you would end up creating a public botnet.

An example shell script is provided, which can be used to automatically generate HAProxy configuration for all connected proxies.

Other load-balancers besides HAProxy could be used and a complete solution utilising this approach would probably need to expose active proxy endpoints via an API as well as have a user dashboard of some sort.

Additionally, this concept could be ported to mobile platforms using react-native framework and corresponding SSH and SOCKS platform libraries, which would expand your proxy network to mobile devices running Android and iOS.