Secure Socket Tunneling Protocol (SSTP) VPN server.
Project description
A Secure Socket Tunneling Protocol (SSTP) server implemented by Python.
Requirements
Python >= 3.12
pppd
Crypto Binding is supported using SSTP ppp API plug-in sstp-pppd-plugin.so from sstp-client.
Install
For a quick test, you can use uv to run it:
uvx --from sstp-server sstpd --help
Run unreleased GitHub version with uvx:
uvx --from git+https://github.com/sorz/sstp-server sstpd --help
Traditional pip install is also possible:
pip install sstp-server sstpd --help
For a production deployment, you may want create virutal env fisrt, then run sstpd with a service manager e.g. systemd.
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.
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 Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sstp_server-0.7.2.tar.gz.
File metadata
- Download URL: sstp_server-0.7.2.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9df7b778ef77a26c3c5c85eaa781a088fd054e3a8347a4e6837bc36124fc6c9c
|
|
| MD5 |
8b5ff17907c3a9f33b79f664d39555a0
|
|
| BLAKE2b-256 |
eadbc805676d50d728bd4266f6cac75641244e7a91dfd9bce7a1e0f5dbb32a87
|
File details
Details for the file sstp_server-0.7.2-cp314-cp314t-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: sstp_server-0.7.2-cp314-cp314t-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 36.9 kB
- Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7a1396f67ae1b0743a2c3a4e22260415fcccdb46437162bb9bef49315873799
|
|
| MD5 |
7acababb3ce3c63e5524d3df5304cf4f
|
|
| BLAKE2b-256 |
b3ffa0eb55bd3b26ff26bb8ccff8bb6b8b874da6c487bc26b937a6d9fdd134e8
|
File details
Details for the file sstp_server-0.7.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: sstp_server-0.7.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 36.9 kB
- Tags: CPython 3.14t, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a74dc2ca45424abff60e88cab2ae5bf1ca8227d6b217fcaf64e3bd27fc6eebba
|
|
| MD5 |
e1a01c951d70de7995dd48815e3a22e9
|
|
| BLAKE2b-256 |
b01f761c81c152e746b14b23fa63c7ce3bbb75303c7801511d5c4e610fa230e7
|
File details
Details for the file sstp_server-0.7.2-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: sstp_server-0.7.2-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 35.9 kB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1c5e8ae2bdd80a667837a6af26a33522d74d13c927f3b72e6cda075df8d9aaf
|
|
| MD5 |
85a96251304ed6670d4bebb8aae6425e
|
|
| BLAKE2b-256 |
d25c54e23c72250d55da1649fe655d631f40b94c1acfa1ad6292c53a8f3dc4f6
|
File details
Details for the file sstp_server-0.7.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: sstp_server-0.7.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 35.8 kB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f92c402cc90773fc16cd909b2106c38c0105fd25185fd9f65eb978a8ad5fe0c9
|
|
| MD5 |
6bfc70231523d080917e2a76c79d5f0a
|
|
| BLAKE2b-256 |
9eb9e2dd24039b39d0285bfdde09c7bcc9b7cf50db0243787b20acd8a2d89b06
|
File details
Details for the file sstp_server-0.7.2-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: sstp_server-0.7.2-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 35.9 kB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87fe3a69a0e086822eb11353704956aa5ea16f7e0ed36512f40254d5cb0406f7
|
|
| MD5 |
dbfea06713a5641d9c64a75685a60688
|
|
| BLAKE2b-256 |
5b667f932c6ca9091355380da4b348f9e06e772cc0d2fd014fcd0daa79f8e7bf
|
File details
Details for the file sstp_server-0.7.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: sstp_server-0.7.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 35.8 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a8d2cc0cd836fe6b3d329e998a68a0665c65a973c67cff32a68dd22415f0665
|
|
| MD5 |
10ab323d5cf5130dd1749d7e033e8a50
|
|
| BLAKE2b-256 |
432419b7a9622e257c96af6d7ba32a377f10c540dbec5687af440bf2b1f3c0e5
|
File details
Details for the file sstp_server-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: sstp_server-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 35.8 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1eebf43fb7f61a40586a23505cb27ceb72054694325a5038cb0ccfe48a53ed6a
|
|
| MD5 |
534e0e5e51be047857f8a27d03f438f8
|
|
| BLAKE2b-256 |
01dd55bb2ee4b24d9684be31c62940370ef25f17b64ab1bcfa414d06be966467
|
File details
Details for the file sstp_server-0.7.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: sstp_server-0.7.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 35.8 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
571c5dac587e2b941aaa0f3581f26bd7d817172a684547cb293f0221ff5a5f33
|
|
| MD5 |
92c92b440d3b21e7dbb02560f25479a1
|
|
| BLAKE2b-256 |
d325f09bbfadc84dcff3a4e41d602d6770722dda79af8c3cb2f599cb75205b41
|