Add module diagram

main
_ 2020-11-08 02:36:27 +00:00
parent 27b877e80e
commit 70522f851a
1 changed files with 29 additions and 0 deletions

View File

@ -150,6 +150,35 @@ WireGuard can also pierce firewalls, but it requires root permissions,
and the client must be a WireGuard node. PTTH allows any normal HTTP client
such as curl, Firefox, etc.
## Module overview
```
+------------+ +-------------+ +------------------+
| ptth_relay | | ptth_server | | ptth_file_server |
+------------+ +-------------+ +------------------+
| | | |
\ / \ /
V V V V
+------------+ +-------------+
| http_serde | | file_server |
+------------+ +-------------+
```
The top-level binaries are ptth_relay, ptth_server, and ptth_file_server.
ptth_relay should run on a well-known public server, behind an HTTPS proxy
such as Caddy, Nginx, or Apache.
ptth_file_server is a standalone HTTP file server, similar to Python2's
`-m SimpleHTTPServer` command, or Python3's `-m http.server`.
ptth_server and ptth_file_server use the `file_server` module. ptth_server
will connect out to a ptth_relay instance and serve files through the reverse
HTTP tunnel.
The http_serde module is shared by ptth_relay and ptth_server so that they
can communicate with each other easily.
## Why are GitHub issues disabled?
Because they are not part of Git.