pithos/hosted/deploy/nginx-s3.silentmode.st.conf
Local Dev d00bd369b7 Pithos: run your drives on Silent Mode with your own Sia account
s3d binds one Sia account per process, so the server runs one s3d per
person (pithos-hosted), started on demand and flushed and stopped when idle.
Only the connected s3d data folder moves between PC and server; the Sia
recovery phrase never leaves the PC and nothing is re-uploaded to Sia.

Because the server holds the connection key, local Pithos encrypts names and
contents before they leave the machine, with keys from the Theseus vault (or
a local key file elsewhere). What s3d cannot do on its own, the gateway now
enforces: public folders, expiring share links and S3 keys for other people
limited to one folder with read, add-only or edit rights. Files those reach
are stored readable, since visitors have no key, and go back to encrypted
when the rule is removed. Sign-up needs a BNS name signature, a deposit or
an invite, with a per-IP limit.
2026-10-04 01:33:20 +02:00

31 lines
922 B
Text

# s3.silentmode.st -> pithos-hosted. Bodies stream straight through: uploads
# can be gigabytes, and SigV4 signs the exact bytes and headers.
server {
listen 443 ssl;
http2 on;
server_name s3.silentmode.st;
ssl_certificate /etc/letsencrypt/live/s3.silentmode.st/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/s3.silentmode.st/privkey.pem;
client_max_body_size 5g;
proxy_request_buffering off;
proxy_buffering off;
proxy_read_timeout 1h;
proxy_send_timeout 1h;
location / {
proxy_pass http://127.0.0.1:8720;
proxy_http_version 1.1;
# s3d checks the signature against the Host the client signed.
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Connection "";
}
}
server {
listen 80;
server_name s3.silentmode.st;
return 301 https://$host$request_uri;
}