Skip to main content

PyPI version

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.

Metadata

Release files for sstp-server 0.7.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sstp-server 0.7.2
File Size Uploaded Provenance Actions
sstp_server-0.7.2.tar.gz 21.0 kB Without provenance Details for sstp_server-0.7.2.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for sstp-server 0.7.2
File Actions
sstp_server-0.7.2-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details for sstp_server-0.7.2-cp314-cp314t-musllinux_1_2_x86_64.whl
sstp_server-0.7.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for sstp_server-0.7.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
sstp_server-0.7.2-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for sstp_server-0.7.2-cp314-cp314-musllinux_1_2_x86_64.whl
sstp_server-0.7.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for sstp_server-0.7.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
sstp_server-0.7.2-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for sstp_server-0.7.2-cp313-cp313-musllinux_1_2_x86_64.whl
sstp_server-0.7.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for sstp_server-0.7.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
sstp_server-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for sstp_server-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl
sstp_server-0.7.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for sstp_server-0.7.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Total release size: 309.8 kB

Release files / sstp_server-0.7.2.tar.gz

Download URL sstp_server-0.7.2.tar.gz
Size 21.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9df7b778ef77a26c3c5c85eaa781a088fd054e3a8347a4e6837bc36124fc6c9c
BLAKE2b-256 checksum
How to use checksums
eadbc805676d50d728bd4266f6cac75641244e7a91dfd9bce7a1e0f5dbb32a87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / sstp_server-0.7.2-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL sstp_server-0.7.2-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 36.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b7a1396f67ae1b0743a2c3a4e22260415fcccdb46437162bb9bef49315873799
BLAKE2b-256 checksum
How to use checksums
b3ffa0eb55bd3b26ff26bb8ccff8bb6b8b874da6c487bc26b937a6d9fdd134e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / sstp_server-0.7.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL sstp_server-0.7.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 36.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
a74dc2ca45424abff60e88cab2ae5bf1ca8227d6b217fcaf64e3bd27fc6eebba
BLAKE2b-256 checksum
How to use checksums
b01f761c81c152e746b14b23fa63c7ce3bbb75303c7801511d5c4e610fa230e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / sstp_server-0.7.2-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL sstp_server-0.7.2-cp314-cp314-musllinux_1_2_x86_64.whl
Size 35.9 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d1c5e8ae2bdd80a667837a6af26a33522d74d13c927f3b72e6cda075df8d9aaf
BLAKE2b-256 checksum
How to use checksums
d25c54e23c72250d55da1649fe655d631f40b94c1acfa1ad6292c53a8f3dc4f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / sstp_server-0.7.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL sstp_server-0.7.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 35.8 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
f92c402cc90773fc16cd909b2106c38c0105fd25185fd9f65eb978a8ad5fe0c9
BLAKE2b-256 checksum
How to use checksums
9eb9e2dd24039b39d0285bfdde09c7bcc9b7cf50db0243787b20acd8a2d89b06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / sstp_server-0.7.2-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL sstp_server-0.7.2-cp313-cp313-musllinux_1_2_x86_64.whl
Size 35.9 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
87fe3a69a0e086822eb11353704956aa5ea16f7e0ed36512f40254d5cb0406f7
BLAKE2b-256 checksum
How to use checksums
5b667f932c6ca9091355380da4b348f9e06e772cc0d2fd014fcd0daa79f8e7bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / sstp_server-0.7.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL sstp_server-0.7.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 35.8 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
4a8d2cc0cd836fe6b3d329e998a68a0665c65a973c67cff32a68dd22415f0665
BLAKE2b-256 checksum
How to use checksums
432419b7a9622e257c96af6d7ba32a377f10c540dbec5687af440bf2b1f3c0e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / sstp_server-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL sstp_server-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl
Size 35.8 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
1eebf43fb7f61a40586a23505cb27ceb72054694325a5038cb0ccfe48a53ed6a
BLAKE2b-256 checksum
How to use checksums
01dd55bb2ee4b24d9684be31c62940370ef25f17b64ab1bcfa414d06be966467
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / sstp_server-0.7.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL sstp_server-0.7.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 35.8 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
571c5dac587e2b941aaa0f3581f26bd7d817172a684547cb293f0221ff5a5f33
BLAKE2b-256 checksum
How to use checksums
d325f09bbfadc84dcff3a4e41d602d6770722dda79af8c3cb2f599cb75205b41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Security for sstp-server 0.7.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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