Socks5 async proxy server
Saturn is a SOCKS5 server based on asyncio protocols
Installation
From pypi.org
pip install saturn-proxy-server
From this repo
git clone https://git.best-service.online/yurzs/saturn.git
cd saturn
python3 ./setup.py install
Usage
Please edit config.py file before starting your server.
By default proxying allowed to all hosts (ALLOWED_DESTINATIONS = ["0.0.0.0/0"]). You can specify single IP addresses
(both IPv4 and IPv6) and subnets.
import saturn
saturn.config.ALLOWED_DESTINATIONS = ["192.168.1.0/24"]
saturn.config.AUTHENTICATION_METHODS = ["saturn.auth.none"]
saturn.start_server("127.0.0.1", 8080)
This config will allow passwordless connections with allowed proxying for 192.168.1.0-192.169.1.255 IP range.
You can use multiple auth methods at once like ["saturn.auth.none", saturn.auth.dict"]
Authentication methods
Current SOCKS5 standart supports
- None ["saturn.auth.none"]
- GSSAPI ["saturn.auth.gssapi"]
- Login/Password (dict format) ["saturn.auth.dict"]
Custom authentication methods
You can implement your own authentication method (Login/Password)
All you need to do is to implement Authenticator class with async def authenticate(self, data) method which will return bool
authentication result. Then just import your module and use it in config
saturn.config.AUTHENTICATION_METHODS = ["your_auth_method"]
You can see examples in saturn.auth
TODO list
- Logging
- Max socket limit
- More tests
Metadata
Release files for saturn-proxy-server 0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| saturn_proxy_server-0.9.tar.gz | 8.4 kB | Details |
Release files / saturn_proxy_server-0.9.tar.gz
| Download URL | saturn_proxy_server-0.9.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0366b666cd97f2755de3a3053bca81a33353df8df2f34ffbef5d1116941775db
|
|
BLAKE2b-256 checksum How to use checksums |
4b27fc8ef3c6d5dd584a09c59a59012b4ba209716981237c619c147162f96433
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.5
|