Secure Socket Tunneling Protocol (SSTP) VPN server.
Project description
A Secure Socket Tunneling Protocol (SSTP) server implemented by Python.
Requirements
Python >= 3.4.4
pppd
For Python 2.7, use v0.4.x
Crypto Binding is supported using SSTP ppp API plug-in sstp-pppd-plugin.so from sstp-client.
Install
Install from PyPI:
# pip install sstp-server
Please ensure your pip >= 9.0.1 to get correct version.
Install from GitHub:
# pip install git+https://github.com/sorz/sstp-server.git
Arch Linux user may install sstp-server package from AUR.
If you share the authentication with services other than SSTP (for example, a RADIUS server that serve both a SSTP and WiFi authentication), crypto binding is required to prevent MITM attacks. Crypto binding is enabled automatically if sstp-pppd-plugin.so is avaliable, see #37 for instructions.
Usage
Create pppd configure file /etc/ppp/options.sstpd,
A example:
name sstpd require-mschap-v2 nologfd nodefaultroute ms-dns 8.8.8.8 ms-dns 8.8.4.4
Start server:
sudo sstpd -p 443 -c cert.pem -k key.pem --local 10.0.0.1 --remote 10.0.0.0/24
Or:
sudo sstpd -f /path/to/sstpd-server.ini -s site1
Known Issues
High CPU usage, may not suitable for high thougthput applications.
License
The MIT License (MIT)
Copyright (c) 2014-2020 Shell Chen
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 sstp_server-0.6.0-cp39-cp39-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc5b3549064d5dcb5f6c648d186c08a29cc0eb451d0b159508516db26e82876d |
|
MD5 | a6f393e2e381dae6c0e4f622c36b4c5f |
|
BLAKE2b-256 | f5c1c49776f705fbe85925ddbfd3e24f5fdbd8f748d0dbf1e994cedecae4a4ea |