pithos/sia-share/deploy
Local Dev 24709d582d Pithos: public links at navigate.st/sia for files in your own Sia account
A share link from s3d only opened where s3d is reachable, which on a
default setup is this computer. Pithos now makes a Sia shared-object URL
for the file the way the Sia SDK does (the indexer's sealed object, its
data key opened with a key derived from s3d's app key) and registers it
at navigate.st, which streams the file from Sia hosts for anyone, with
seeking, even with this computer off. A shared-object URL reads that one
object and nothing else in the account. Files still waiting on this
computer are uploaded first. A folder gets a page with its files and a
player. Settings lists the links, each one can be switched off.

sia-share is the navigate.st side, in Go on the Sia SDK: it keeps short
ids, checks every URL against an allowed indexer, serves files sandboxed
so a shared page cannot run script on navigate.st, and caps sign-ups per
address and downloads per link per day. Host reads are paid by its own
app on Silent Mode's indexer account.
2026-10-04 16:45:07 +02:00
..
README.md Pithos: public links at navigate.st/sia for files in your own Sia account 2026-10-04 16:45:07 +02:00
sia-share.example.json Pithos: public links at navigate.st/sia for files in your own Sia account 2026-10-04 16:45:07 +02:00
sia-share.service Pithos: public links at navigate.st/sia for files in your own Sia account 2026-10-04 16:45:07 +02:00

sia-share deployment

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags "-s -w" -o sia-share .
install -m 0755 sia-share /usr/local/bin/sia-share
useradd --system --home /var/lib/sia-share --shell /usr/sbin/nologin siashare
install -d -o siashare -g siashare -m 700 /var/lib/sia-share
cp deploy/sia-share.example.json /etc/sia-share.json
runuser -u siashare -- sia-share register --data /var/lib/sia-share   # approve the printed link once
cp deploy/sia-share.service /etc/systemd/system/ && systemctl enable --now sia-share

The web server sends navigate.st/sia/ and navigate.st/api/sia/ to 127.0.0.1:8730 (stream bodies, no buffering). links.json in the data folder holds every link; back it up with app.key.