tcp-over-http/README.MD
2022-08-31 15:42:58 +02:00

30 lines
1.3 KiB
Markdown

# TCP over HTTP
This project aims to provide an easy-to-setup TCP forwarding solution:
```
|--------| |--------| |--------| | -------|
| | | Client | | Server | | |
| Client | -- TCP xx -- | | -- HTTP 80 / 443 -- | | -- TCP xx -- | Server |
| | | Relay | | Relay | | |
|--------| |--------| |--------| |--------|
```
This project can be used especially to bypass firewalls that blocks traffics
from ports others than the HTTP / HTTPS ports.
## Authentication
The client can authenticate agains the server relays through two different means:
* Using a token
* 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.
## Binaries
This repository contains two binaries:
* `tpc_relay_server`: The server relay. In case of token authentication, it can be put behind a reverse proxy.
* `tcp_relay_client`: The client relay
A single server - client relay pair can relay multiple ports simultaneously from the same machine.