Skip to content

qwj/python-vpn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 

Repository files navigation

python-vpn

made-with-python PyPI-version Hit-Count

IPSec IKE(v1,v2) PSK VPN implemented in pure Python. (For Research Purposes Only)

Introduction

All VPN softwares are stupid, clumsy and hard to configure. So comes python-vpn.

  • NO app install needed
  • NO server configuration file
  • NO network interface added
  • NO iptables or "/etc" modified

Press "RETURN" to start, "CTRL+C" to stop.

QuickStart

$ pip3 install pvpn
Successfully installed pvpn-0.1.2
$ pvpn -p yourpassword
Serving on UDP :500 :4500...
^C

Open server's UDP port :500 :4500 to your device. In device's system setting, add an "IPSec" (iOS) or "IPSec IKE PSK" (Android) VPN, write down the server address and password "yourpassword". Connect.

You should change the default password "test" to keep higher security. See "pvpn -h" for more options.

Features

  • Clean, lightweight
  • IKEv1, IKEv2 auto-detection
  • TCP stack implementation
  • TCP/UDP tunnel support
  • DNS cache

Protocols

Protocol Name Name in iOS Name in Android Name in MacOS Name in Windows
IKEv1 PSK ✔ IPsec [1] "IPSec Xauth PSK" Cisco IPSec IPSec
IKEv2 PSK ✔ IKEv2 [2] "IPSec IKEv2 PSK" IKEv2 IKEv2
[1] Do not use certificates
[2] Turn off "user authentication"

Examples

You can tunnel traffic to remote http/socks/ss proxy as follows:

$ pvpn -r http://12.34.56.78:8080/
# Tunnel all TCP traffic to remote HTTP proxy

$ pvpn -r ss://chacha20:abc@12.34.56.78:12345/
# Tunnel all TCP traffic to remote Shadowsocks proxy

$ pvpn -ur ss://aes-256-cfb:abc@12.34.56.78:23456/
# Tunnel all UDP traffic to remote Shadowsocks proxy

$ pvpn -r socks5://12.34.56.78:8123/?rules.regex
# Tunnel TCP traffic matched by rules.regex to remote HTTP proxy

$ pvpn -r ss:///tmp/local
# Tunnel TCP traffic to unix domain path /tmp/local

Specification

IKE/ISAKMP

  • RFC2407 The Internet IP Security Domain of Interpretation for ISAKMP
  • RFC2408 Internet Security Association and Key Management Protocol (ISAKMP)
  • RFC2409 The Internet Key Exchange (IKE)

IKEv2

  • RFC5996 Internet Key Exchange Protocol Version 2 (IKEv2)
  • IANA Internet Key Exchange Version 2 (IKEv2) Parameters
  • RFC3748 Extensible Authentication Protocol (EAP)
  • RFC4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)

About

VPN Server implemented in pure Python. (For Research Purposes Only)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy