From 9e8e44eae07fe481055d04f23d5ee21fd66551bb Mon Sep 17 00:00:00 2001 From: _ <_@_> Date: Sun, 3 Oct 2021 15:53:38 -0500 Subject: [PATCH] :pencil: working on draft readme --- readme_draft.md | 56 ++++++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/readme_draft.md b/readme_draft.md index 5a0bee0..5321a76 100644 --- a/readme_draft.md +++ b/readme_draft.md @@ -2,35 +2,43 @@ # PTTH -PTTH lets you run file servers from behind NAT / firewalls. +PTTH is a web server. + +A web server has: + +1. A public host +2. Files to serve + +**With PTTH, the files can live outside of the public host.** + +If you want to host 1 TB of files, normally you'd put them on the +cloud server: ``` -HTTP clients ptth_server instances - -Firefox ---> | | <--- Server 1 -Chromium --> | | <--- Server 2 -Wget ------> | ptth_relay | <--- Server 3 -Curl ------> | | <--- Server 4 -Reqwest ---> | | <--- Server 5 +Cloud + HTTP server ----> 1 TB of files + ^ +Not cloud | + HTTP client ``` -# Setup +But uploading 1 TB to the cloud is expensive and slow, even if +you're sending it to S3-like blob storage. -Pick a relay computer and a server computer. +With PTTH, the files can live outside of the cloud: -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. +``` +Cloud + +-----> ptth_relay <------+ + | | +Not cloud | | + HTTP client ptth_server + 1 TB of files +``` -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. +The PTTH server lives where the files live. +The cloud host runs a relay which streams files from the end +server as the client demands. -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 +For home users, this can save you money - The relay server +doesn't need to store any of your files.