实现socks5/shadowsocks/redirect/http(tcp)和shadowsocks/tproxy/tunnel(udp)协议的代理服务器。

shadowprox的Python项目详细描述


shadowproxy

Build StatusPython VersionVersionFormatLicenseCode CoverageLines Of CodeCode style: black

简介

实现socks5/shadowsocks/redirect/http(tcp)和shadowsocks/tproxy/tunnel(udp)协议的代理服务器。

多亏了dabeaz出色的curio项目。

这个项目的灵感来自qwj的python-proxy项目。

它是shadowsocks和shadowsocks libev的替代品,你可以用一个shadowproxy命令替换ss redir,ss tunnel,ss server,ss local。

安装

shadowproxy需要python3.6+

pip3 install shadowproxy

功能

支持的协议

protocolserverclientscheme
socks5socks://
socks4socks4://
ssss://
ss aeadss://
http connecthttp://
http forwardforward://
transparent proxyred://
tunnel(udp)tunneludp://
ss(udp)ssudp://

支持的插件

pluginserverclient
http_simple
tls1.2_ticket_auth

支持的密码

  • AES-256-CFB
  • AES-128-CFB
  • AES-192-CFB
  • 查查20
  • 萨尔萨20
  • RC4
  • chacha20-ietf-poly1305
  • AES-256-GCM
  • AES-192-GCM
  • AES-128-GCM

其他功能

  • 同时支持IPv4和IPv6

以下是一些IPv6 URL示例:

http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html
http://[1080:0:0:0:8:800:200C:417A]/index.html
http://[3ffe:2a00:100:7031::1]
http://[1080::8:800:200C:417A]/foo
http://[::192.9.5.5]/ipng
http://[::FFFF:129.144.52.38]:80/index.html
http://[2010:836B:4179::836B:4179]

用法

usage: shadowproxy [-h] [-v] [--version] server [server ...]

uri syntax:

{scheme}://[{userinfo}@][hostname]:{port}[/?[plugin={p;args}][via={uri}][target={t}][source_ip={ip}]][#{fragment}]

userinfo = cipher:password or base64(cipher:password) when scheme is ss, ssudp
userinfo = username:password or base64(username:password) when scheme is socks, http.

示例:

# simple shadowsocks server
shadowproxy ss://chacha20:password@0.0.0.0:8888

# ipv6 binding
shadowproxy ss://chacha20:password@[::]:8888

# socks5 --> shadowsocks
shadowproxy -v socks://:8527/?via=ss://aes-256-cfb:password@127.0.0.1:8888

# http   --> shadowsocks
shadowproxy -v http://:8527/?via=ss://aes-256-cfb:password@127.0.0.1:8888

# redir  --> shadowsocks
shadowproxy -v red://:12345/?via=ss://aes-256-cfb:password@127.0.0.1:8888

# shadowsocks server (udp)
shadowproxy -v ssudp://aes-256-cfb:password@:8527

# tunnel --> shadowsocks (udp)
shadowproxy -v tunneludp://:8527/?target=8.8.8.8:53&via=ssudp://aes-256-cfb:password@127.0.0.1:8888

# tproxy --> shadowsocks (udp)
shadowproxy -v tproxyudp://:8527/?via=ssudp://aes-256-cfb:password@127.0.0.1:8888

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用JNA创建同一库的多个实例?   java在将Graphql查询作为JSON字符串传递时收到意外的令牌错误   OAuth2 oltu的java问题   java桌面应用程序使用的好的嵌入式数据库是什么?   java Firebase数据库高级查询选项   java正在使磁盘上的EhCache元素过期   java 安卓还原处于backstack中的片段的实例状态   XMemcached中的java异步集   java TimescaleDB是否使用与Postgresql完全相同的JDBC驱动程序?   java从网站c读取信息#   检查java Android中的字符串是否只包含数字和空格   c#如何向web服务发送特殊字符?   grails无法调用需要java的方法。lang.类参数?   java我在组合框中调用的方法不会运行所有代码,它只运行部分代码   java发送带有标头的HTTP GET请求