tcp-over-http/README.MD

30 lines
1.3 KiB
Plaintext
Raw Normal View History

2022-08-30 13:26:23 +00:00
# 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 | | |
2022-08-31 13:42:58 +00:00
|--------| |--------| |--------| |--------|
2022-08-30 13:26:23 +00:00
```
This project can be used especially to bypass firewalls that blocks traffics
2022-08-31 13:42:58 +00:00
from ports others than the HTTP / HTTPS ports.
2022-08-30 13:26:23 +00:00
2022-08-31 13:42:58 +00:00
## 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
2022-08-30 13:26:23 +00:00
This repository contains two binaries:
2022-08-31 13:42:58 +00:00
* `tpc_relay_server`: The server relay. In case of token authentication, it can be put behind a reverse proxy.
2022-08-30 13:26:23 +00:00
* `tcp_relay_client`: The client relay
A single server - client relay pair can relay multiple ports simultaneously from the same machine.