Skip to main content

rabbit-tunnel-server

A python-based server implementation for rabbit-tunnel.

rt-server -sd rtunnel.io

Requirements

  • Python 3.7 - 3.10

Current Limitations

  • No unit tests
  • No public APIs for control
  • No authentification
  • No horizontal scaling

Reverse proxy such as nginx is highly recommended to overcome the limitations below. The example configuration of nginx webserver is available at assets/nginx.conf.

  • Robustness to malformed HTTP requests
  • HTTP/2
  • 1 Better handling of HTTP keep-alive session
  • 2 HTTP response modification

1 rabbit-tunnel-server uses the host header in HTTP requests to determine the target rabbit-tunnel instance, but in a HTTP keep-alive session, multiple HTTP requests with different host header can come in the same TCP connection. In that case, rabbit-tunnel-server uses the first HTTP request to determinte the target rabbit-tunnel instance and assume that subsequent HTTP requests will have the same target. To overcome this limitation, you can set-up the reverse proxy to initiate new TCP connection when the host header is changed, or even can disable HTTP keep-alive session between the reverse proxy and rabbit-tunnel-server (which is the default behavior of reverse proxies such as nginx).

2 rabbit-tunnel-server does not interpret any HTTP responses and proxies them as it is. Therefore, for example, the host header in HTTP response may not have the value that clients requested unless tunneled webserver explicitly set them. To overcome this limitation, you can set-up the reverse proxy to properly modify the host header.

Protocol Specification

TBD

Release files for rabbit-tunnel-server 0.8

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

Source distribution (sdist)

Source distribution for rabbit-tunnel-server 0.8
File Size Uploaded
rabbit-tunnel-server-0.8.tar.gz 17.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rabbit-tunnel-server 0.8
File Interpreter ABI Platform
rabbit_tunnel_server-0.8-py3-none-any.whl Python 3 none any Details

Total release size: 28.9 kB

Release files / rabbit-tunnel-server-0.8.tar.gz

Download URL rabbit-tunnel-server-0.8.tar.gz
Size 17.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fee3add40cbd6199d45fb3656e0c105ef160e58b34f2e3cb1631be69703ff749
BLAKE2b-256 checksum
How to use checksums
1bc3c6454453735fc088091cc5b55f001e1b2f6a68e6de09a0041fb94ea3f544
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.5

Release files / rabbit_tunnel_server-0.8-py3-none-any.whl

Download URL rabbit_tunnel_server-0.8-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
70f5f10f3e3d4e9c493601af3842af402dfb5681fc4d1be1bb077355c24080e2
BLAKE2b-256 checksum
How to use checksums
0ca363dd10934663babdeb36d546026057b34d07ed24953e458ff57612c72a1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.5

Release history Release notifications | RSS feed

This release

0.8 This release

2 release files

0.7

2 release files

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

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