Running the following to install:
pip install makiproxy5
https://pypi.org/project/makiproxy5/0.0.1/
if __name__ == "__main__":
ps = ProxyServer(host=None, port=10696, username=None, password=None, max_clients=3, secure=True)
ps.run()
- host : This is the current local IP of the devices, this will be automatically so can be left blank.
- port : State the local port you want to clients to use when connecting to the proxy server.
- username : Set allowed username that can access the proxy server during authentication.
- password : Corresponding password required for username during authentication.
- max_client : Allow a maximum of x concurrent connections to the proxy server.
- secure : Disables no authentication method, so all users must provide username/pass to connect.
Example usage for initializing proxy server.
ProxyServer(username="maki", password="password", port=10696, secure=True).run()
There are many ways to use this server, I will mention a few for aid.
-
On Firefox (PC): Using extension Proxy Toggle, https://addons.mozilla.org/en-GB/firefox/addon/proxy-toggle/ Any extension where Proxy5 is accepted and allows the username/password authentication method.
-
On iOS (Mobile): Using this app, although cost £2-3 its the best option I have found. https://apps.apple.com/gb/app/shadowrocket/id932747118 There may be other options available on Andriod for free.
I wanted to watch UK TV shows that weren't available while abroad so decided to make a proxy server running on a raspberry pi so that I could watch free of charge and effortlessly.
Of course I could of just bought a monthly subscription to a VPN service or a proxy for a month, but what's the fun in that? I wanted to challenge myself, learn more about things I depend on instead of just using it.
I started my journey by looking at RFC for proxy5 protocol, and inspecting wireshark for proxy server running in practical way, so I could implement it myself.
Michael Peres 22/07/2022