S4 Logo

S3 compatible storage, accessed through TOR, distributed over IPFS.

const fs = require('fs');
const aws = require('aws-sdk');

const s4 = new aws.S3({
    endpoint: 'http://s4-client',
    accessKeyId: 'AKIAIOSFODNN7EXAMPLE',
    secretAccessKey: 'OoS16VhoWYbSbcv0',
});

// Upload file to the S4 bucket
s4.putObject({
    Bucket: 'my-bucket',
    Key: 'image.png',
    Body: fs.readFileSync('image.png'),
}, (err, response) => {
    console.log('image.png uploaded');
});

Architecture

S4 Architecture

Tor

Tor does not just provide anonymity, Tor acts as a DNS. An S4 server uses Tor hidden services, this allows you to create a free .onion domain name for your buckets without using 3rd-parties. A sidecar docker container is provided to seamlessly proxy requests from your existing S3 code over Tor to S4.

Tor Logo

IPFS

IPFS acts as a CDN. Each S4 bucket is published to IPFS under a separate key allowing you to address your files using any existing IPFS HTTP gateway like this https://ipfs.io/ipns/Qmxxxxxx/image.png.

IPFS Logo

S4: Getting Started Tutorial

"In this video I do a full deep dive into S4. I explain the architecture, how to set-up your own local server and how to read data from your buckets over IPFS."

Anthony C. Budd

Deploy a Node

Want to try S4? Deploy an S4 node on Ideea for EBS comparible pricing.

500GB

$ 50
Per Month
  •  icon=
    500GB S4 Node
  •  icon=
    1GBps Bandwidth
  •  icon=
    Non-virtualized
  •  icon=
    Isolated Hardware
Deploy
Best Value

2TB

$ 180
Per Month
  •  icon=
    2TB S4 Node
  •  icon=
    1GBps Bandwidth
  •  icon=
    Non-virtualized
  •  icon=
    Isolated Hardware
Deploy

1TB

$ 100
Per Month
  •  icon=
    1TB S4 Node
  •  icon=
    1GBps Bandwidth
  •  icon=
    Non-virtualized
  •  icon=
    Isolated Hardware
Deploy