An implementation of a Wisp proxy server in Python
Project description
Python Wisp Server
This is an implementation of a Wisp server, written in Python. It follows the Wisp v1 spec completely, including support for UDP connections.
Installation:
Install From Source:
Clone this repository and cd into it, then run the following commands:
python3 -m venv .venv
source .venv/bin/activate
pip3 install -e .
Install From PyPI:
Run the following command to install this program:
pip3 install wisp-python
Running the Server:
To start the server, run python3 -m wisp.server
. The program accepts the following arguments:
usage: wisp-server-python [-h] [--host HOST] [--port PORT] [--static STATIC] [--limits] [--bandwidth BANDWIDTH] [--connections CONNECTIONS] [--window WINDOW] [--allow-loopback] [--allow-private]
A Wisp server implementation, written in Python (v0.4.0)
options:
-h, --help show this help message and exit
--host HOST The hostname the server will listen on.
--port PORT The TCP port the server will listen on.
--static STATIC Where static files are served from.
--limits Enable rate limits.
--bandwidth BANDWIDTH
Bandwidth limit per IP, in kilobytes per second.
--connections CONNECTIONS
New connections limit per IP.
--window WINDOW Fixed window length for rate limits, in seconds.
--allow-loopback Allow connections to loopback IP addresses.
--allow-private Allow connections to private IP addresses.
Roadmap:
Rate limits- JSON based config files
UDP supportAbility to block local addresses
Copyright:
This repository is licensed under the GNU AGPL v3.
Copyright Notice:
wisp-server-python: a Wisp server implementation written in Python
Copyright (C) 2024 Mercury Workshop
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
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
wisp_python-0.4.0.tar.gz
(19.7 kB
view hashes)
Built Distribution
Close
Hashes for wisp_python-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 073f2780b57654e125d222a3155196a0f0ac55c2ed8a4a6b8b197e263325266a |
|
MD5 | ac9d005b4b812bd1ab7e38075bd33c8d |
|
BLAKE2b-256 | da4fa00201dcb07e8c3eebdc1d791d8decbd55618910386af855a60efe5e7bd9 |