Skip to main content

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)

Source distribution for saturn-proxy-server 0.9
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

Release history Release notifications | RSS feed

This release

0.9 This release

1 release file

0.7

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page