跳转到主要内容

兔子隧道的服务器

项目描述

rabbit-tunnel-server

基于Python的兔子隧道服务器实现。

rt-server -sd rtunnel.io

需求

  • Python 3.7 - 3.10

当前限制

  • 没有单元测试
  • 没有公开的API用于控制
  • 没有认证
  • 没有水平扩展

强烈推荐使用nginx等反向代理来解决以下限制。nginx web服务器示例配置在assets/nginx.conf中。

  • 对格式错误HTTP请求的鲁棒性
  • HTTP/2
  • 1 更好地处理HTTP keep-alive会话
  • 2 修改HTTP响应

1 rabbit-tunnel-server 使用HTTP请求中的host头确定目标rabbit-tunnel实例,但在HTTP keep-alive会话中,同一TCP连接中可以出现多个不同host头的HTTP请求。在这种情况下,rabbit-tunnel-server 使用第一个HTTP请求来确定目标rabbit-tunnel实例,并假设后续的HTTP请求将具有相同的目标。为了克服这个限制,您可以设置反向代理,在host头更改时启动新的TCP连接,或者甚至可以禁用反向代理和rabbit-tunnel-server之间的HTTP keep-alive会话(这是如nginx等反向代理的默认行为)。

2 rabbit-tunnel-server 不解释任何HTTP响应,而是将其作为代理。因此,例如,HTTP响应中的host头可能不具有客户端请求的值,除非隧道Web服务器明确设置它们。为了克服这个限制,您可以设置反向代理来正确修改host头。

协议规范

TBD

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

rabbit-tunnel-server-0.8.tar.gz (17.7 kB 查看哈希值)

上传时间 源代码

构建发行版

rabbit_tunnel_server-0.8-py3-none-any.whl (11.2 kB 查看哈希值)

上传时间 Python 3

由以下支持