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
File details
Details for the file makiproxy5-0.0.1.tar.gz
.
File metadata
- Download URL: makiproxy5-0.0.1.tar.gz
- Upload date:
- Size: 20.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b33d335c48254c3d13f0a86213a8478e1e3dd0612da29ee467b3fe259bb47d0b |
|
MD5 | bef801e16ecb29877dc91f1d9a5e49e4 |
|
BLAKE2b-256 | 9ae5ab49dd4da3d86637358cc175074c371ebc0e9d0cc697b14615c708e98b5b |
File details
Details for the file makiproxy5-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: makiproxy5-0.0.1-py3-none-any.whl
- Upload date:
- Size: 20.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebf656ec9f3d91722f51e85c0a83878b1e27532cbc6a9d71697defd727678ba4 |
|
MD5 | 0ca84c6b171fcaf3aa62c152e84b31ff |
|
BLAKE2b-256 | af2397d51212f2172e7ceb013bf3c84881fc5d674a6909df866836abd87d9a3f |