Self-hosted · Multi-tenant · Enterprise grade

Archiviazione file,
senza complessità.

API REST + SDK TypeScript per upload, URL firmati, scansione antivirus, varianti immagini e webhook. Multi-tenant out of the box.

my-app/upload.ts
import { FileHubClient } from "@mischio95/file-hub-sdk";

const client = new FileHubClient({
  baseUrl: "https://api.filehub.foreachsoftware.it",
  apiKey: process.env.FILE_HUB_API_KEY!,
});

const upload = await client.upload.single({
  file,
  bucketSlug: "st-media",
  visibility: "PUBLIC",
});

const signed = await client.signedUrl.generate({
  fileId: upload.data.id,
  expiryMinutes: 60,
});

Multi-tenant

Ogni utente vede solo i propri bucket, file e API key. Isolamento basato su ownerId, applicato lato server.

Log audit + webhook

Ogni mutazione viene registrata. Sottoscrivi gli eventi con payload webhook firmati HMAC.

Scansione antivirus

ClamAV scansiona ogni upload prima dell'archiviazione. Quarantena al rilevamento.

URL firmati

URL firmati HMAC con scadenza per file privati. Distribuzione CDN senza intervento.

Varianti immagini

Genera automaticamente thumbnail e varianti small/medium/large. Sharp + WebP.

SDK TypeScript

@mischio95/file-hub-sdk ti dà un client completamente tipizzato per ogni endpoint.

Endpoint REST

Schema completo su /docs. API key Bearer su ogni richiesta.

POST/api/v1/upload
POST/api/v1/batch-upload
GET/api/v1/files
GET/api/v1/files/:id
GET/api/v1/files/:id/download
GET/api/v1/files/:id/serve
POST/api/v1/signed-url
GET/api/v1/buckets
POST/api/v1/buckets
GET/api/v1/api-keys
POST/api/v1/webhooks
GET/api/v1/audit-log