diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -0,0 +1,35 @@ +pipkin is an S3 HTTP gateway, designed to support the hosting of static websites +from S3 platforms which do not natively provide first-class support for custom +HTTP/TLS termination (e.g. Backblaze B2), and support the use of less-popular +(or even self-managed) content delivery networks. + +pipkin transparently pipes responses received from S3 directly to clients; it +consumes ~15MB of RAM and supports concurrent downloads of over 10Gbit/s, and +has no dependencies. + +pipkin maps host headers to unique buckets/paths, so it's possible to host +multiple websites from a single bucket. client requests and S3 responses are +filtered against sets of authorized headers. webserver-style indexes and +directory listings are supported. HTTP sockets are re-used between requests. + +to improve performance and reduce redundant API transactions/financial DoS, it's +recommended to host pipkin behind a caching proxy (e.g. NGINX) and refresh stale +caches in the background between requests: + +location / { + proxy_pass http://127.0.0.1:8085; + proxy_cache proxycache; + proxy_cache_revalidate on; + proxy_cache_background_update on; + proxy_cache_lock on; + proxy_cache_lock_timeout 1s; + proxy_cache_use_stale updating error timeout http_404 http_500; + proxy_cache_valid 200 302 10m; + proxy_cache_valid 404 1m; +} + +Usage of ./pipkin: + -conf string + path to JSON config (default "pipkin.json") + -templates string + path to template directory (default "./templates") |