--- title: Projekti nav: Project output: index.html description: Varsto: päästä päähän salattu tiedostojen synkronointi ja varmuuskopiointi tallennuspaikkoihin, jotka sinulla jo on. Alfa, työnimi. ---
Varsto on päästä päähän salattu synkronointi- ja varmuuskopiointisovellus, joka käyttää omia laitteitasi ja valitsemiasi tallennuspalveluja. Levy, NAS-jako, S3-ämpäri tai mikä tahansa rclone-etäkohde: sovellus salaa kaiken laitteillasi, pitää allekirjoitettua kirjaa siitä, missä kukin lohko on, ja pitää synkronissa myös laitteet, jotka eivät ole koskaan verkossa yhtä aikaa, tuon tallennuspaikan kautta.
Lataa alfa Pika-aloitus Lähdekoodi GitHubissa

Tiedostot pilkotaan sisällön mukaan määräytyviin paloihin, ja jokainen pala salataan XChaCha20-Poly1305:llä holvistasi johdetuilla avaimilla. Tallennuspaikka näkee vain läpinäkymättömiä objekteja ja kokoja, ei koskaan nimiä, tiivisteitä tai sisältöä. Näin kaikki toimii.
Mikä tahansa hakemisto, johon tämä laite ylettyy, mikä tahansa S3-yhteensopiva ämpäri (AWS, Scaleway, Hetzner, B2, R2, MinIO) omilla avaimillasi tai mikä tahansa rclone-etäkohde. Kylmätallennuksiin ja arkistoluokkiin kirjoitetaan, mutta niistä ei koskaan lueta ilman vahvistustasi.
Jokainen laite pitää allekirjoitettua, salattua kirjanpitoa ja julkaisee sen tallennuspaikan kautta. Muokkaukset, poistot ja ristiriidat ratkeavat deterministisesti; samanaikaisista muokkauksista säilyvät molemmat versiot, ja poistetut menevät roskakoriin.
Taustapalvelu käynnistyy kirjautuessa, valvoo kansioita ja synkronoi sekunneissa ilman nappien painelua; käyttöliittymä avautuu selaimeesi (macOS:ssä omaan ikkunaansa), ja sitä tarjoillaan vain tälle tietokoneelle. Päivitykset tarkistetaan automaattisesti ja tarjotaan, kun uudempi versio on saatavilla.
Paikkamerkit, kunnes haet tiedoston; USB-tikku, joka kuljettaa vain sen, mitä toiselta laitteelta puuttuu; ystävän NAS, joka säilyttää kopiosi pystymättä avaamaan niitä; kansio, joka jaetaan toiselle käyttäjälle tämän avaimella. Katso Ominaisuudet, Käyttötapaukset ja Kuvakaappaukset.
Jokainen kirjanpidon erä allekirjoitetaan sekä Ed25519:llä että ML-DSA-65:llä, ja molempien on täsmättävä. Jakotunniste sinetöidään vastaanottajan X25519 + ML-KEM-768 -avaimelle, joten sen voi lähettää mitä tahansa kanavaa pitkin. Vanhat pelkällä Ed25519:llä allekirjoitetut erät pysyvät kelvollisina niissä olevan algoritmitunnisteen ansiosta.
MCP-palvelimen kautta valitsemasi tekoälyavustaja voi lukea, analysoida ja järjestellä tiedostoja täsmälleen niissä kansioissa, joihin annat luvan, ja vain lukuoikeuksin, ellet toisin määrää. Varsto itse seuraa, milloin tiedostoja on viimeksi käytetty, ja ehdottaa, missä käyttämätöntä dataa on edullisinta säilyttää.
”Kaksi kopiota pilvessä ja yksi kotona, tarkistettu 30 päivän sisällä.” Jokainen laite tarkistaa tämän kirjanpidosta ja varoittaa sovelluksessa ja ilmoituksella ennen kuin ehto lakkaa täyttymästä.
Laitteesi vaihtavat salattuja lohkoja suoraan keskenään torrentin tapaan: lähiverkossa automaattisesti, internetin yli NATin läpi reiänlyönnillä (hole punching) ja jonkin oman tavoitettavan laitteesi kautta, kun reiänlyönti ei onnistu. Ei seurantapalvelimia, ei toimittajan välittäjää. Lohkot pakataan ennen salausta, joten jokainen kopio ja siirto on pieni. NATin takana olevassa kodissa suuret tiedostot saapuivat vertaisilta 8–9 MB/s nopeudella 100 Mbit/s liittymässä, jopa 1,8 kertaa nopeammin kuin ämpäristä: Suorituskykymittaukset.
Kansio, jonka avain on olemassa vain silloin, kun kosketat FIDO2-suojausavaintasi. Kryptografinen, ei pelkkä valintaikkuna: salalause, holviavain tai varastettu kannettava ei avaa sitä.
Kytke levy telakkaan, lisää se levyvarastoon, ja se täyttyy sillä, mitä varastosta puuttuu, varaukseensa asti. Irrota, kun käsketään, ja säilytä missä tahansa; kun levy palaa, se tunnistetaan merkintätiedostostaan, tarkistetaan ja täydennetään. Tiedosto, jonka ainoa kopio on poissa olevalla levyllä, kertoo sen: ”liitä levy data-01 (hylly)”.
Ylläpitäjät hyväksyvät laitteita nimetyille henkilöille, poistavat henkilön kaikkine laitteineen yhdellä toimenpiteellä, määrittävät, mitä jäsenet saavat tehdä, ja pitävät tästä allekirjoitettua, ketjutettua lokia. Paperilla oleva juuriavain nimittää ylläpitäjät. Holvi ilman organisaatiota ei näe tästä mitään. Lisää.
varsto fsck --verify vertaa kirjanpitoa siihen, mitä tallennuspaikassa todella on, ja laskee jokaisen objektin tiivisteen uudelleen. Vanhasta varmuuskopiosta palautettu laite havaitaan ja eristetään.
Seuraavaksi vuorossa on iOS-versio oikeilla laitteilla. NAT-läpäisy on rakennettu, mutta sitä on testattu vain localhostissa ja ylläpitäjän omissa verkoissa; holvilla, jonka kaikki laitteet ovat NATin takana, ei vieläkään ole reittiä internetin yli.
Varsto on kirjoitettu Rustilla. Lisäksi siinä on Swift- ja Kotlin-kuoret ja tavallinen web-käyttöliittymä. Lähdekoodi ja tallennusmuodon määrittely ovat julkisia. Apu on tervetullutta tietoturvakatselmoinnissa, alustatyössä, verkko- ja tallennustestauksessa, paketoinnissa ja käännöksissä: näin osallistut.
Tarkista lataus: tarkistussummalista on allekirjoitettu Varston julkaisuavaimella (katso ”Verify your download” yllä): varsto verify-release <file> --github tai minisign ja sha256sum -c SHA256SUMS --ignore-missing. varsto update tarkistaa allekirjoituksen ja GitHub-julkaisun itse.