Skip to main content

Secure Socket Tunneling Protocol (SSTP) VPN server.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sstp_server-0.7.2.tar.gz (21.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sstp_server-0.7.2-cp314-cp314t-musllinux_1_2_x86_64.whl (36.9 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

sstp_server-0.7.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (36.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

sstp_server-0.7.2-cp314-cp314-musllinux_1_2_x86_64.whl (35.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

sstp_server-0.7.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (35.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

sstp_server-0.7.2-cp313-cp313-musllinux_1_2_x86_64.whl (35.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

sstp_server-0.7.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (35.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

sstp_server-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl (35.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

sstp_server-0.7.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (35.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

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

Hashes for sstp_server-0.7.2.tar.gz
Algorithm Hash digest
SHA256 9df7b778ef77a26c3c5c85eaa781a088fd054e3a8347a4e6837bc36124fc6c9c
MD5 8b5ff17907c3a9f33b79f664d39555a0
BLAKE2b-256 eadbc805676d50d728bd4266f6cac75641244e7a91dfd9bce7a1e0f5dbb32a87

See more details on using hashes here.

File details

Details for the file sstp_server-0.7.2-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sstp_server-0.7.2-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b7a1396f67ae1b0743a2c3a4e22260415fcccdb46437162bb9bef49315873799
MD5 7acababb3ce3c63e5524d3df5304cf4f
BLAKE2b-256 b3ffa0eb55bd3b26ff26bb8ccff8bb6b8b874da6c487bc26b937a6d9fdd134e8

See more details on using hashes here.

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

File hashes

Hashes for sstp_server-0.7.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 a74dc2ca45424abff60e88cab2ae5bf1ca8227d6b217fcaf64e3bd27fc6eebba
MD5 e1a01c951d70de7995dd48815e3a22e9
BLAKE2b-256 b01f761c81c152e746b14b23fa63c7ce3bbb75303c7801511d5c4e610fa230e7

See more details on using hashes here.

File details

Details for the file sstp_server-0.7.2-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sstp_server-0.7.2-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d1c5e8ae2bdd80a667837a6af26a33522d74d13c927f3b72e6cda075df8d9aaf
MD5 85a96251304ed6670d4bebb8aae6425e
BLAKE2b-256 d25c54e23c72250d55da1649fe655d631f40b94c1acfa1ad6292c53a8f3dc4f6

See more details on using hashes here.

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

File hashes

Hashes for sstp_server-0.7.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 f92c402cc90773fc16cd909b2106c38c0105fd25185fd9f65eb978a8ad5fe0c9
MD5 6bfc70231523d080917e2a76c79d5f0a
BLAKE2b-256 9eb9e2dd24039b39d0285bfdde09c7bcc9b7cf50db0243787b20acd8a2d89b06

See more details on using hashes here.

File details

Details for the file sstp_server-0.7.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sstp_server-0.7.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 87fe3a69a0e086822eb11353704956aa5ea16f7e0ed36512f40254d5cb0406f7
MD5 dbfea06713a5641d9c64a75685a60688
BLAKE2b-256 5b667f932c6ca9091355380da4b348f9e06e772cc0d2fd014fcd0daa79f8e7bf

See more details on using hashes here.

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

File hashes

Hashes for sstp_server-0.7.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 4a8d2cc0cd836fe6b3d329e998a68a0665c65a973c67cff32a68dd22415f0665
MD5 10ab323d5cf5130dd1749d7e033e8a50
BLAKE2b-256 432419b7a9622e257c96af6d7ba32a377f10c540dbec5687af440bf2b1f3c0e5

See more details on using hashes here.

File details

Details for the file sstp_server-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sstp_server-0.7.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1eebf43fb7f61a40586a23505cb27ceb72054694325a5038cb0ccfe48a53ed6a
MD5 534e0e5e51be047857f8a27d03f438f8
BLAKE2b-256 01dd55bb2ee4b24d9684be31c62940370ef25f17b64ab1bcfa414d06be966467

See more details on using hashes here.

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

File hashes

Hashes for sstp_server-0.7.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 571c5dac587e2b941aaa0f3581f26bd7d817172a684547cb293f0221ff5a5f33
MD5 92c92b440d3b21e7dbb02560f25479a1
BLAKE2b-256 d325f09bbfadc84dcff3a4e41d602d6770722dda79af8c3cb2f599cb75205b41

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page