--- title: Osallistu nav: Contribute output: contribute/index.html description: Osallistu Varston kehitykseen. Varsto on Rustilla kirjoitettu päästä päähän salattu synkronointi- ja varmuuskopiotyökalu. Sivulla arkkitehtuuri, kohteet joissa apua tarvitaan, kääntö- ja testiohjeet sekä lisenssiehdot. ---

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

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.