A socks 5 proxy server written in Python, class based.
Project description
Python Socks5 Proxy Server
Allows users to run a Proxy5 server on thier own local computer, implemented using sockets.
Installation
Running the following to install:
pip install makiproxy5
Usage
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
Example usage for initializing proxy server.
ProxyServer(username="maki", password="password", port=10696, secure=True).run()
Client Connection Options:
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.
Journey and Motivation
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
End
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for makiproxy5-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebf656ec9f3d91722f51e85c0a83878b1e27532cbc6a9d71697defd727678ba4 |
|
MD5 | 0ca84c6b171fcaf3aa62c152e84b31ff |
|
BLAKE2b-256 | af2397d51212f2172e7ceb013bf3c84881fc5d674a6909df866836abd87d9a3f |