ptth/readme_draft.md

1.5 KiB

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.

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