Sinun tiedostosi. Sinun tallennuspaikkasi.
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

Mikä toimii jo nyt (alfa, 0.0.1-alpha.12)
Salattu ennen kuin se lähtee laitteeltasi
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.
Tuo oma tallennuspaikkasi
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.
Laitteet, jotka eivät koskaan kohtaa, päätyvät silti samaan tilaan
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.
Taustasovellus jokaisella työpöydällä
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.
Valikoiva synkronointi, siirtolevyt, epäluotetut replikat, jakaminen
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.
Kvanttiturvallinen hybridikryptografia
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.
Avustaja rajatuin oikeuksin
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ää.
Säännöt, jotka varoittavat ajoissa
”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ä.
Vertaisyhteys, pakattuna
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.
Strongroom-kansiot
Kansio, jonka avain on olemassa vain silloin, kun kosketat FIDO2-suojausavaintasi. Kryptografinen, ei pelkkä valintaikkuna: salalause, holviavain tai varastettu kannettava ei avaa sitä.
Vanhat levyt levyvarastoksi
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)”.
Organisaatiot yrityskäyttöön
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ää.
Kirjanpito, jonka voit tarkistaa
varsto fsck --verify vertaa kirjanpitoa siihen, mitä tallennuspaikassa todella on, ja laskee jokaisen objektin tiivisteen uudelleen. Vanhasta varmuuskopiosta palautettu laite havaitaan ja eristetään.
Mikä on suunniteltu, mutta ei vielä rakennettu
iOS, laajempi NAT-testaus
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.
Rehellinen tilannekuva
- Alfa on ensimmäinen pystysuora läpileikkaus: ydinkirjasto, komentorivi, taustapalvelu, ilmoitusalueen ja valikkorivin kuoret, Android-kuori, noin 54 000 riviä Rustia, yli 200 automaattista testiä ja koti- ja toimisto-NATin taakse sijoitettujen virtuaalikoneiden testilaboratorio, mukaan lukien kahden laitteen offline-yhtenäistyminen, ristiriidat, palautetun laitteen eristys, replikat, jakaminen, säilytyssäännöt, vertaiset, Strongroomit ja levyvarastot. Käytä sitä vain testidatalla.
- Kryptografista suunnittelua ei ole katselmoitu eikä auditoitu. Uhkamalli ja vikamalli kertovat, mitä suunnittelulla tavoitellaan ja mihin se päättyy.
- Lähdekoodi on julkisesti osoitteessa github.com/janttsu/varsto PolyForm Shield License 1.0.0 -lisenssillä (lähdekoodi saatavilla, ei avointa lähdekoodia); virheet ja kysymykset kuuluvat siellä olevaan vikaseurantaan. Tallennusmuoto on dokumentoitu, jotta datasi pysyy palautettavissa.
- Nimi on väliaikainen.
Kehittäjille
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.
Lataukset
Release 0.0.1-alpha.12 · SHA256SUMS · manifest.json
Linux
x86_64, static binary. Unpack and run ./varsto once: it installs itself for your user (varsto on your PATH, the background service as a systemd user unit, the tray at login, Varsto in the application menu; no root). Tray icon, background service, browser interface and command line in one file.
macOS
Apple Silicon. Open the disk image and drag Varsto to Applications. The app has its own window, a menu-bar item, Finder actions (right-click a file: Download or Free up space with Varsto; double-click a placeholder to download and open it), the background service and the varsto command line inside the bundle. Unsigned: right-click, Open the first time.
Windows
x86_64 zip. Double-click Varsto.cmd for the tray icon and the interface. Cross-compiled, not yet tested on Windows.
Android
Debug-signed APK for sideloading: allow the install when the phone asks. Runs the same core as a foreground service. Tested in the Android 15 emulator only.
iOS
Not downloadable yet: the app shell is in the repository (apps/ios) and needs a Mac with Xcode to build.
Source
Git archive of the tagged release. Build with a stable Rust toolchain: cargo build --release.
All files and checksums
| File | Platform | Size | SHA-256 |
|---|---|---|---|
| varsto-0.0.1-alpha.12-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 | 7.8 MB | b5b34ecb7b300b50de3a7a40766cf87894df1569b58fd0f7e1efb125560bffdd |
| varsto-0.0.1-alpha.12-x86_64-pc-windows-gnu.zip | Windows x86_64 | 10.3 MB | baa717bd5450d86b531d6c0fe4290582662e07162b4936a185801bad5ebd2825 |
| Varsto-0.0.1-alpha.12-macos.dmg | macOS app (Apple Silicon) | 8.1 MB | f3fe6cf4cf56cea14ddc51e81bd3b2f8999bd64c010e05b9ee50f333217cde66 |
| varsto-0.0.1-alpha.12-android-debug.apk | Android (arm64, x86_64) | 18.3 MB | b8ebd355de4c94a7583caaa37259fb125a95fcf3cf20d10ed053a420db6b74a2 |
| varsto-0.0.1-alpha.12-source.tar.gz | Source | 16.6 MB | 9527ffa7c396ddcb038aec85e795af36222eeee7538c3af7e74a14ffab092b1a |
Verify your download
SHA256SUMS is signed with the Varsto release key (SHA256SUMS.sig, minisign format). The key is kept offline, built into every varsto binary and published in the repository and here; key ID 2861CE1D220B07F3:
RWTzBwsiHc5hKJfkPOF6AQQWdIOHE1jf/UMs/GUCoOqocAJftz915FBFWith Varsto already installed, put SHA256SUMS and SHA256SUMS.sig next to the download (or leave them out to fetch them) and run
varsto verify-release varsto-0.0.1-alpha.12-x86_64-unknown-linux-musl.tar.gz --github--github also compares the checksum with the list attached to the GitHub release, a second channel. Without Varsto, use minisign and then check the hash:
minisign -Vm SHA256SUMS -x SHA256SUMS.sig -P RWTzBwsiHc5hKJfkPOF6AQQWdIOHE1jf/UMs/GUCoOqocAJftz915FBF
sha256sum -c --ignore-missing SHA256SUMSvarsto update does all of this by itself and refuses an update whose signature or checksum does not match.
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.
Uusimmat blogissa
- Alpha.12: small files in packs, and Varsto in Finnish and Swedish
Small encrypted blocks are now written in packs, so a folder of 20,000 small files becomes 79 objects on a bucket instead of 20,000. The interface, tray, menu bar, mobile shells and this website are available in Finnish and Swedish as well as English. - Alpha.9: data where you want it, repair by itself, signed updates, and every platform built in the open
Folders can be placed on chosen storages and moved between them, lost copies are repaired automatically, updates are signed with an offline key, peer-to-peer downloads fetch many blocks at once, and every package is now built, tested and photographed on GitHub's runners. - Alpha.8: a ledger that stays small, removable devices, and phones that keep nothing in clear text
The ledger now lists only what is new, keeps a cached view and prunes itself behind signed checkpoints; devices can be removed with new keys for everything written afterwards; phones keep encrypted folders as encrypted blocks; and the interface shows where your data is and how peer-to-peer traffic flows. - Alpha.7: pair devices with a code, Finder actions, and a real NAT path
Devices now pair from the interface with a one-time code, Finder can download a placeholder or free up space with a right-click, the macOS app installs from a disk image, devices reach each other through NAT, and removable disks can form a pool. - Alpha.6: the source is public, and every platform builds in the cloud
The repository is now public on GitHub under the PolyForm Shield licence, the native macOS and iOS apps build on GitHub Actions, Linux, Windows and Android build on short-lived cloud machines, and the interface was redone around a file view. - Alpha-0: the first vertical slice
A command-line tool that encrypts, stores and syncs a folder between two devices through storage you own, with a signed ledger you can check.