📝 working on draft readme
parent
1abf1d194c
commit
9e8e44eae0
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue