Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not all data in http payload is sent from tunnel client until TCP FIN from webserver sent for files larger than approx 170Kbytes #360

Closed
christopherhibbert opened this issue Sep 26, 2024 · 17 comments
Labels

Comments

@christopherhibbert
Copy link

christopherhibbert commented Sep 26, 2024

Describe the bug

Thanks so much for wstunnel, it's great! I've been working with my colleage James Grant, and we've found an issue we'd appreciate your thoughts on.

Using wstunnel in wss reverse tunnel mode we see that not all data in an http payload is delivered until FIN sent for larger files.

When using ws, then we don't see this issue.
When using wss, we do see this issue.
If we run wstunnel server and client on the same machine using loopback interface we don't see this issue.

image

To Reproduce

# Client side:
# Create a folder to serve file from httpd:
mkdir /tmp/serve
# Create a 180k file with some identifiable text at the end
base64 /dev/urandom | head -c 180000 > /tmp/serve/my.css
printf "\nThis is the end of the file" >> /tmp/serve/my.css
# Run httpd (default keepalive is 5s)
docker run --rm --name my-apache-app -p 49999:80 -v  /tmp/serve/:/usr/local/apache2/htdocs/ httpd:2.4
# Run wstunnel client in wss mode:
docker run -it --rm --net=host --name wstunnelclient --entrypoint /bin/bash ghcr.io/erebe/wstunnel:v10.1.1 -c '/home/app/wstunnel client -R tcp://[::]:50000:localhost:49999 wss://51.142.9.157:40000'
# Capture traffic going between wstunnel client and httpd:
sudo tcpdump -i lo port 49999 -w ~/httpd.pcap
# Capture traffic going between wstunnel client and server:
sudo tcpdump -i eth0 port 40000 -w ~/wstunnel_client_side.pcap


# Server side:
# Run wstunnel server in wss mode:
docker run --rm -it --net=host --name wstunnelserver --entrypoint /bin/bash ghcr.io/erebe/wstunnel:v10.1.1 -c '/home/app/wstunnel server wss://[::]:40000'
# Curl the file we created:
time curl 127.0.0.1:50000/my.css

Expected behavior

All data from the HTTP get is returned quickly and before httpd sends the FIN.

Your wstunnel setup

Paste your logs of wstunnel, started with --log-lvl=DEBUG, and with the command line used

  • client:
docker run -it --rm --net=host --name wstunnelclient --entrypoint /bin/bash packages.mediakind.com/mpd-docker/ghcr.io/erebe/wstunnel:v10.1.1 -c '/home/app/wstunnel client --log-lvl=DEBUG -R tcp://[::]:50000:localhost:49999 wss://51.142.9.
157:40000'
2024-09-26T13:44:28.566675Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 51.142.9.157:40000    
2024-09-26T13:44:28.566734Z DEBUG wstunnel::protocols::tcp::server: Connecting to 51.142.9.157:40000
2024-09-26T13:44:28.572610Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 51.142.9.157:40000, aborted all other connection attempts
2024-09-26T13:44:28.572653Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([51, 142, 9, 157]))) with the server 51.142.9.157:40000
2024-09-26T13:44:28.572687Z DEBUG rustls::client::hs: No cached session for IpAddress(V4(Ipv4Addr([51, 142, 9, 157])))    
2024-09-26T13:44:28.572873Z DEBUG rustls::client::hs: Not resuming any session    
2024-09-26T13:44:28.578996Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-09-26T13:44:28.579032Z DEBUG rustls::client::tls13: Not resuming    
2024-09-26T13:44:28.579169Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-09-26T13:44:28.579190Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-09-26T13:44:28.579348Z DEBUG tunnel{id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "51.142.9.157:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "Xyy9gBFX1URoHl7LZzsl4g==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTIyZTkzLTc0OTYtNzE3My04MWJmLTI5MWM5NjMyMTM4ZiIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9._xKmiEvAgXBNBNx-aZz_ti6I-iJWjay00IdyJyy7djk"}, body: Empty }    
2024-09-26T13:44:34.515643Z DEBUG tunnel{id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "TcsNNraVD3FvZumopts6wJ454wg=", "sec-websocket-protocol": "v1", "date": "Thu, 26 Sep 2024 13:44:34 GMT"} }
2024-09-26T13:44:34.515666Z  INFO tunnel{id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-09-26T13:44:34.515780Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-09-26T13:44:34.515814Z DEBUG tunnel{id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason No route to host (os error 113)
2024-09-26T13:44:34.767059Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-09-26T13:44:34.767151Z DEBUG tunnel{id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-09-26T13:44:34.767216Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 51.142.9.157:40000    
2024-09-26T13:44:34.767268Z DEBUG wstunnel::protocols::tcp::server: Connecting to 51.142.9.157:40000
2024-09-26T13:44:34.773134Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 51.142.9.157:40000, aborted all other connection attempts
2024-09-26T13:44:34.773148Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([51, 142, 9, 157]))) with the server 51.142.9.157:40000
2024-09-26T13:44:34.773189Z DEBUG rustls::client::hs: Resuming session    
2024-09-26T13:44:34.779143Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-09-26T13:44:34.779162Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-09-26T13:44:34.779230Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-09-26T13:44:34.779236Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-09-26T13:44:34.779327Z DEBUG tunnel{id="01922e93-8ccf-7fb0-bcab-52980110a972" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "51.142.9.157:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "cjfsnhyYPpeuBOQfEW9bhw==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTIyZTkzLThjY2YtN2ZiMC1iY2FiLTUyOTgwMTEwYTk3MiIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.wyu0bDvjAP53VkaNzyx0J4wI1HKBRrUSokvlf14k8rY"}, body: Empty }    
2024-09-26T13:44:39.771019Z  INFO tunnel{id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-09-26T13:44:39.771091Z  INFO tunnel{id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
  • server:
docker run --rm -it --net=host --name wstunnelserver --entrypoint /bin/bash packages.mediakind.com/mpd-docker/ghcr.io/erebe/wstunnel:v10.1.1 -c '/home/app/wstunnel server --log-lvl=DEBUG wss://[::]:40
000'
2024-09-26T13:44:15.246067Z  INFO wstunnel::embedded_certificate: Generating self-signed tls certificate    
2024-09-26T13:44:15.246622Z  INFO wstunnel: Starting wstunnel server v10.1.1 with config WsServerConfig { socket_so_mark: None, bind: [::]:40000, websocket_ping_frequency: Some(30s), timeout_connect: 10s, websocket_mask_frame: false, restriction_config: None, tls: true, mTLS: false }
2024-09-26T13:44:15.246639Z DEBUG wstunnel: Restriction rules: RestrictionsRules {
    restrictions: [
        RestrictionConfig {
            name: "Allow All",
            match: [
                Any,
            ],
            allow: [
                Tunnel(
                    AllowTunnelConfig {
                        protocol: [],
                        port: [],
                        host: Regex(
                            "^.*$",
                        ),
                        cidr: [
                            0.0.0.0/0,
                            ::/0,
                        ],
                    },
                ),
                ReverseTunnel(
                    AllowReverseTunnelConfig {
                        protocol: [],
                        port: [],
                        port_mapping: {},
                        cidr: [
                            0.0.0.0/0,
                            ::/0,
                        ],
                    },
                ),
            ],
        },
    ],
}    
2024-09-26T13:44:15.246727Z  INFO wstunnel::tunnel::server::server: Starting wstunnel server listening on [::]:40000
2024-09-26T13:44:28.417296Z  INFO wstunnel::tunnel::server::server: Accepting connection
2024-09-26T13:44:28.417408Z  INFO tunnel{peer="[::ffff:185.79.59.113]:28440"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-09-26T13:44:28.417816Z DEBUG tunnel{peer="[::ffff:185.79.59.113]:28440"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-09-26T13:44:28.418039Z DEBUG tunnel{peer="[::ffff:185.79.59.113]:28440"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-09-26T13:44:28.424295Z  INFO tunnel{peer="[::ffff:185.79.59.113]:28440" id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-09-26T13:44:28.424323Z  INFO tunnel{peer="[::ffff:185.79.59.113]:28440" id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Starting TCP server listening cnx on [::]:50000    
2024-09-26T13:44:34.357662Z  INFO tunnel{peer="[::ffff:185.79.59.113]:28440" id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-09-26T13:44:34.620899Z  INFO wstunnel::tunnel::server::server: Accepting connection
2024-09-26T13:44:34.620942Z  INFO tunnel{peer="[::ffff:185.79.59.113]:28540"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-09-26T13:44:34.621111Z DEBUG tunnel{peer="[::ffff:185.79.59.113]:28540"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-09-26T13:44:34.621273Z DEBUG tunnel{peer="[::ffff:185.79.59.113]:28540"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-09-26T13:44:34.627321Z  INFO tunnel{peer="[::ffff:185.79.59.113]:28540" id="01922e93-8ccf-7fb0-bcab-52980110a972" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-09-26T13:44:39.621360Z ERROR tunnel{peer="[::ffff:185.79.59.113]:28440" id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-09-26T13:44:39.621402Z  INFO tunnel{peer="[::ffff:185.79.59.113]:28440" id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-09-26T13:44:39.621459Z  INFO tunnel{peer="[::ffff:185.79.59.113]:28440" id="01922e93-7496-7173-81bf-291c9632138f" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-09-26T13:46:24.339948Z ERROR tunnel{peer="[::ffff:185.79.59.113]:28540" id="01922e93-8ccf-7fb0-bcab-52980110a972" remote="[::]:50000"}: wstunnel::tunnel::server::server: Error while upgrading cnx: hyper::Error(Io, Custom { kind: UnexpectedEof, error: "peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof" })

Desktop (please complete the following information):

Client:

cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

Server:

cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"

Additional context
Captures attached:
image

captures.tgz

@christopherhibbert christopherhibbert changed the title Not all data in http payload is sent from tunnel client until TCP FIN from webserver sent for files larger than approx 70Kbytes) Not all data in http payload is sent from tunnel client until TCP FIN from webserver sent for files larger than approx 170Kbytes Sep 26, 2024
@erebe
Copy link
Owner

erebe commented Sep 26, 2024

Hello,
Thank you for the report and the repro case. I managed to reproduce the bug, but haven't found the issue yet.

From what i have glazed, it seems to be coming from the websocket library (or a miss use of it). The client see the data and correctly forward it to the tunnel but it is not flushed to the network for unknown reason yet.
If i use http2 instead of websocket as tunnel transport, there is no issue also.

I will investigate more, after i come back from travel (next week).

Thank you for the report and test case 🙏
I keep you in touch.

@erebe
Copy link
Owner

erebe commented Sep 27, 2024

Would you mind trying this pre-release and let me know if it fix the issue for you ?

https://github.com/erebe/wstunnel/releases/tag/v10.1.2-rc1

@erebe
Copy link
Owner

erebe commented Sep 28, 2024

Made a proper release https://github.com/erebe/wstunnel/releases/tag/v10.1.2

Let me know if it is ok.

@christopherhibbert
Copy link
Author

Thank you, I'll test this right now.

@christopherhibbert
Copy link
Author

Hi, we're still seeing exactly the same behaviour with release v10.1.2 in our real scenario and in the replication scenario I added to this bug. I've attached fresh pcaps and logs from release v10.1.2:

We noticed the version isn't reported in the client side logs.

captures_10.1.2.tgz

Server:

docker run --rm -it --net=host --name wstunnelserver --entrypoint /bin/bash ghcr.io/erebe/wstunnel:v10.1.2 -c '/home/app/wstunnel server --log-lvl=DEBUG wss://[::]:40000'
2024-09-30T08:56:40.166428Z  INFO wstunnel::embedded_certificate: Generating self-signed tls certificate    
2024-09-30T08:56:40.167085Z  INFO wstunnel: Starting wstunnel server v10.1.2 with config WsServerConfig { socket_so_mark: None, bind: [::]:40000, websocket_ping_frequency: Some(30s), timeout_connect: 10s, websocket_mask_frame: false, restriction_config: None, tls: true, mTLS: false }
2024-09-30T08:56:40.167106Z DEBUG wstunnel: Restriction rules: RestrictionsRules {
    restrictions: [
        RestrictionConfig {
            name: "Allow All",
            match: [
                Any,
            ],
            allow: [
                Tunnel(
                    AllowTunnelConfig {
                        protocol: [],
                        port: [],
                        host: Regex(
                            "^.*$",
                        ),
                        cidr: [
                            0.0.0.0/0,
                            ::/0,
                        ],
                    },
                ),
                ReverseTunnel(
                    AllowReverseTunnelConfig {
                        protocol: [],
                        port: [],
                        port_mapping: {},
                        cidr: [
                            0.0.0.0/0,
                            ::/0,
                        ],
                    },
                ),
            ],
        },
    ],
}    
2024-09-30T08:56:40.167185Z  INFO wstunnel::tunnel::server::server: Starting wstunnel server listening on [::]:40000




2024-09-30T08:56:48.402434Z  INFO cnx{peer="[::ffff:185.79.59.113]:46424"}: wstunnel::tunnel::server::server: Accepting connection
2024-09-30T08:56:48.402546Z  INFO cnx{peer="[::ffff:185.79.59.113]:46424"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-09-30T08:56:48.402624Z DEBUG cnx{peer="[::ffff:185.79.59.113]:46424"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-09-30T08:56:48.402788Z DEBUG cnx{peer="[::ffff:185.79.59.113]:46424"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-09-30T08:56:48.408665Z  INFO cnx{peer="[::ffff:185.79.59.113]:46424"}:tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-09-30T08:56:48.408699Z  INFO cnx{peer="[::ffff:185.79.59.113]:46424"}:tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Starting TCP server listening cnx on [::]:50000    
2024-09-30T08:56:59.867636Z  INFO cnx{peer="[::ffff:185.79.59.113]:46424"}:tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-09-30T08:57:00.130543Z  INFO cnx{peer="[::ffff:185.79.59.113]:34428"}: wstunnel::tunnel::server::server: Accepting connection
2024-09-30T08:57:00.130638Z  INFO cnx{peer="[::ffff:185.79.59.113]:34428"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-09-30T08:57:00.130753Z DEBUG cnx{peer="[::ffff:185.79.59.113]:34428"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-09-30T08:57:00.131225Z DEBUG cnx{peer="[::ffff:185.79.59.113]:34428"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-09-30T08:57:00.137144Z  INFO cnx{peer="[::ffff:185.79.59.113]:34428"}:tunnel{id="01924227-7564-7210-97e1-ba4f86c74aac" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-09-30T08:57:05.129950Z ERROR cnx{peer="[::ffff:185.79.59.113]:46424"}:tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-09-30T08:57:05.129999Z  INFO cnx{peer="[::ffff:185.79.59.113]:46424"}:tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-09-30T08:57:05.130061Z  INFO cnx{peer="[::ffff:185.79.59.113]:46424"}:tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-09-30T09:14:43.587849Z ERROR cnx{peer="[::ffff:185.79.59.113]:34428"}: wstunnel::tunnel::server::server: Error while upgrading cnx: hyper::Error(Io, Custom { kind: UnexpectedEof, error: "peer closed connection without sending TLS close_notify: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof" })
2024-09-30T09:14:48.409834Z  INFO cnx{peer="[::ffff:185.79.59.113]:46424"}:tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::tunnel::server::reverse_tunnel: No client connected to reverse tunnel server for 180s. Closing reverse tunnel server
2024-09-30T09:14:48.409862Z  INFO cnx{peer="[::ffff:185.79.59.113]:46424"}:tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::tunnel::server::reverse_tunnel: Stopping listening reverse server

Client:

docker run -it --rm --net=host --name wstunnelclient --entrypoint /bin/bash ghcr.io/erebe/wstunnel:v10.1.2 -c '/home/app/wstunnel client --log-lvl=DEBUG -R tcp://[::]:50000:localhost:49999 wss://51.142.9.157:40000'
2024-09-30T08:58:43.474465Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 51.142.9.157:40000    
2024-09-30T08:58:43.474506Z DEBUG wstunnel::protocols::tcp::server: Connecting to 51.142.9.157:40000
2024-09-30T08:58:43.481655Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 51.142.9.157:40000, aborted all other connection attempts
2024-09-30T08:58:43.481666Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([51, 142, 9, 157]))) with the server 51.142.9.157:40000
2024-09-30T08:58:43.481684Z DEBUG rustls::client::hs: No cached session for IpAddress(V4(Ipv4Addr([51, 142, 9, 157])))    
2024-09-30T08:58:43.481760Z DEBUG rustls::client::hs: Not resuming any session    
2024-09-30T08:58:43.488152Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-09-30T08:58:43.488174Z DEBUG rustls::client::tls13: Not resuming    
2024-09-30T08:58:43.488267Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-09-30T08:58:43.488274Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-09-30T08:58:43.488384Z DEBUG tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "51.142.9.157:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "LbW5bTFyRB+rbuasQPLkCw==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0MjI3LTQ3OTItN2MyMS04NTRiLTA0Yjc5ZDljMDU5NyIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.nHZq4vGcP-uFJHHwiHx5zqDrWlmlazOGOZtWzqCGuQo"}, body: Empty }    

2024-09-30T08:58:54.953180Z DEBUG tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "4AtXH6zoo4RTKSPGmQDw6FA5lG0=", "sec-websocket-protocol": "v1", "date": "Mon, 30 Sep 2024 08:56:59 GMT"} }
2024-09-30T08:58:54.953201Z  INFO tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-09-30T08:58:54.953264Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-09-30T08:58:54.953299Z DEBUG tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-09-30T08:58:55.204586Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-09-30T08:58:55.204755Z DEBUG tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-09-30T08:58:55.204804Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 51.142.9.157:40000    
2024-09-30T08:58:55.204832Z DEBUG wstunnel::protocols::tcp::server: Connecting to 51.142.9.157:40000
2024-09-30T08:58:55.210529Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 51.142.9.157:40000, aborted all other connection attempts
2024-09-30T08:58:55.210546Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([51, 142, 9, 157]))) with the server 51.142.9.157:40000
2024-09-30T08:58:55.210583Z DEBUG rustls::client::hs: Resuming session    
2024-09-30T08:58:55.216826Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-09-30T08:58:55.216851Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-09-30T08:58:55.216950Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-09-30T08:58:55.216962Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-09-30T08:58:55.217077Z DEBUG tunnel{id="01924227-7564-7210-97e1-ba4f86c74aac" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "51.142.9.157:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "xOBZBc9yextomxvJbWDMGg==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0MjI3LTc1NjQtNzIxMC05N2UxLWJhNGY4NmM3NGFhYyIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.KIFo-eNA0TBoFPRZ5-GqH_swiUhJVhD4Q780_reMT_0"}, body: Empty }    
2024-09-30T08:59:00.210051Z  INFO tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-09-30T08:59:00.210093Z  INFO tunnel{id="01924227-4792-7c21-854b-04b79d9c0597" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel

@erebe
Copy link
Owner

erebe commented Sep 30, 2024

That's sad, because I don't manage to reproduce it on my side anymore :X
But I have a LB and a reverse proxy in front of my wstunnel server, so maybe if I start directly the server as you do, I will notice something.

I keep you in touch

P.s: Thanks again for the detailed report.

@erebe
Copy link
Owner

erebe commented Sep 30, 2024

I can't manage to reproduce it anymore on my side sadly, even when removing everything in the between. So I will rely on you.

Would you mind starting the client like below, and providing again the logs, the pcap and also now the file /tmp/wstunnel.keyfile ? the SSLKEYLOGFILE will allow me to decrypt the ssl stream of the pcap

export SSLKEYLOGFILE=/tmp/wstunnel.keyfile
export TOKIO_WORKERS=1
sudo -E perf trace -- wstunnel client --log-lvl=TRACE -R tcp://[::]:50000:localhost:49999 wss://192.168.1.10:4443

@erebe
Copy link
Owner

erebe commented Oct 1, 2024

I think I found out the issue with TLS and the websocket librairy.
I made a pre-release at https://github.com/erebe/wstunnel/releases/tag/v10.1.3-rc1 also available on registry https://github.com/erebe/wstunnel/pkgs/container/wstunnel/282031267?tag=v10.1.3-rc1

Would you mind giving a try and let me know if you still notice the issue ?

@JamesTGrant
Copy link

JamesTGrant commented Oct 1, 2024

Hi @erebe, @christopherhibbert is out today and tomorrow so I will test this today and let you know hopefully this morning!

@JamesTGrant
Copy link

Hi there @erebe , using @christopherhibbert 's reproduction steps I can not reproduce the issue using v10.1.3-rc1 whereas I can with v10.1.1
I am seeing some odd behaviour end-to-end with my 'real' set up which I will investigate tomorrow, I have not performed adequate triage on this yet, I'll let you know.
But I am very happy that v10.1.3-rc1 fixes the problem Chris reported using the reproduction steps provided in this issue report. Thank you!!

@erebe
Copy link
Owner

erebe commented Oct 1, 2024

Glad to hear that 🙏
Ideally you should update the server and the client to this new release.
if you don't find anything fishy tomorrow, I am going to create a new release and try to push a PR upstream

@JamesTGrant
Copy link

Yes, give me the whole day - I'll be testing all day!!

@JamesTGrant
Copy link

JamesTGrant commented Oct 2, 2024

OK, I have found a problem. Or a behaviour I think is a problem! I will attempt to replicate pathologically.

I will make a portable reproduction BASH script as before.

@JamesTGrant
Copy link

JamesTGrant commented Oct 2, 2024

wstunnel-investigation.sh.zip

Please find attached a BASH script that can be used to recreate the problem. This may be a new issue, it occurs with 10.1.1 and 10.1.3-rc1 (other versions not tested)
For each tcp connection from the client to the server, it appears that there is an attempt by the client to establish an IPv6 socket with the server which fails, and then the attempt to use an IPv4 socket occurs approx. 250ms later. (I'm not using IPv6). These occur sequentially and hence each request occurs approx 300ms after the previous request.
Perhaps we could have an option to use IPv4 only?

For cleanest log output, please launch the script on the server-side followed a few seconds later by the client-side.

server-side:


2024-10-02T14:07:50.020090Z  INFO wstunnel::embedded_certificate: Generating self-signed tls certificate    
2024-10-02T14:07:50.020650Z  INFO wstunnel: Starting wstunnel server v10.1.3-rc1 with config WsServerConfig { socket_so_mark: None, bind: [::]:40000, websocket_ping_frequency: Some(30s), timeout_connect: 10s, websocket_mask_frame: false, restriction_config: None, tls: true, mTLS: false }
2024-10-02T14:07:50.020666Z DEBUG wstunnel: Restriction rules: RestrictionsRules {
    restrictions: [
        RestrictionConfig {
            name: "Allow All",
            match: [
                Any,
            ],
            allow: [
                Tunnel(
                    AllowTunnelConfig {
                        protocol: [],
                        port: [],
                        host: Regex(
                            "^.*$",
                        ),
                        cidr: [
                            0.0.0.0/0,
                            ::/0,
                        ],
                    },
                ),
                ReverseTunnel(
                    AllowReverseTunnelConfig {
                        protocol: [],
                        port: [],
                        port_mapping: {},
                        cidr: [
                            0.0.0.0/0,
                            ::/0,
                        ],
                    },
                ),
            ],
        },
    ],
}    
2024-10-02T14:07:50.020712Z  INFO wstunnel::tunnel::server::server: Starting wstunnel server listening on [::]:40000
2024-10-02T14:07:54.973295Z  INFO cnx{peer="[::ffff:185.79.59.113]:62944"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:07:54.973422Z  INFO cnx{peer="[::ffff:185.79.59.113]:62944"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:07:54.973739Z DEBUG cnx{peer="[::ffff:185.79.59.113]:62944"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:07:54.973907Z DEBUG cnx{peer="[::ffff:185.79.59.113]:62944"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:07:54.986517Z  INFO cnx{peer="[::ffff:185.79.59.113]:62944"}:tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:07:54.986539Z  INFO cnx{peer="[::ffff:185.79.59.113]:62944"}:tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Starting TCP server listening cnx on [::]:50000    
2024-10-02T14:08:09.401427Z  INFO cnx{peer="[::ffff:185.79.59.113]:62944"}:tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:09.660321Z  INFO cnx{peer="[::ffff:185.79.59.113]:62944"}:tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:09.660396Z  INFO cnx{peer="[::ffff:185.79.59.113]:62944"}:tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:09.665149Z  INFO cnx{peer="[::ffff:185.79.59.113]:19692"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:09.665201Z  INFO cnx{peer="[::ffff:185.79.59.113]:19692"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:09.665366Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19692"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:09.665542Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19692"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:09.671504Z  INFO cnx{peer="[::ffff:185.79.59.113]:19692"}:tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:09.671554Z  INFO cnx{peer="[::ffff:185.79.59.113]:19692"}:tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:09.928836Z  INFO cnx{peer="[::ffff:185.79.59.113]:19692"}:tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:09.928905Z  INFO cnx{peer="[::ffff:185.79.59.113]:19692"}:tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:09.933408Z  INFO cnx{peer="[::ffff:185.79.59.113]:19694"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:09.933472Z  INFO cnx{peer="[::ffff:185.79.59.113]:19694"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:09.933620Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19694"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:09.933792Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19694"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:09.939667Z  INFO cnx{peer="[::ffff:185.79.59.113]:19694"}:tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:09.939689Z  INFO cnx{peer="[::ffff:185.79.59.113]:19694"}:tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:10.197974Z  INFO cnx{peer="[::ffff:185.79.59.113]:19694"}:tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:10.198041Z  INFO cnx{peer="[::ffff:185.79.59.113]:19694"}:tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:10.202622Z  INFO cnx{peer="[::ffff:185.79.59.113]:19698"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:10.202896Z  INFO cnx{peer="[::ffff:185.79.59.113]:19698"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:10.203028Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19698"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:10.203248Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19698"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:10.209032Z  INFO cnx{peer="[::ffff:185.79.59.113]:19698"}:tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:10.209057Z  INFO cnx{peer="[::ffff:185.79.59.113]:19698"}:tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:10.471823Z  INFO cnx{peer="[::ffff:185.79.59.113]:19700"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:10.471878Z  INFO cnx{peer="[::ffff:185.79.59.113]:19700"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:10.471976Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19700"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:10.472132Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19700"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:10.473067Z  INFO cnx{peer="[::ffff:185.79.59.113]:19698"}:tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:10.473126Z  INFO cnx{peer="[::ffff:185.79.59.113]:19698"}:tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:10.477916Z  INFO cnx{peer="[::ffff:185.79.59.113]:19700"}:tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:10.477943Z  INFO cnx{peer="[::ffff:185.79.59.113]:19700"}:tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:10.740697Z  INFO cnx{peer="[::ffff:185.79.59.113]:19708"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:10.740747Z  INFO cnx{peer="[::ffff:185.79.59.113]:19708"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:10.741106Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19708"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:10.741343Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19708"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:10.741599Z  INFO cnx{peer="[::ffff:185.79.59.113]:19700"}:tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:10.741702Z  INFO cnx{peer="[::ffff:185.79.59.113]:19700"}:tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:10.747116Z  INFO cnx{peer="[::ffff:185.79.59.113]:19708"}:tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:10.747142Z  INFO cnx{peer="[::ffff:185.79.59.113]:19708"}:tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:11.010092Z  INFO cnx{peer="[::ffff:185.79.59.113]:19714"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:11.010235Z  INFO cnx{peer="[::ffff:185.79.59.113]:19714"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:11.010281Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19714"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:11.010438Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19714"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:11.012731Z  INFO cnx{peer="[::ffff:185.79.59.113]:19708"}:tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:11.012791Z  INFO cnx{peer="[::ffff:185.79.59.113]:19708"}:tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:11.016217Z  INFO cnx{peer="[::ffff:185.79.59.113]:19714"}:tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:11.016237Z  INFO cnx{peer="[::ffff:185.79.59.113]:19714"}:tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:11.274448Z  INFO cnx{peer="[::ffff:185.79.59.113]:19714"}:tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:11.274524Z  INFO cnx{peer="[::ffff:185.79.59.113]:19714"}:tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:11.278890Z  INFO cnx{peer="[::ffff:185.79.59.113]:19726"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:11.278973Z  INFO cnx{peer="[::ffff:185.79.59.113]:19726"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:11.279187Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19726"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:11.279343Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19726"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:11.285075Z  INFO cnx{peer="[::ffff:185.79.59.113]:19726"}:tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:11.285105Z  INFO cnx{peer="[::ffff:185.79.59.113]:19726"}:tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:11.548156Z  INFO cnx{peer="[::ffff:185.79.59.113]:19730"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:11.548217Z  INFO cnx{peer="[::ffff:185.79.59.113]:19730"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:11.548258Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19730"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:11.548413Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19730"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:11.548700Z  INFO cnx{peer="[::ffff:185.79.59.113]:19726"}:tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:11.548768Z  INFO cnx{peer="[::ffff:185.79.59.113]:19726"}:tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:11.554282Z  INFO cnx{peer="[::ffff:185.79.59.113]:19730"}:tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:11.554304Z  INFO cnx{peer="[::ffff:185.79.59.113]:19730"}:tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:11.817065Z  INFO cnx{peer="[::ffff:185.79.59.113]:19742"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:11.817117Z  INFO cnx{peer="[::ffff:185.79.59.113]:19742"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:11.817275Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19742"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:11.817437Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19742"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:11.819221Z  INFO cnx{peer="[::ffff:185.79.59.113]:19730"}:tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:11.819283Z  INFO cnx{peer="[::ffff:185.79.59.113]:19730"}:tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:11.823183Z  INFO cnx{peer="[::ffff:185.79.59.113]:19742"}:tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:11.823200Z  INFO cnx{peer="[::ffff:185.79.59.113]:19742"}:tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:12.086394Z  INFO cnx{peer="[::ffff:185.79.59.113]:19746"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:12.086495Z  INFO cnx{peer="[::ffff:185.79.59.113]:19746"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:12.086640Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19746"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:12.086713Z  INFO cnx{peer="[::ffff:185.79.59.113]:19742"}:tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:12.086850Z  INFO cnx{peer="[::ffff:185.79.59.113]:19742"}:tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:12.086963Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19746"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:12.097571Z  INFO cnx{peer="[::ffff:185.79.59.113]:19746"}:tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:12.097597Z  INFO cnx{peer="[::ffff:185.79.59.113]:19746"}:tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:12.354750Z  INFO cnx{peer="[::ffff:185.79.59.113]:19746"}:tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:12.354820Z  INFO cnx{peer="[::ffff:185.79.59.113]:19746"}:tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:12.359361Z  INFO cnx{peer="[::ffff:185.79.59.113]:19750"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:12.359477Z  INFO cnx{peer="[::ffff:185.79.59.113]:19750"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:12.359544Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19750"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:12.359793Z DEBUG cnx{peer="[::ffff:185.79.59.113]:19750"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:12.365569Z  INFO cnx{peer="[::ffff:185.79.59.113]:19750"}:tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:12.365814Z  INFO cnx{peer="[::ffff:185.79.59.113]:19750"}:tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:12.623892Z  INFO cnx{peer="[::ffff:185.79.59.113]:19750"}:tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:12.623963Z  INFO cnx{peer="[::ffff:185.79.59.113]:19750"}:tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:12.628560Z  INFO cnx{peer="[::ffff:185.79.59.113]:44766"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:12.628609Z  INFO cnx{peer="[::ffff:185.79.59.113]:44766"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:12.628754Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44766"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:12.628961Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44766"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:12.634738Z  INFO cnx{peer="[::ffff:185.79.59.113]:44766"}:tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:12.634755Z  INFO cnx{peer="[::ffff:185.79.59.113]:44766"}:tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:12.897704Z  INFO cnx{peer="[::ffff:185.79.59.113]:44778"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:12.897787Z  INFO cnx{peer="[::ffff:185.79.59.113]:44778"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:12.897866Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44778"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:12.898041Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44778"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:12.898307Z  INFO cnx{peer="[::ffff:185.79.59.113]:44766"}:tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:12.898383Z  INFO cnx{peer="[::ffff:185.79.59.113]:44766"}:tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:12.903847Z  INFO cnx{peer="[::ffff:185.79.59.113]:44778"}:tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:12.903875Z  INFO cnx{peer="[::ffff:185.79.59.113]:44778"}:tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:13.166955Z  INFO cnx{peer="[::ffff:185.79.59.113]:44788"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:13.167250Z  INFO cnx{peer="[::ffff:185.79.59.113]:44788"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:13.167478Z  INFO cnx{peer="[::ffff:185.79.59.113]:44778"}:tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:13.167591Z  INFO cnx{peer="[::ffff:185.79.59.113]:44778"}:tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:13.167764Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44788"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:13.168062Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44788"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:13.173908Z  INFO cnx{peer="[::ffff:185.79.59.113]:44788"}:tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:13.173924Z  INFO cnx{peer="[::ffff:185.79.59.113]:44788"}:tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:13.437039Z  INFO cnx{peer="[::ffff:185.79.59.113]:44798"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:13.437146Z  INFO cnx{peer="[::ffff:185.79.59.113]:44798"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:13.437209Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44798"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:13.437384Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44798"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:13.437490Z  INFO cnx{peer="[::ffff:185.79.59.113]:44788"}:tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:13.437556Z  INFO cnx{peer="[::ffff:185.79.59.113]:44788"}:tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:13.443486Z  INFO cnx{peer="[::ffff:185.79.59.113]:44798"}:tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:13.443507Z  INFO cnx{peer="[::ffff:185.79.59.113]:44798"}:tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:13.701981Z  INFO cnx{peer="[::ffff:185.79.59.113]:44798"}:tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:13.702062Z  INFO cnx{peer="[::ffff:185.79.59.113]:44798"}:tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:13.705599Z  INFO cnx{peer="[::ffff:185.79.59.113]:44804"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:13.705661Z  INFO cnx{peer="[::ffff:185.79.59.113]:44804"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:13.705774Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44804"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:13.706124Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44804"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:13.712138Z  INFO cnx{peer="[::ffff:185.79.59.113]:44804"}:tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:13.712162Z  INFO cnx{peer="[::ffff:185.79.59.113]:44804"}:tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:13.970852Z  INFO cnx{peer="[::ffff:185.79.59.113]:44804"}:tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:13.970935Z  INFO cnx{peer="[::ffff:185.79.59.113]:44804"}:tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:13.975376Z  INFO cnx{peer="[::ffff:185.79.59.113]:44820"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:13.975475Z  INFO cnx{peer="[::ffff:185.79.59.113]:44820"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:13.975537Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44820"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:13.975697Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44820"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:13.981620Z  INFO cnx{peer="[::ffff:185.79.59.113]:44820"}:tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:13.981643Z  INFO cnx{peer="[::ffff:185.79.59.113]:44820"}:tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:14.244637Z  INFO cnx{peer="[::ffff:185.79.59.113]:44830"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:14.244687Z  INFO cnx{peer="[::ffff:185.79.59.113]:44830"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:14.244882Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44830"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:14.245109Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44830"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:14.245913Z  INFO cnx{peer="[::ffff:185.79.59.113]:44820"}:tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:14.245974Z  INFO cnx{peer="[::ffff:185.79.59.113]:44820"}:tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:14.251302Z  INFO cnx{peer="[::ffff:185.79.59.113]:44830"}:tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:14.251324Z  INFO cnx{peer="[::ffff:185.79.59.113]:44830"}:tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:14.509482Z  INFO cnx{peer="[::ffff:185.79.59.113]:44830"}:tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:14.509557Z  INFO cnx{peer="[::ffff:185.79.59.113]:44830"}:tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:14.514018Z  INFO cnx{peer="[::ffff:185.79.59.113]:44838"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:14.514172Z  INFO cnx{peer="[::ffff:185.79.59.113]:44838"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:14.514267Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44838"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:14.514442Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44838"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:14.520151Z  INFO cnx{peer="[::ffff:185.79.59.113]:44838"}:tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:14.520171Z  INFO cnx{peer="[::ffff:185.79.59.113]:44838"}:tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:14.778278Z  INFO cnx{peer="[::ffff:185.79.59.113]:44838"}:tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:14.778355Z  INFO cnx{peer="[::ffff:185.79.59.113]:44838"}:tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:14.783326Z  INFO cnx{peer="[::ffff:185.79.59.113]:44850"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:14.783397Z  INFO cnx{peer="[::ffff:185.79.59.113]:44850"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:14.783470Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44850"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:14.783825Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44850"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:14.789621Z  INFO cnx{peer="[::ffff:185.79.59.113]:44850"}:tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:14.789638Z  INFO cnx{peer="[::ffff:185.79.59.113]:44850"}:tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:15.051614Z  INFO cnx{peer="[::ffff:185.79.59.113]:44860"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:15.051799Z  INFO cnx{peer="[::ffff:185.79.59.113]:44860"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:15.051859Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44860"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:15.052037Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44860"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:15.052567Z  INFO cnx{peer="[::ffff:185.79.59.113]:44850"}:tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:15.052641Z  INFO cnx{peer="[::ffff:185.79.59.113]:44850"}:tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:15.057902Z  INFO cnx{peer="[::ffff:185.79.59.113]:44860"}:tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:15.058129Z  INFO cnx{peer="[::ffff:185.79.59.113]:44860"}:tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:15.320863Z  INFO cnx{peer="[::ffff:185.79.59.113]:44868"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:15.321130Z  INFO cnx{peer="[::ffff:185.79.59.113]:44868"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:15.321205Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44868"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:15.321360Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44868"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:15.323052Z  INFO cnx{peer="[::ffff:185.79.59.113]:44860"}:tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:15.323117Z  INFO cnx{peer="[::ffff:185.79.59.113]:44860"}:tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:15.327024Z  INFO cnx{peer="[::ffff:185.79.59.113]:44868"}:tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:15.327045Z  INFO cnx{peer="[::ffff:185.79.59.113]:44868"}:tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:15.585114Z  INFO cnx{peer="[::ffff:185.79.59.113]:44868"}:tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:15.585182Z  INFO cnx{peer="[::ffff:185.79.59.113]:44868"}:tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:15.589846Z  INFO cnx{peer="[::ffff:185.79.59.113]:44872"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:15.589888Z  INFO cnx{peer="[::ffff:185.79.59.113]:44872"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:15.589992Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44872"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:15.590185Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44872"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:15.595921Z  INFO cnx{peer="[::ffff:185.79.59.113]:44872"}:tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:15.596043Z  INFO cnx{peer="[::ffff:185.79.59.113]:44872"}:tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:15.854155Z  INFO cnx{peer="[::ffff:185.79.59.113]:44872"}:tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:15.854226Z  INFO cnx{peer="[::ffff:185.79.59.113]:44872"}:tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:15.858726Z  INFO cnx{peer="[::ffff:185.79.59.113]:44874"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:15.858805Z  INFO cnx{peer="[::ffff:185.79.59.113]:44874"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:15.858896Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44874"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:15.859222Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44874"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:15.864936Z  INFO cnx{peer="[::ffff:185.79.59.113]:44874"}:tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:15.864956Z  INFO cnx{peer="[::ffff:185.79.59.113]:44874"}:tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:16.127793Z  INFO cnx{peer="[::ffff:185.79.59.113]:44884"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:16.128191Z  INFO cnx{peer="[::ffff:185.79.59.113]:44874"}:tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:16.129063Z  INFO cnx{peer="[::ffff:185.79.59.113]:44884"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:16.129063Z  INFO cnx{peer="[::ffff:185.79.59.113]:44874"}:tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:16.129106Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44884"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:16.129247Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44884"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:16.134999Z  INFO cnx{peer="[::ffff:185.79.59.113]:44884"}:tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:16.135081Z  INFO cnx{peer="[::ffff:185.79.59.113]:44884"}:tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:16.397856Z  INFO cnx{peer="[::ffff:185.79.59.113]:44894"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:16.397909Z  INFO cnx{peer="[::ffff:185.79.59.113]:44894"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:16.398075Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44894"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:16.398328Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44894"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:16.399536Z  INFO cnx{peer="[::ffff:185.79.59.113]:44884"}:tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:16.399602Z  INFO cnx{peer="[::ffff:185.79.59.113]:44884"}:tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:16.404153Z  INFO cnx{peer="[::ffff:185.79.59.113]:44894"}:tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:16.404174Z  INFO cnx{peer="[::ffff:185.79.59.113]:44894"}:tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:16.662538Z  INFO cnx{peer="[::ffff:185.79.59.113]:44894"}:tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:16.662685Z  INFO cnx{peer="[::ffff:185.79.59.113]:44894"}:tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:16.667103Z  INFO cnx{peer="[::ffff:185.79.59.113]:44906"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:16.667547Z  INFO cnx{peer="[::ffff:185.79.59.113]:44906"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:16.667596Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44906"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:16.668077Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44906"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:16.674015Z  INFO cnx{peer="[::ffff:185.79.59.113]:44906"}:tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:16.674035Z  INFO cnx{peer="[::ffff:185.79.59.113]:44906"}:tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:16.936650Z  INFO cnx{peer="[::ffff:185.79.59.113]:44918"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:16.936692Z  INFO cnx{peer="[::ffff:185.79.59.113]:44918"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:16.936803Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44918"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:16.937041Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44918"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:16.937762Z  INFO cnx{peer="[::ffff:185.79.59.113]:44906"}:tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:16.937829Z  INFO cnx{peer="[::ffff:185.79.59.113]:44906"}:tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:16.942783Z  INFO cnx{peer="[::ffff:185.79.59.113]:44918"}:tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:16.942809Z  INFO cnx{peer="[::ffff:185.79.59.113]:44918"}:tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:17.205878Z  INFO cnx{peer="[::ffff:185.79.59.113]:44924"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:17.206190Z  INFO cnx{peer="[::ffff:185.79.59.113]:44924"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:17.206272Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44924"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:17.206503Z  INFO cnx{peer="[::ffff:185.79.59.113]:44918"}:tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:17.206652Z  INFO cnx{peer="[::ffff:185.79.59.113]:44918"}:tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:17.206810Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44924"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:17.212710Z  INFO cnx{peer="[::ffff:185.79.59.113]:44924"}:tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
2024-10-02T14:08:17.212730Z  INFO cnx{peer="[::ffff:185.79.59.113]:44924"}:tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::tunnel::server::server: connected to ReverseTcp [::]:50000
2024-10-02T14:08:17.475557Z  INFO cnx{peer="[::ffff:185.79.59.113]:44932"}: wstunnel::tunnel::server::server: Accepting connection
2024-10-02T14:08:17.475611Z  INFO cnx{peer="[::ffff:185.79.59.113]:44932"}: wstunnel::tunnel::server::server: Doing TLS handshake
2024-10-02T14:08:17.475856Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44932"}: rustls::server::hs: decided upon suite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:17.476027Z DEBUG cnx{peer="[::ffff:185.79.59.113]:44932"}: rustls::server::hs: Chosen ALPN protocol [104, 116, 116, 112, 47, 49, 46, 49]    
2024-10-02T14:08:17.478679Z  INFO cnx{peer="[::ffff:185.79.59.113]:44924"}:tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:17.478738Z  INFO cnx{peer="[::ffff:185.79.59.113]:44924"}:tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:17.481774Z  INFO cnx{peer="[::ffff:185.79.59.113]:44932"}:tunnel{id="01924d8f-6a3b-7093-bf81-9b0230e0fddd" remote="[::]:50000"}: wstunnel::tunnel::server::server: Tunnel accepted due to matched restriction: Allow All
/tmp/recievedWstunnelFiles/my3.css:real 0m2.426s
/tmp/recievedWstunnelFiles/my7.css:real 0m1.599s
/tmp/recievedWstunnelFiles/my26.css:real        0m4.028s
/tmp/recievedWstunnelFiles/my6.css:real 0m1.081s
/tmp/recievedWstunnelFiles/my12.css:real        0m5.374s
/tmp/recievedWstunnelFiles/my24.css:real        0m5.914s
/tmp/recievedWstunnelFiles/my23.css:real        0m3.491s
/tmp/recievedWstunnelFiles/my14.css:real        0m4.572s
/tmp/recievedWstunnelFiles/my22.css:real        0m1.868s
/tmp/recievedWstunnelFiles/my13.css:real        0m2.957s
/tmp/recievedWstunnelFiles/my20.css:real        0m4.299s
/tmp/recievedWstunnelFiles/my30.css:real        0m2.148s
/tmp/recievedWstunnelFiles/my17.css:real        0m4.846s
/tmp/recievedWstunnelFiles/my29.css:real        0m2.686s
/tmp/recievedWstunnelFiles/my9.css:real 0m5.647s
/tmp/recievedWstunnelFiles/my16.css:real        0m3.224s
/tmp/recievedWstunnelFiles/my27.css:real        0m6.444s
/tmp/recievedWstunnelFiles/my5.css:real 0m1.349s
/tmp/recievedWstunnelFiles/my11.css:real        0m7.536s
/tmp/recievedWstunnelFiles/my21.css:real        0m7.259s
/tmp/recievedWstunnelFiles/my4.css:real 0m0.805s
/tmp/recievedWstunnelFiles/my19.css:real        0m8.076s
/tmp/recievedWstunnelFiles/my25.css:real        0m6.720s
/tmp/recievedWstunnelFiles/my1.css:real 0m0.269s
/tmp/recievedWstunnelFiles/my10.css:real        0m6.180s
/tmp/recievedWstunnelFiles/my8.css:real 0m6.988s
/tmp/recievedWstunnelFiles/my18.css:real        0m3.766s
/tmp/recievedWstunnelFiles/my15.css:real        0m5.106s
/tmp/recievedWstunnelFiles/my28.css:real        0m7.803s
/tmp/recievedWstunnelFiles/my2.css:real 0m0.537s
0m0.269s
0m0.537s
0m0.805s
0m1.081s
0m1.349s
0m1.599s
0m1.868s
0m2.148s
0m2.426s
0m2.686s
0m2.957s
0m3.224s
0m3.491s
0m3.766s
0m4.028s
0m4.299s
0m4.572s
0m4.846s
0m5.106s
0m5.374s
0m5.647s
0m5.914s
0m6.180s
0m6.444s
0m6.720s
0m6.988s
0m7.259s
0m7.536s
0m7.803s
0m8.076s

End of script```

client-side
``` /tmp/wstunnel-investigation.sh client

2024-10-02T14:07:54.965250Z  INFO wstunnel: Starting wstunnel client v10.1.3-rc1
2024-10-02T14:07:54.965321Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:07:54.965352Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
2024-10-02T14:07:54.971351Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:07:54.971369Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:07:54.971387Z DEBUG rustls::client::hs: No cached session for IpAddress(V4(Ipv4Addr([172, 187, 165, 148])))    
2024-10-02T14:07:54.971480Z DEBUG rustls::client::hs: Not resuming any session    
2024-10-02T14:07:54.984196Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:07:54.984223Z DEBUG rustls::client::tls13: Not resuming    
2024-10-02T14:07:54.984331Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:07:54.984340Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:07:54.984459Z DEBUG tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "ruFjLg8Bf2LYrvyTqH70Mw==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTEyNTUtNzY0MS05MDFjLTY4NjYzOWU1M2E4NyIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.dXmDBLPXhMW8R3Wus-4O4VhZFe0ci9ygR-ixf-gN9-Y"}, body: Empty }    
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
                                             AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
                                                                                          [Wed Oct 02 14:07:55.119231 2024] [mpm_event:notice] [pid 1:tid 1] AH00489: Apache/2.4.62 (Unix) configured -- resuming normal operations
                                                                                                       [Wed Oct 02 14:07:55.119340 2024] [core:notice] [pid 1:tid 1] AH00094: Command line: 'httpd -D FOREGROUND'
                                                                                     2024-10-02T14:08:09.405113Z DEBUG tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "FGPeou3jdU5CzWRlgJO0xpHsosA=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:09 GMT"} }
2024-10-02T14:08:09.405137Z  INFO tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:09.405213Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:09.405255Z DEBUG tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:09.657062Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:09.657176Z DEBUG tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:09.657229Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:09.657260Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:09 +0000] "GET /my1.css HTTP/1.1" 200 5892
                                                                            2024-10-02T14:08:09.663127Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:09.663141Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:09.663175Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:09.663657Z ERROR tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:09.663677Z  INFO tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:09.663713Z  INFO tunnel{id="01924d8f-1255-7641-901c-686639e53a87" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:09.669126Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:09.669153Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:09.669239Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:09.669252Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:09.669348Z DEBUG tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "VJpTGHdWHl66MZCNEax6BQ==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTRiYjktNzkxMC04Y2JjLTNmNTAzN2YwMzc0ZSIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.ZbBuUUibmp4Doni9686Fh9UAqr60UHBCG6WK1YKDgiU"}, body: Empty }    
2024-10-02T14:08:09.674995Z DEBUG tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "9RwGWd6DmUvSweAI6eOxJUUdGak=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:09 GMT"} }
2024-10-02T14:08:09.675013Z  INFO tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:09.675081Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:09.675128Z DEBUG tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:09.925355Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:09.925539Z DEBUG tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:09.925594Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:09.925615Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:09 +0000] "GET /my2.css HTTP/1.1" 200 8110
                                                                            2024-10-02T14:08:09.931473Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:09.931490Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:09.931521Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:09.932163Z ERROR tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:09.932183Z  INFO tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:09.932215Z  INFO tunnel{id="01924d8f-4bb9-7910-8cbc-3f5037f0374e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:09.937350Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:09.937372Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:09.937468Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:09.937477Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:09.937582Z DEBUG tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "E0ZrDDcAg/4xz2SHkN/OVQ==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTRjYzUtNzQyMS04NjA4LWQ1NGY1ZTQ1ZDc1ZCIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.SNCo-wzXyKztgQ_tSSzoczJdWyf1JBF5qVhuAyMZ94I"}, body: Empty }    
2024-10-02T14:08:09.943130Z DEBUG tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "8fdxx0vAz2C/7sR8R2bpkqUexc4=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:09 GMT"} }
2024-10-02T14:08:09.943145Z  INFO tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:09.943193Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:09.943227Z DEBUG tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:10.194514Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:10.194645Z DEBUG tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:10.194688Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:10.194722Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:10 +0000] "GET /my4.css HTTP/1.1" 200 6195
                                                                            2024-10-02T14:08:10.200583Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:10.200594Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:10.200626Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:10.201351Z ERROR tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:10.201368Z  INFO tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:10.201396Z  INFO tunnel{id="01924d8f-4cc5-7421-8608-d54f5e45d75d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:10.206738Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:10.206749Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:10.206819Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:10.206827Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:10.206898Z DEBUG tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "xDHGtC4O716Elc28F15GlA==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTRkZDItNzQ5MS05NzU2LWE5OWFlOTNjY2I0YyIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.cuedCLKoj4PlV7AUVPg_RH2hoZ_1dBMepXSnCoQf1YE"}, body: Empty }    
2024-10-02T14:08:10.212487Z DEBUG tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "BMkIYl+JpWo9Kxa0AZQeoaK3FJM=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:09 GMT"} }
2024-10-02T14:08:10.212500Z  INFO tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:10.212559Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:10.212598Z DEBUG tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:10.463860Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:10.464013Z DEBUG tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:10.464070Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:10.464108Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:10 +0000] "GET /my6.css HTTP/1.1" 200 20086
                                                                             2024-10-02T14:08:10.469904Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:10.469915Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:10.469951Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:10.475678Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:10.475700Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:10.475789Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:10.475800Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:10.475888Z DEBUG tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "RtiZn7Sx8qguXdE3wycqSw==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTRlZTAtNzc2MS1hZGEzLTdmYmZmMmU3ZjRkMSIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.eYtLO1w67TxDT4gdssAW8dMZZJ8R-rQyLqCTmzPHqXk"}, body: Empty }    
2024-10-02T14:08:10.476359Z ERROR tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:10.476377Z  INFO tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:10.476410Z  INFO tunnel{id="01924d8f-4dd2-7491-9756-a99ae93ccb4c" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:10.481416Z DEBUG tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "A/pW4T+fPlA+6hBtoI8DhzP7dXc=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:10 GMT"} }
2024-10-02T14:08:10.481429Z  INFO tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:10.481487Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:10.481519Z DEBUG tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:10.732780Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:10.732886Z DEBUG tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:10.732932Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:10.732956Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:10 +0000] "GET /my5.css HTTP/1.1" 200 31804
                                                                             2024-10-02T14:08:10.738744Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:10.738753Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:10.738782Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:10.744853Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:10.744865Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:10.744930Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:10.744938Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:10.745022Z DEBUG tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "/j4i9CgLNcl5khs5GR+8FA==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTRmZWMtNzcxMi04NzQyLThjNjEwYjY4M2YyOCIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.Vvz-dMm1W58WvUxhRQ5SpfpVL81ENKyo0XcrkvXFtrI"}, body: Empty }    
2024-10-02T14:08:10.745068Z ERROR tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:10.745084Z  INFO tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:10.745114Z  INFO tunnel{id="01924d8f-4ee0-7761-ada3-7fbff2e7f4d1" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:10.750577Z DEBUG tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "Jo/kOv1gzpVT/4g1dITA87hSw8Q=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:10 GMT"} }
2024-10-02T14:08:10.750592Z  INFO tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:10.750644Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:10.750688Z DEBUG tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:11.001929Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:11.002083Z DEBUG tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:11.002125Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:11.002156Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:11 +0000] "GET /my7.css HTTP/1.1" 200 35194
                                                                             2024-10-02T14:08:11.007974Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:11.007986Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:11.008019Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:11.013894Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:11.013908Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:11.013973Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:11.013981Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:11.014063Z DEBUG tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "uBsQFVmdzFf7n7cJIIytXA==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTUwZmEtNzMxMS1iZjM2LTY2YWNlMWMyYmQ1ZiIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.mP_aa--katJ0NOAzWbNhmNII1ybMnjMHRfuPhZXuaUA"}, body: Empty }    
2024-10-02T14:08:11.016062Z ERROR tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:11.016080Z  INFO tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:11.016111Z  INFO tunnel{id="01924d8f-4fec-7712-8742-8c610b683f28" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:11.019558Z DEBUG tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "sNyNzc6aFu75jGAB94HctT1MMG4=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:11 GMT"} }
2024-10-02T14:08:11.019570Z  INFO tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:11.019620Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:11.019650Z DEBUG tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:11.270897Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:11.271041Z DEBUG tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:11.271162Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:11.271192Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:11 +0000] "GET /my22.css HTTP/1.1" 200 7903
                                                                             2024-10-02T14:08:11.276974Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:11.276992Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:11.277026Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:11.277713Z ERROR tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:11.277736Z  INFO tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:11.277775Z  INFO tunnel{id="01924d8f-50fa-7311-bf36-66ace1c2bd5f" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:11.282837Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:11.282853Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:11.282947Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:11.282954Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:11.283056Z DEBUG tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "nsCkQTEyVI3yIVrhsb3AVA==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTUyMDctNzBkMi1iZjRhLWRmZjRlZTBkMjA4MyIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.NlEw64zDd26AYcg_KUJhKbVMOpl6Xj0mjZsteo47AF8"}, body: Empty }    
2024-10-02T14:08:11.288511Z DEBUG tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "wg83LjyfiI7CkPpFa4cng4x7WO0=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:11 GMT"} }
2024-10-02T14:08:11.288527Z  INFO tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:11.288585Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:11.288623Z DEBUG tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:11.539914Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:11.540057Z DEBUG tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:11.540109Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:11.540145Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:11 +0000] "GET /my30.css HTTP/1.1" 200 28334
                                                                              2024-10-02T14:08:11.545989Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:11.546002Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:11.546037Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:11.551909Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:11.551923Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:11.551995Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:11.552002Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:11.552078Z DEBUG tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "DnIdiWmy3Xezfnrr3XEP1w==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTUzMTQtN2IwMi05MGJmLWFmNmE0MTg2YjgzNCIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.rzCwTlGjm37TPT6Cun-4WAmQ07tq0EOA8VUklqiUpzA"}, body: Empty }    
2024-10-02T14:08:11.552132Z ERROR tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:11.552148Z  INFO tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:11.552182Z  INFO tunnel{id="01924d8f-5207-70d2-bf4a-dff4ee0d2083" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:11.557720Z DEBUG tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "zEGa/MsChk+QexBPv/hiBPPqFOQ=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:11 GMT"} }
2024-10-02T14:08:11.557735Z  INFO tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:11.557791Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:11.557824Z DEBUG tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:11.809063Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:11.809199Z DEBUG tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:11.809246Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:11.809281Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:11 +0000] "GET /my3.css HTTP/1.1" 200 32394
                                                                             2024-10-02T14:08:11.815136Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:11.815144Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:11.815175Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:11.820968Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:11.820977Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:11.821043Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:11.821050Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:11.821119Z DEBUG tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "LHfnfu8iyGBJ1mOjhLW8NA==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTU0MjEtNzQyMi05OGFkLWUyMGU0YjJiOGQ0NiIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9._owCt4i173mu5mPT_sE9-X5UkSXTutomkTifVFgpM3c"}, body: Empty }    
2024-10-02T14:08:11.822532Z ERROR tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:11.822549Z  INFO tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:11.822575Z  INFO tunnel{id="01924d8f-5314-7b02-90bf-af6a4186b834" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:11.826624Z DEBUG tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "jTcQaRfY1i5ns8hx16TOw05czko=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:11 GMT"} }
2024-10-02T14:08:11.826635Z  INFO tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:11.826683Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:11.826708Z DEBUG tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:12.077985Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:12.078099Z DEBUG tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:12.078146Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:12.078186Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:12 +0000] "GET /my29.css HTTP/1.1" 200 27681
                                                                              2024-10-02T14:08:12.084345Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:12.084355Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:12.084386Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:12.090060Z ERROR tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:12.090080Z  INFO tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:12.090109Z  INFO tunnel{id="01924d8f-5421-7422-98ad-e20e4b2b8d46" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:12.095261Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:12.095271Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:12.095343Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:12.095350Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:12.095421Z DEBUG tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "TIb/1jdTTrymTGiK2nQ/eA==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTU1MmUtN2E3My04MzllLTc2YmFjYTI3MDAzMSIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.oA1jy2adLbZHyo8XVqC2sJhZWH7Xh4tJaJ0pOW7vZeE"}, body: Empty }    
2024-10-02T14:08:12.101000Z DEBUG tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "N6hMEOB8zPaRbEYsW6Qx58j5VMg=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:11 GMT"} }
2024-10-02T14:08:12.101011Z  INFO tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:12.101061Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:12.101086Z DEBUG tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:12.351359Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:12.351491Z DEBUG tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:12.351533Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:12.351566Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:12 +0000] "GET /my13.css HTTP/1.1" 200 6229
                                                                             2024-10-02T14:08:12.357392Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:12.357402Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:12.357434Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:12.358090Z ERROR tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:12.358109Z  INFO tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:12.358139Z  INFO tunnel{id="01924d8f-552e-7a73-839e-76baca270031" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:12.363328Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:12.363337Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:12.363405Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:12.363412Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:12.363480Z DEBUG tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "5fvs1vcfXDM4cgl3LW+LDw==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTU2M2YtN2E5My04YzMzLTIxNTI3YzhiNjE3NyIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.mEJTLyLvFgrUZOfugHciB4q_-It4CoJOHjsiirIQWzY"}, body: Empty }    
2024-10-02T14:08:12.369267Z DEBUG tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "1+VAk6d01VtsiJZQjDFMBd/yPn4=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:11 GMT"} }
2024-10-02T14:08:12.369280Z  INFO tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:12.369329Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:12.369360Z DEBUG tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:12.620593Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:12.620719Z DEBUG tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:12.620762Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:12.620789Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:12 +0000] "GET /my16.css HTTP/1.1" 200 6910
                                                                             2024-10-02T14:08:12.626585Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:12.626594Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:12.626621Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:12.627200Z ERROR tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:12.627217Z  INFO tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:12.627242Z  INFO tunnel{id="01924d8f-563f-7a93-8c33-21527c8b6177" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:12.632512Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:12.632524Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:12.632592Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:12.632599Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:12.632682Z DEBUG tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "Ceq6KX3aC8e4NHIEocD3vw==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTU3NGMtNzM1My04YjNkLTIwODRjNGQyMTYyMCIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.JrGPGcA1SajcSCRw9HLiPUn5i8w4IPVizdVV4dbeM7E"}, body: Empty }    
2024-10-02T14:08:12.638233Z DEBUG tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "rSrPQxKQVYx4Oe6+zTYkKd8++tA=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:11 GMT"} }
2024-10-02T14:08:12.638244Z  INFO tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:12.638288Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:12.638318Z DEBUG tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:12.889602Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:12.889729Z DEBUG tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:12.889771Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:12.889797Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:12 +0000] "GET /my23.css HTTP/1.1" 200 26022
                                                                              2024-10-02T14:08:12.895680Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:12.895691Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:12.895719Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:12.901584Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:12.901596Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:12.901668Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:12.901676Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:12.901752Z DEBUG tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "4t1FnOMABq2r77AT9o76RA==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTU4NTktNzRhMS04ZjBkLTc4ZTg5NjFhNTAzZSIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.kKxr-AxveecT6mfpwB1atrpT1jO_jq6KLiNjt87ZtKQ"}, body: Empty }    
2024-10-02T14:08:12.901802Z ERROR tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:12.901817Z  INFO tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:12.901851Z  INFO tunnel{id="01924d8f-574c-7353-8b3d-2084c4d21620" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:12.907340Z DEBUG tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "ASkoJhkwQP4WJzxEMVCLmIJ5rxY=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:12 GMT"} }
2024-10-02T14:08:12.907354Z  INFO tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:12.907409Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:12.907441Z DEBUG tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:13.158709Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:13.158813Z DEBUG tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:13.158860Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:13.158892Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:13 +0000] "GET /my18.css HTTP/1.1" 200 18307
                                                                              2024-10-02T14:08:13.164890Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:13.164901Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:13.164935Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:13.170848Z ERROR tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:13.170871Z  INFO tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:13.170905Z  INFO tunnel{id="01924d8f-5859-74a1-8f0d-78e8961a503e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:13.171634Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:13.171645Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:13.171715Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:13.171723Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:13.171810Z DEBUG tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "QqRcrE8mR2h1/H4K34Tweg==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTU5NjYtNzk1Mi05YjZiLWFjOWI4ZWQ4OWU4ZCIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.eI23iOp3YaRsTJOTyb92kJEli42gGUNJDQ80Icy7ifg"}, body: Empty }    
2024-10-02T14:08:13.177384Z DEBUG tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "Sp+0aEHgnUnMtPbeJQfUo6b0Uyo=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:13 GMT"} }
2024-10-02T14:08:13.177396Z  INFO tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:13.177451Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:13.177484Z DEBUG tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:13.428741Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:13.428882Z DEBUG tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:13.428929Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:13.428959Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:13 +0000] "GET /my26.css HTTP/1.1" 200 13424
                                                                              2024-10-02T14:08:13.434916Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:13.434938Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:13.434971Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:13.440866Z ERROR tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:13.440914Z  INFO tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:13.440961Z  INFO tunnel{id="01924d8f-5966-7952-9b6b-ac9b8ed89e8d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:13.441026Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:13.441043Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:13.441145Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:13.441171Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:13.441269Z DEBUG tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "pcgCDj0h4qtvlIW+Yp9k5Q==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTVhNzQtNzc1My1iNzY0LTA2ZGNkNWU1NzdhOCIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.USp6ROS2ytUXG0E5mWCcIPA9UmUyopKhOyywzjOfrPQ"}, body: Empty }    
2024-10-02T14:08:13.446989Z DEBUG tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "Gvfn+UPhWttKf8csUHE1sQ3BYkI=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:13 GMT"} }
2024-10-02T14:08:13.447015Z  INFO tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:13.447086Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:13.447128Z DEBUG tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:13.697366Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:13.697513Z DEBUG tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:13.697576Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:13.697604Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:13 +0000] "GET /my20.css HTTP/1.1" 200 13286
                                                                              2024-10-02T14:08:13.703547Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:13.703564Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:13.703603Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:13.705355Z ERROR tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:13.705388Z  INFO tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:13.705448Z  INFO tunnel{id="01924d8f-5a74-7753-b764-06dcd5e577a8" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:13.709724Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:13.709745Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:13.709817Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:13.709823Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:13.709915Z DEBUG tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "iDjT9IfLGFN4pYZmLNV6Lw==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTViODEtNzY1MC1iMTUzLTgxZjRjYWRiODdiZSIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.DoxIVsxWj68oJboH2YzfKxQU7IJnzJ4sqQLC5TPHsGM"}, body: Empty }    
2024-10-02T14:08:13.715733Z DEBUG tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "gL+ibTAB16R1wJeD+6K/Vhp5v0w=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:13 GMT"} }
2024-10-02T14:08:13.715756Z  INFO tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:13.715827Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:13.715867Z DEBUG tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:13.967073Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:13.967270Z DEBUG tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:13.967322Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:13.967357Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:13 +0000] "GET /my14.css HTTP/1.1" 200 7011
                                                                             2024-10-02T14:08:13.973307Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:13.973325Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:13.973362Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:13.974209Z ERROR tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:13.974238Z  INFO tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:13.974274Z  INFO tunnel{id="01924d8f-5b81-7650-b153-81f4cadb87be" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:13.979289Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:13.979312Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:13.979406Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:13.979414Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:13.979516Z DEBUG tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "AlU6wrwuzF52yQeH4x5ZfA==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTVjOGYtNzdhMC1hMmJlLWEyOWJlOGM2MTZkMSIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.zx3H1Yfmm_ajT-pfxV6xgidHMfeI8s3LnGRsCsK8vtg"}, body: Empty }    
2024-10-02T14:08:13.985142Z DEBUG tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "3/eeZVD9W9NQuJW+rhHzW/Fl/wo=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:13 GMT"} }
2024-10-02T14:08:13.985167Z  INFO tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:13.985232Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:13.985266Z DEBUG tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:14.236596Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:14.236789Z DEBUG tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:14.236843Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:14.236876Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:14 +0000] "GET /my17.css HTTP/1.1" 200 27119
                                                                              2024-10-02T14:08:14.242724Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:14.242746Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:14.242788Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:14.248696Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:14.248721Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:14.248824Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:14.248834Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:14.248943Z DEBUG tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "QLVV0gEUhfBIrCd8AdA+gg==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTVkOWMtN2U4MS1hMWFlLTUwNjE3ZmFiZDBhYSIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.BtPiFlunH7nJYZ_VtjDW33PucmzOO6YmNt_ryZPuELE"}, body: Empty }    
2024-10-02T14:08:14.249263Z ERROR tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:14.249290Z  INFO tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:14.249328Z  INFO tunnel{id="01924d8f-5c8f-77a0-a2be-a29be8c616d1" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:14.254804Z DEBUG tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "sf88cbhwv7wd2SynYG6IgZOtmwA=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:14 GMT"} }
2024-10-02T14:08:14.254828Z  INFO tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:14.254893Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:14.254939Z DEBUG tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:14.506074Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:14.506255Z DEBUG tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:14.506299Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:14.506330Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:14 +0000] "GET /my15.css HTTP/1.1" 200 10615
                                                                              2024-10-02T14:08:14.512048Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:14.512058Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:14.512087Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:14.512815Z ERROR tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:14.512834Z  INFO tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:14.512862Z  INFO tunnel{id="01924d8f-5d9c-7e81-a1ae-50617fabd0aa" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:14.517949Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:14.517960Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:14.518028Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:14.518034Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:14.518107Z DEBUG tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "34dkRoYbzroZkgfufd787g==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTVlYWEtNzYwMC05MjcwLWYwOGVkOGQ4ZGNkZCIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.pIj5Qi9eVTOwqa3Ce6ls4SDPedXgkd3wNYSZxaG6Gks"}, body: Empty }    
2024-10-02T14:08:14.523671Z DEBUG tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "3r3ymRdShXf9yAQ9tA2Uokw6qkI=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:14 GMT"} }
2024-10-02T14:08:14.523689Z  INFO tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:14.523739Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:14.523767Z DEBUG tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:14.774998Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:14.775133Z DEBUG tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:14.775175Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:14.775212Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:14 +0000] "GET /my12.css HTTP/1.1" 200 9261
                                                                             2024-10-02T14:08:14.781222Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:14.781232Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:14.781259Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:14.781624Z ERROR tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:14.781641Z  INFO tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:14.781670Z  INFO tunnel{id="01924d8f-5eaa-7600-9270-f08ed8d8dcdd" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:14.787332Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:14.787342Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:14.787403Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:14.787409Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:14.787483Z DEBUG tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "nmSAY7vbZ70LrrDuHGqXcg==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTVmYjctN2ZmMC04Mjk4LTEwZmNmNjRiNjAxZCIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.wLGYczdfioDuhb-BKCOwMT60V8bNw8QrYgxV_1ebFXw"}, body: Empty }    
2024-10-02T14:08:14.793030Z DEBUG tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "PlSeylpdnQrzvjt/9zGYkIC88K4=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:14 GMT"} }
2024-10-02T14:08:14.793041Z  INFO tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:14.793087Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:14.793119Z DEBUG tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:15.043363Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:15.043494Z DEBUG tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:15.043540Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:15.043574Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:15 +0000] "GET /my9.css HTTP/1.1" 200 28581
                                                                             2024-10-02T14:08:15.049532Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:15.049549Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:15.049582Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:15.055547Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:15.055560Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:15.055638Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:15.055645Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:15.055723Z DEBUG tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "xV9ZwezQvk8+TZxryeWdBg==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTYwYzMtNzU5My05OTU4LTdmNmJiNTBmNmU1YiIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.-lkzROB9eG-kk9yFxu815rI_R-K7tZjDYh2k4ED4rfI"}, body: Empty }    
2024-10-02T14:08:15.055889Z ERROR tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:15.055907Z  INFO tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:15.055941Z  INFO tunnel{id="01924d8f-5fb7-7ff0-8298-10fcf64b601d" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:15.061620Z DEBUG tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "B34dzQ6g3FyXUx4Zi8PaWxevqlY=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:15 GMT"} }
2024-10-02T14:08:15.061635Z  INFO tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:15.061695Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:15.061728Z DEBUG tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:15.312997Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:15.313116Z DEBUG tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:15.313162Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:15.313197Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:15 +0000] "GET /my24.css HTTP/1.1" 200 19387
                                                                              2024-10-02T14:08:15.318920Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:15.318929Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:15.318958Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:15.324837Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:15.324847Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:15.324909Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:15.324916Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:15.325000Z DEBUG tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "hwcLaIcViY/U0V03v+NLLg==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTYxZDEtNzAzMi05ODQ5LTE5MzczY2IyYmI3MCIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.drs1ocYS1yC1m3F2v5cRX4b1R5i3-YQmQHD1PvrhXB4"}, body: Empty }    
2024-10-02T14:08:15.326405Z ERROR tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:15.326424Z  INFO tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:15.326450Z  INFO tunnel{id="01924d8f-60c3-7593-9958-7f6bb50f6e5b" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:15.330425Z DEBUG tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "Y3BTia7aKs6EGjibFS+Bd3/j/ZM=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:15 GMT"} }
2024-10-02T14:08:15.330446Z  INFO tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:15.330492Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:15.330521Z DEBUG tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:15.581810Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:15.581941Z DEBUG tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:15.581979Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:15.582011Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:15 +0000] "GET /my10.css HTTP/1.1" 200 11961
                                                                              2024-10-02T14:08:15.587856Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:15.587866Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:15.587899Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:15.588403Z ERROR tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:15.588421Z  INFO tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:15.588448Z  INFO tunnel{id="01924d8f-61d1-7032-9849-19373cb2bb70" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:15.593725Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:15.593735Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:15.593794Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:15.593800Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:15.593868Z DEBUG tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "c9FH6afVZJFyG0+8ri92gw==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTYyZGQtNzgxMy05NzY0LTJmMGEyZmFlNDc4OCIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.cBl_RF9FcX-U1bJFe3yJKpTmNXjeMzpLQpzOKOGn_L8"}, body: Empty }    
2024-10-02T14:08:15.599490Z DEBUG tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "ufPaFAz7VHaU0GdTjdJjBs3tW4I=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:15 GMT"} }
2024-10-02T14:08:15.599501Z  INFO tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:15.599548Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:15.599577Z DEBUG tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:15.850846Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:15.850968Z DEBUG tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:15.851019Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:15.851049Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:15 +0000] "GET /my27.css HTTP/1.1" 200 10460
                                                                              2024-10-02T14:08:15.856813Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:15.856827Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:15.856856Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:15.857497Z ERROR tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:15.857518Z  INFO tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:15.857550Z  INFO tunnel{id="01924d8f-62dd-7813-9764-2f0a2fae4788" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:15.862730Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:15.862743Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:15.862818Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:15.862826Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:15.862898Z DEBUG tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "/scw1Z2DmwKJrVw1mdRWNg==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTYzZWEtNzdlMy1iZDE5LWM5MjI4Yjk3MWU0MiIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.HA-1GI6bYX0vWrbpMcjbGQg4Jbw5bYK4lYbu0PgA3Xc"}, body: Empty }    
2024-10-02T14:08:15.868392Z DEBUG tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "PrAsl6JwoQ+THRIIsNheL6CGTdM=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:15 GMT"} }
2024-10-02T14:08:15.868410Z  INFO tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:15.868460Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:15.868494Z DEBUG tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:16.119746Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:16.119888Z DEBUG tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:16.119932Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:16.119959Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:16 +0000] "GET /my25.css HTTP/1.1" 200 22832
                                                                              2024-10-02T14:08:16.125681Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:16.125694Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:16.125725Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:16.131504Z ERROR tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:16.131525Z  INFO tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:16.131557Z  INFO tunnel{id="01924d8f-63ea-77e3-bd19-c9228b971e42" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:16.132738Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:16.132747Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:16.132820Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:16.132827Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:16.132900Z DEBUG tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "L/w9SpWB/xAseczxyEgOng==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTY0ZjctNzQyMC1hOTFmLTNhYjVmYjI5OTVlNiIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.bJQ9sttZGb6frEujfnbOUop-gaynglpVdBHjoppR6lk"}, body: Empty }    
2024-10-02T14:08:16.138492Z DEBUG tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "GpObNL/mObLLpbo5Ez8bhNslS94=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:16 GMT"} }
2024-10-02T14:08:16.138504Z  INFO tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:16.138558Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:16.138589Z DEBUG tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:16.389833Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:16.390003Z DEBUG tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:16.390043Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:16.390070Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:16 +0000] "GET /my8.css HTTP/1.1" 200 37192
                                                                             2024-10-02T14:08:16.395800Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:16.395813Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:16.395849Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:16.401832Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:16.401845Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:16.401935Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:16.401942Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:16.402038Z DEBUG tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "VQaQG+tjC9RQqDdQN4WWog==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTY2MDYtNzEwMy1hNjA2LTQ5ZDk2OTY5MTIwZSIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.-RYSNZuZxuidTIYraeOzEfNT_S06YmNsBPhWciXwaSU"}, body: Empty }    
2024-10-02T14:08:16.402854Z ERROR tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:16.402873Z  INFO tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:16.402902Z  INFO tunnel{id="01924d8f-64f7-7420-a91f-3ab5fb2995e6" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:16.407608Z DEBUG tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "+86LyLJe+s7BIqmF2BxYrMyebDE=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:16 GMT"} }
2024-10-02T14:08:16.407629Z  INFO tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:16.407695Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:16.407738Z DEBUG tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:16.659002Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:16.659138Z DEBUG tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:16.659215Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:16.659265Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:16 +0000] "GET /my21.css HTTP/1.1" 200 7143
                                                                             2024-10-02T14:08:16.665049Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:16.665060Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:16.665091Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:16.665846Z ERROR tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:16.665866Z  INFO tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:16.665894Z  INFO tunnel{id="01924d8f-6606-7103-a606-49d96969120e" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:16.671723Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:16.671737Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:16.671803Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:16.671810Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:16.671884Z DEBUG tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "KN/FE+D1hyOVeQLn9JPEHw==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTY3MTMtNzI5MC1hNjI5LTJiZjM3YTJhYmRkZSIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.5dI4OdItM9ogRBkKtUUopoI1ac4ef6H-ugf7euVcyj8"}, body: Empty }    
2024-10-02T14:08:16.677455Z DEBUG tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "4QkR/0LSi6DfS0q5Evs7MR0RlBE=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:16 GMT"} }
2024-10-02T14:08:16.677468Z  INFO tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:16.677519Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:16.677551Z DEBUG tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:16.928828Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:16.928986Z DEBUG tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:16.929034Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:16.929069Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:16 +0000] "GET /my11.css HTTP/1.1" 200 22416
                                                                              2024-10-02T14:08:16.934754Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:16.934766Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:16.934796Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:16.940526Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:16.940536Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:16.940604Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:16.940610Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:16.940688Z DEBUG tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "O49VZ0qXCZr40f+5iC69BQ==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTY4MjEtN2I5MC1iY2IyLWQ0OWI2NDVkOTVlZSIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.JdmC5ijnE957HJP05QpI_pNuj-ydrHydCGkOAw4leA4"}, body: Empty }    
2024-10-02T14:08:16.941106Z ERROR tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:16.941126Z  INFO tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:16.941158Z  INFO tunnel{id="01924d8f-6713-7290-a629-2bf37a2abdde" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:16.946223Z DEBUG tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "sUSZBYYg2I+sipQbRPInkCX1gQ8=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:16 GMT"} }
2024-10-02T14:08:16.946243Z  INFO tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:16.946302Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:16.946339Z DEBUG tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:17.197599Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:17.197711Z DEBUG tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:17.197763Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:17.197786Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:17 +0000] "GET /my28.css HTTP/1.1" 200 37062
                                                                              2024-10-02T14:08:17.203701Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:17.203717Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:17.203747Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:17.209864Z ERROR tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:17.209898Z  INFO tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:17.209941Z  INFO tunnel{id="01924d8f-6821-7b90-bcb2-d49b645d95ee" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel
2024-10-02T14:08:17.210353Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:17.210365Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:17.210440Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:17.210447Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:17.210520Z DEBUG tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "nWS6hh9YCHBLSHwD+g83QQ==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTY5MmQtNzkzMy1iZWQ3LTJiYmZhZTA2ZjNmNiIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.WENAFXF7j4uR_TokGl2BboX6tPTJXJ0wZZNKShPa6OA"}, body: Empty }    
2024-10-02T14:08:17.216162Z DEBUG tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::tunnel::client::client: Server response: Parts { status: 101, version: HTTP/1.1, headers: {"connection": "upgrade", "upgrade": "websocket", "sec-websocket-accept": "jQqY98/S92UqN32gwqUbECJVY/8=", "sec-websocket-protocol": "v1", "date": "Wed, 02 Oct 2024 14:08:16 GMT"} }
2024-10-02T14:08:17.216177Z  INFO tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Opening TCP connection to localhost:49999    
2024-10-02T14:08:17.216229Z DEBUG wstunnel::protocols::tcp::server: Connecting to [::1]:49999
2024-10-02T14:08:17.216254Z DEBUG tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Cannot connect to tcp endpoint [::1]:49999 reason Cannot assign requested address (os error 99)
2024-10-02T14:08:17.467515Z DEBUG wstunnel::protocols::tcp::server: Connecting to 127.0.0.1:49999
2024-10-02T14:08:17.467662Z DEBUG tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::protocols::tcp::server: Connected to tcp endpoint 127.0.0.1:49999, aborted all other connection attempts
2024-10-02T14:08:17.467706Z  INFO wstunnel::protocols::tcp::server: Opening TCP connection to 172.187.165.148:40000    
2024-10-02T14:08:17.467739Z DEBUG wstunnel::protocols::tcp::server: Connecting to 172.187.165.148:40000
172.17.0.1 - - [02/Oct/2024:14:08:17 +0000] "GET /my19.css HTTP/1.1" 200 21613
                                                                              2024-10-02T14:08:17.473676Z DEBUG wstunnel::protocols::tcp::server: Connected to tcp endpoint 172.187.165.148:40000, aborted all other connection attempts
2024-10-02T14:08:17.473690Z  INFO wstunnel::protocols::tls::server: Doing TLS handshake using SNI IpAddress(V4(Ipv4Addr([172, 187, 165, 148]))) with the server 172.187.165.148:40000
2024-10-02T14:08:17.473733Z DEBUG rustls::client::hs: Resuming session    
2024-10-02T14:08:17.479552Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384    
2024-10-02T14:08:17.479573Z DEBUG rustls::client::tls13: Resuming using PSK    
2024-10-02T14:08:17.479654Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [Protocols([ProtocolName(687474702f312e31)])]    
2024-10-02T14:08:17.479663Z DEBUG rustls::client::hs: ALPN protocol is Some(b"http/1.1")    
2024-10-02T14:08:17.479758Z DEBUG tunnel{id="01924d8f-6a3b-7093-bf81-9b0230e0fddd" remote="[::]:50000"}: wstunnel::tunnel::transport::websocket: with HTTP upgrade request Request { method: GET, uri: /v1/events, version: HTTP/1.1, headers: {"host": "172.187.165.148:40000", "upgrade": "websocket", "connection": "upgrade", "sec-websocket-key": "jk06cVYHhzbWroDE3mCglQ==", "sec-websocket-version": "13", "sec-websocket-protocol": "v1, authorization.bearer.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjAxOTI0ZDhmLTZhM2ItNzA5My1iZjgxLTliMDIzMGUwZmRkZCIsInAiOiJSZXZlcnNlVGNwIiwiciI6Ils6Ol0iLCJycCI6NTAwMDB9.I_wfJwN3c8JB-130d4_pG5Hk0aeZGhIxq-JaWOZbc6U"}, body: Empty }    
2024-10-02T14:08:17.482040Z ERROR tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::tunnel::transport::io: error while reading from tunnel rx websocket close
2024-10-02T14:08:17.482062Z  INFO tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local <= remote tunnel
2024-10-02T14:08:17.482104Z  INFO tunnel{id="01924d8f-692d-7933-bed7-2bbfae06f3f6" remote="[::]:50000"}: wstunnel::tunnel::transport::io: Closing local => remote tunnel```

@erebe
Copy link
Owner

erebe commented Oct 2, 2024

Hello,

I haven't look into the details your report. But if the only remaining issue is the connection try on IPv6. You can disable it with the option. With it wstunnel will try using IPv4 only

      --dns-resolver-prefer-ipv4
          Enable if you prefer the dns resolver to prioritize IPv4 over IPv6
          This is useful if you have a broken IPv6 connection, and want to avoid the delay of trying to connect to IPv6
          If you don't have any IPv6 this does not change anything.

          [env: WSTUNNEL_DNS_PREFER_IPV4=]

P.s: Will check more in depth your report later.

@JamesTGrant
Copy link

You sir are a gem! That worked perfectly. Longest now takes... 0.5secs. Was 8.1sec. Thank you very, very much!

@erebe
Copy link
Owner

erebe commented Oct 2, 2024

Perfect then ;)

I made a proper release https://github.com/erebe/wstunnel/releases/tag/v10.1.3 with the changes.
Thank you again for the investigation and detailed report, it really make a difference !

P.s: If you happen to run a business out of wstunnel, feel free to sponsor a coffee 💌

@erebe erebe closed this as completed Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants