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")