Rakenna Varstoa kanssamme
Varsto on päästä päähän salattu tiedostojen synkronointi- ja varmuuskopiotyökalu tallennustilaan, joka sinulla jo on: S3-bucketeihin, NAS-jakoihin, rclone-etäkohteisiin, vanhoille levyille ja omille laitteillesi. Ydin on kirjoitettu Rustilla, lähdekoodi on julkisesti GitHubissa, ja tallennusmuoto on kuvattu kirjallisesti. Projekti on varhaisessa alfavaiheessa, joten nyt on paras hetki vaikuttaa sen suuntaan.
Lähdekoodi GitHubissa Issuet Osallistumisen säännöt (en)
Mitä pääset tekemään
Rust-ydin ja kirjoitettu määrittely
varsto-core sisältää moottorin. Siihen kuuluvat sisällön mukaan määräytyvä pilkkominen, XChaCha20-Poly1305-salaus ja allekirjoitettu kirjanpito, jossa on hybridiallekirjoitukset Ed25519 + ML-DSA-65. Lisäksi siinä ovat sijoittelu ja säilytyssäännöt, vertaisverkon lohkonvaihto NAT-läpäisyineen sekä tallennustaustat hakemistoille, S3:lle ja rclonelle. Jokainen tallennustilaan kirjoitettava objekti on kuvattu tallennusmuodon määrittelyssä (en).
Yksi ohjelma, monta kuorta
varsto-cli sisältää komentorivin, taustapalvelun, ilmoitusalueen kuvakkeen ja paikallisen web-käyttöliittymän (pelkkää HTML:ää, CSS:ää ja JavaScriptiä). Ohuet natiivikuoret käärivät sen varsto-ffi:n kautta: Swift macOS:lle ja iOS:lle, Kotlin Androidille.
Testit, jotka ajavat kokonaisia verkkoja
Yksikkö- ja integraatiotestien lisäksi virtuaalikonelaboratorio esittää kannettavia, pöytäkoneita ja palvelimia kotireitittimien ja symmetrisen NATin takana sekä julkisessa internetissä. Mukana on S3-palvelin, ja tallennuskatkot, kaatumiset ja kellojen heitot saa käyttöön tarvittaessa. Katso Testing (en).
Missä apua tarvitaan
- Tietoturvakatselmointi: avainhierarkia, uhkamalli ja tallennusmuodon määrittely. Löydökset käsitellään tietoturvakäytännön mukaan.
- Alustat: Windowsin ilmoitusalue ja Resurssienhallinta-integraatio, iOS-sovellus oikeilla laitteilla sekä Androidin taustatoiminta eri valmistajien puhelimissa.
- Verkot: vertaisverkko ja NAT-läpäisy muissa kuin ylläpitäjän omissa verkoissa, kuten operaattoritason NATin takana, pelkän IPv6:n verkoissa ja yritysten palomuurien takana.
- Tallennus: testaus useampia S3-yhteensopivia palveluntarjoajia ja rclone-taustoja vastaan sekä niiden erikoisuudet (osittaiset lukupyynnöt, kellojen heitto, listausten johdonmukaisuus).
- Paketointi: Flatpak, Homebrew, AUR, winget ja muut paketinhallintajärjestelmät.
- Käännökset: käyttöliittymä ja nämä sivut ovat englanniksi, suomeksi ja ruotsiksi. Uudet kielet ja äidinkielisten tarkistukset ovat tervetulleita. Sanakirjat ovat JSON-tiedostoja hakemistossa
crates/varsto-cli/ui/i18n/. - Dokumentaatio ja vikailmoitukset oikeista kokoonpanoista: foorumi (en) ja issue-seuranta.
Näin pääset alkuun
git clone https://github.com/janttsu/varsto
cd varsto
cargo build --release
cargo test --workspace
Ytimeen ja komentoriviin riittää vakaa Rust-työkaluketju, versio 1.85 tai uudempi. Pikaopas (en) luo holvin paikalliseen hakemistoon minuutissa, joten muutoksia voi kokeilla ilman pilvitiliä. Ennen pull requestia cargo fmt --all --check, cargo clippy --workspace --all-targets ja testit on ajettava läpi, ja uusi toiminnallisuus tarvitsee testit. Avaa issue ennen suuria muutoksia.
Lisenssi
Varston lähdekoodi on saatavilla PolyForm Shield License 1.0.0 -lisenssillä. Saat lukea, käyttää, muuttaa ja jakaa koodia mihin tahansa tarkoitukseen paitsi Varston kanssa kilpailevan tuotteen tarjoamiseen. Lisenssi ei ole OSI:n hyväksymä avoimen lähdekoodin lisenssi. Osallistumalla hyväksyt, että osuutesi jaetaan saman lisenssin alla. Yksityiskohdat ovat osallistumisen säännöissä (en). Repositoriossa kaikki kirjoitetaan englanniksi.