You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-3
Original file line number
Diff line number
Diff line change
@@ -7,14 +7,16 @@ It is intended to be used to make it easier for non-tech-savvy people to host we
7
7
8
8
This repository only includes the application that does the tunneling part. It does not include any other management or automation tools.
9
9
10
+
See the usage example folder for a basic test.
11
+
10
12

11
13
12
14
### How it is intended to be used:
13
15
14
16
1. An automated tool creates a cloud instance and installs and configures the tunnel server on it.
15
-
1. An automated tool installs the tunnel client on the self-hoster's server computer.
16
-
1. The tunnel client connects to the tunnel server on the Tunnel Control Port. This connection will use TLS Client Authentication. This connection will be held open and re-created if dropped.
17
+
1. An automated tool installs the tunnel client on the self-hoster's server computer.
17
18
1. An automated tool calls the `PUT /tunnels` api on the tunnel server's Management Port, and sends a JSON file describing which ports should be opened on the tunnel server, which client they should be tunneled to, and which ports on the client they should be tunneled to, as well as whether or not the HAProxy "PROXY" protocol should be used. This connection will also use TLS Client Authentication.
19
+
1. The tunnel client connects to the tunnel server on the Tunnel Control Port. This connection will use TLS Client Authentication. This connection will be held open and re-created if dropped.
18
20
1. An internet user connects to the tunnel server on one of the ports defined in the JSON. The internet user's request is tunneled through the original connection from the tunnel client, and then proxied to the web server software running on the self-hoster's server computer.
19
21
20
22
### Why did you set it up this way?
@@ -31,4 +33,8 @@ I have a few requirements for this system.
31
33
1. Simplicity and Laser-like focus on "opaque" usage of TCP/TLS. Removed HTTP/WebSocket/Virtual Hosts code.
32
34
1. Added support for HAProxy "PROXY" protocol.
33
35
1. Added support for Port mappings between front end and back end.
34
-
1. Fixed various bugs related to connection lifecycle.
36
+
1. Fixed various bugs related to connection lifecycle.
37
+
38
+
### Issues
39
+
40
+
Unfortunately right now the tunnels config has to put set 1st before the client can connect. I'll probably fix this later.
0 commit comments