Merge the two binaries (client and server) into a single one #1

Merged
pierre merged 2 commits from merge-binaries into master 2022-09-01 08:16:47 +00:00
Showing only changes of commit 7c64003b13 - Show all commits

View File

@ -10,20 +10,24 @@ This project aims to provide an easy-to-setup TCP forwarding solution:
``` ```
This project can be used especially to bypass firewalls that blocks traffics This project can be used especially to bypass firewalls that blocks traffics
from ports others than the HTTP / HTTPS ports. from ports others than the HTTP / HTTPS ports. The TCP traffic is encapsulated inside an
HTTP WebSocket between the client and the server relays.
## Authentication ## Authentication
The client can authenticate agains the server relays through two different means: The client can authenticate against the server relays through two different means:
* Using a token * Using a token (the server relay can have several tokens at the same time)
* Using a client TLS certificate. In this case, the server relay must act as a HTTPS server, and you must provide the * Using a client TLS certificate. In this case, the server relay must act as a HTTPS server, and you must provide the
server the required certificates / key files in PEM format. It is also possible to provide the server a CRL file. server the required certificates / key files in PEM format. It is also possible to provide the server a CRL file.
## Binaries ## Binary
This repository contains two binaries: This repository contains a single binary which can be used as a server or a client, depending of command line arguments:
* `tpc_relay_server`: The server relay. In case of token authentication, it can be put behind a reverse proxy. * Server mode: Act as a server relay. In case of token authentication (NOT TLS authentication), it can be put behind a reverse proxy.
* `tcp_relay_client`: The client relay * Client mode: Act as a client relay. It basically does three things:
* Fetch the list of forwared ports configuration from the server
* Listen to these port locally
* When a connection occurs on one of these ports, it forward the data exchanged by the socket to and from the server.
A single server - client relay pair can relay multiple ports simultaneously from the same machine. A single server - client relay pair can relay multiple ports simultaneously from the same machine.