CloudDrive: din egen filsky, med én kommando
Et selvhostet alternativ til Google Drive eller Nextcloud. Den kjører som én Go-binærfil med et React-grensesnitt, lagrer filene som vanlige filer på disk, og startes med én docker run-kommando og en oppsettsveiviser. Bygget med sikkerhet som utgangspunkt, og åpen kildekode under AGPL-lisensen.
- Status
- I drift på vår egen server; ferdigbygd Docker-image
- Lagring
- Vanlige filer på disk, ingen database
- Teknologi
- Go, React, TypeScript, Docker
- Kildekode
- Åpen kildekode på GitHub
Hva den gjør
En komplett filbehandler
Bla i liste eller rutenett, dra og slipp opplastinger som gjenopptas for store filer, pakk og pakk ut zip-filer, hent tilbake fra papirkurven, og søk på navn, stikkord eller innhold.
Forhåndsvisning og versjonshistorikk
Forhåndsvisning av bilder, video, lyd, PDF og tekst, med mellomlagrede miniatyrbilder. Når en fil overskrives, tas forrige versjon vare på og kan gjenopprettes med ett klikk.
Deling med grenser
Offentlige lenker, passordbeskyttede lenker og mottaksmapper der andre bare kan laste opp, alle med utløpsdato.
Laget for flere brukere
Hver bruker får sin egen hjemmemappe, med roller for admin og bruker, lagringskvoter og private mapper. Brukerne ser sine aktive økter og kan logge ut hver enkelt enhet.
Innebygd sikkerhet
Passord hashet med bcrypt, valgfri tofaktor-innlogging med TOTP, CSRF-beskyttelse, rate limits som ikke kan omgås med forfalskede proxy-headere, og en revisjonslogg over hvem som gjorde hva.
Passer inn i oppsettet ditt
Valgfri WebDAV for å koble til disken som nettverksstasjon, markering av mapper som ditt eget backupverktøy, for eksempel restic, kan hente, mørkt tema og en app du kan installere på mobil eller PC.
Aktuelt hvis du ser etter…
CloudDrive er gratis og har åpen kildekode på GitHub, og den dekker disse behovene.
- Et alternativ til Google Drive: hver bruker får sin egen hjemmemappe med forhåndsvisning, versjonshistorikk, søk og papirkurv, og med WebDAV kan du koble den til som nettverksstasjon.
- Et alternativ til Nextcloud med få bevegelige deler: CloudDrive er én Go-binærfil med React-grensesnittet bygget inn, og den trenger ingen database fordi filene ligger som vanlige filer på disk.
- Fildeling på egen server: del med offentlige lenker, passordbeskyttede lenker eller mottaksmapper der andre bare kan laste opp, alle med utløpsdato.
- Skylagring med åpen kildekode: CloudDrive er gratis under AGPL-3.0-lisensen, med koden på github.com/Defcons/clouddrive og et ferdigbygd Docker-image for amd64 og arm64.
Vi bygger dette for kunder: Skreddersydd programvare og interne verktøy
Slik fungerer den
- 01
Start
Én docker run-kommando, eller en kort Compose-fil.
- 02
Sett opp
Opprett admin-kontoen i veiviseren ved første oppstart. Ingen konfigurasjonsfil eller hemmelig nøkkel å skrive.
- 03
Beskytt
Sett den bak din egen reverse proxy med HTTPS.
- 04
Bruk
Legg til brukere, del filer, og la backupverktøyet hente de markerte mappene.
Slik er den bygget
CloudDrive er én Go-binærfil som leverer både API-et og React-grensesnittet, som er bygget inn i den. Det finnes ingen database: filene er vanlige filer på disk, og brukere, økter og innstillinger lagres som JSON-filer som skrives atomisk, slik at et krasj aldri etterlater en halvskrevet fil, og en skadet fil tas vare på for gjenoppretting. En arbeidsflyt i GitHub Actions publiserer et image for amd64 og arm64 og ruller det ut ved hver push til hovedgrenen.
Sikkerheten er gått gjennom i seks revisjonsrunder. Den femte, en ny gjennomgang av kode som allerede var herdet fire ganger, fant likevel to alvorlige feil, en skriving utenfor tillatt mappe og en bildefil som kunne sprenge minnet, og begge ble rettet. Alle filoperasjoner går gjennom de samme stikontrollene, som holder brukerne innenfor sin egen hjemmemappe og stenger tilgangen til appens interne filer, og alt arbeid som styres av en forespørsel, fra opplasting til bildedekoding, har en størrelsesgrense.
Ingeniørarbeidet
- Ingen konfigurasjon ved første oppstart: signeringsnøkkelen lages og lagres automatisk
- Økttokens er merket med type, så en halvferdig tofaktor-innlogging kan aldri brukes som en økt
- Containeren kjører uten root, med alle Linux-rettigheter fjernet
- CI-handlinger låst til eksakte commit-hasher
- Docker-image for både amd64 og arm64
- AGPL-3.0: den som kjører en endret versjon som tjeneste, må dele endringene
Spørsmål
Hva trenger jeg for å kjøre CloudDrive?
Docker på en maskin med amd64 eller arm64, og din egen reverse proxy med HTTPS foran. Du starter den med én docker run-kommando eller en kort Compose-fil, og veiviseren ved første oppstart oppretter admin-kontoen uten konfigurasjonsfil eller hemmelig nøkkel.
Hvor sikker er CloudDrive?
Den er gått gjennom i seks sikkerhetsrevisjoner, og den femte fant likevel to alvorlige feil, som begge ble rettet. Passord hashes med bcrypt, tofaktor-innlogging med TOTP er valgfritt, og en revisjonslogg viser hvem som gjorde hva.
Kan dere lage en privat skyløsning for bedriften vår?
Ja. Vi bygger systemer for bedrifter på samme måte, raske å installere, med få bevegelige deler og sikkerhet som er testet runde etter runde, og vi kan rulle dem ut på deres servere eller våre.
Vil du ha noe lignende?
CloudDrive viser hvordan vi bygger selvhostede systemer: raske å installere, med få bevegelige deler, og med sikkerhet som er testet runde etter runde.
Ta kontakt