39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
![The PTTH logo, a green box sitting on a black conveyor belt. The box has an arrow pointing left, and the text "PTTH", in white. The conveyor belt has an arrow pointing right, in white.](assets/logo-128-pixel.png)
|
|
|
|
TODO: "Splitting a server in half" diagram
|
|
|
|
# PTTH
|
|
|
|
PTTH lets you run file servers from behind NAT / firewalls.
|
|
|
|
```
|
|
HTTP clients ptth_server instances
|
|
|
|
Firefox ---> | | <--- Server 1
|
|
Chromium --> | | <--- Server 2
|
|
Wget ------> | ptth_relay | <--- Server 3
|
|
Curl ------> | | <--- Server 4
|
|
Reqwest ---> | | <--- Server 5
|
|
```
|
|
|
|
# Setup
|
|
|
|
Pick a relay computer and a server computer.
|
|
|
|
The relay must be able to accept incoming HTTP connections. If the relay
|
|
will be exposed to the Internet, you should use Nginx, Caddy, or Apache as a
|
|
reverse proxy to terminate TLS in front of ptth_relay. Relays on the Internet
|
|
will typically have a domain name so that clients and servers can find them.
|
|
|
|
The server must have read access to the files you want to serve, and it must
|
|
be able to make outgoing HTTP(S) connections to the relay. The server
|
|
does not need a static IP, since it won't accept any incoming HTTP connections.
|
|
|
|
Begin installing PTTH. Run `cargo install ptth_relay` on the relay and
|
|
`cargo install ptth_server` on the server. ptth_server is manually tested on
|
|
Windows and Linux. ptth_relay is manually tested on Linux only.
|
|
|
|
- Run ptth_relay on cloud host
|
|
- Configure ptth_server for relay, with auto keygen
|
|
- Add tripcode to relay config
|