Commit f196670b authored by Yury's avatar Yury

new vesion and fix ci

parent 439b83f3
Pipeline #118 passed with stages
in 10 minutes and 27 seconds
*venv*
*pycache*
*.idea*
\ No newline at end of file
......@@ -2,13 +2,13 @@ from saturn.version import __version__
import os
with open("./saturn/version", "w") as ver_file:
with open("./saturn/version.py", "w") as ver_file:
if "MAJOR" in os.environ.get("CI_COMMIT_DESCRIPTION", ""):
major_version = int(__version__.split()[0]) + 1
major_version = int(__version__.split(".")[0]) + 1
minor_version = 0
else:
major_version = int(__version__.split()[0])
minor_version = int(__version__.split()[1]) + 1
major_version = int(__version__.split(".")[0])
minor_version = int(__version__.split(".")[1]) + 1
full_version = f"{major_version}.{minor_version}"
ver_file.write(f"__version__ = \"{full_version}\"")
......
__version__ = "0.1"
\ No newline at end of file
__version__ = "0.3"
\ No newline at end of file
......@@ -3,11 +3,49 @@ from setuptools import setup, find_packages
setup(
name='saturn_proxy_server', # How you named your package folder (MyLib)
packages=find_packages(exclude=['*.tests', '*.tests.*', 'tests.*', 'tests']), # Chose the same as "name"
version='2019.09.23.1936', # Start with a small number and increase it with every change you make
version='0.3', # Start with a small number and increase it with every change you make
license='MIT', # Chose a license from here: https://help.github.com/articles/licensing-a-repository
long_description='''# Socks5 async proxy server
Saturn
TBD''',
Saturn is a SOCKS5 server based on asyncio protocols
## Installation
### From [pypi.org](https://pypi.org/project/saturn-proxy-server/)
```bash
pip install saturn-proxy-server
```
### From this repo
```bash
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.
```python3
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
- [x] None ["saturn.auth.none"]
- [ ] GSSAPI ["saturn.auth.gssapi"]
- [x] 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''',
long_description_content_type='text/markdown',
description='Socks5 async proxy server', # Give a short description about your library
author='Yury (Yurzs)', # Type in your name
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment