Skip to main content

项目概述

PySslvpn是一个功能完整的开源Python SSL VPN客户端,支持连接通用SSL VPN服务器,具备多配置管理、自动重连、网络配置自动清理等高级功能。 基于纯Python完整实现的SSL VPN客户端。这个方案使用Python进行TLS通信,并包含完整的VPN客户端功能,作者是zouhong。

安装

从PyPI安装(推荐)

pip install pysslvpn

从源码安装

# 克隆仓库
git clone https://github.com/proyy/PySslvpn.git
cd PySslvpn

# 安装依赖
pip install -r requirements.txt

# 安装包
pip install .

使用

命令行使用

安装后可以直接使用 pysslvpn 命令:

# 连接VPN服务器
sudo pysslvpn connect --server vpn.example.com --port 443 --username user --password pass

# 使用已保存的配置连接
sudo pysslvpn connect --config myvpn

# 启用自动重连
sudo pysslvpn connect --server vpn.example.com --username user --password pass --auto-reconnect --max-retries 5

# 列出所有保存的配置
pysslvpn list

# 保存配置
pysslvpn save myvpn --server vpn.example.com --username user

# 删除配置
pysslvpn delete myvpn

# 设置默认配置
pysslvpn set-default myvpn

从源码运行

# 安装依赖
pip install tlslite-ng python-tun-tap

# 运行客户端
sudo python cli.py connect vpn.example.com -u your_username

带参数运行:

bash sudo python cli.py connect vpn.example.com -u your_username -p your_password --port 8443 --ignore-cert

使用已保存的配置:

bash sudo python cli.py connect --config my_config

启用自动重连:

bash sudo python cli.py connect vpn.example.com -u your_username --auto-reconnect --max-retries 5 --retry-delay 10 功能特性 ✅ 纯Python实现:使用tlslite-ng进行TLS通信

✅ 通用SSL VPN协议:支持标准SSL VPN服务器

✅ 完整的认证流程:用户名/密码认证

✅ 证书错误处理:可配置忽略无效证书

✅ 动态配置接收:接收服务器下发的路由和DNS

✅ 自动资源清理:断开时清理所有网络配置

✅ TUN接口管理:自动创建和配置虚拟接口

✅ 多配置管理:支持多个VPN配置的保存、切换和管理

✅ 自动重连机制:连接中断时自动重连,可配置重试次数和延迟

✅ 完整CLI界面:支持子命令模式,提供友好的命令行交互

协议说明 这个实现使用简单的应用层协议:

数据包格式:5字节头部(1字节类型 + 4字节长度) + 载荷

包类型:

0: IP数据包

1: 控制消息

2: 认证数据

3: 配置信息

配置管理

PySslvpn支持多配置管理,可以保存多个VPN服务器配置:

# 保存配置
sudo python cli.py save my_config vpn.example.com -u username -p password --port 8443

# 列出所有配置
sudo python cli.py list

# 删除配置
sudo python cli.py delete my_config

# 设置默认配置
sudo python cli.py set-default my_config

CLI命令参考

  • connect: 连接VPN服务器
  • list: 列出所有保存的配置
  • save: 保存新的VPN配置
  • delete: 删除指定的配置
  • set-default: 设置默认配置

注意事项

权限要求:需要root权限创建TUN设备和管理网络配置

证书安全:生产环境不应使用--ignore-cert选项

平台支持:主要在Linux上测试,其他Unix系统可能需要调整

服务器兼容:需要服务器端实现相同的协议格式

自动重连:启用自动重连时,确保网络环境稳定,避免无限重连

这个实现提供了完整的SSL VPN客户端功能,可以连接支持标准SSL VPN协议的服务器,并正确处理路由、DNS等网络配置。

开源协议

本项目采用 GNU General Public License v3.0 (GPL-3.0) 开源协议。

重要条款:

  • 您可以自由使用、修改和分发本软件
  • 任何基于本软件的衍生作品必须采用相同的开源协议
  • 必须提供完整的源代码
  • 禁止商业使用

完整的协议条款请参阅 LICENSE 文件。

Metadata

Release files for pysslvpn 1.0.4

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

Source distribution (sdist)

Source distribution for pysslvpn 1.0.4
File Size Uploaded
pysslvpn-1.0.4.tar.gz 21.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pysslvpn 1.0.4
File Interpreter ABI Platform
pysslvpn-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 41.8 kB

Release files / pysslvpn-1.0.4.tar.gz

Download URL pysslvpn-1.0.4.tar.gz
Size 21.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3fd162e9fb0458219be58f74e97a6bf5e40e87d4592d5e0381686cdf03edb847
BLAKE2b-256 checksum
How to use checksums
872bef62202069c196efb59613b9cc576a998bab34ba15e620714efcb8bddeae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.11

Release files / pysslvpn-1.0.4-py3-none-any.whl

Download URL pysslvpn-1.0.4-py3-none-any.whl
Size 20.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fc6100ab3f557737fdb63d9388a055760d7cfb96fa82c90fabf0a2dc7f803996
BLAKE2b-256 checksum
How to use checksums
e008e2fb00a20406ea2644aaa4423b7ca6bc79a76a5d13040001b27ecaedd64b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.11

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

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