Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Backup and recovery system with emphasis on security and privacy

License

NotificationsYou must be signed in to change notification settings

sndnv/stasis

Repository files navigation

Astasis/ˈsteɪsɪs/ orstasis field, in science fiction,is a confined area of space in which time has been stopped or the contents have been rendered motionless.

stasis is a backup and recovery system with an emphasis on security and privacy; no personal information is collected,no unencrypted data leaves a client device and all encryption keys are fully in the control of their owner.

Linux/macOS Client CLI

asciicast

Linux/macOS Client UI

Login ScreenHome Screen
Backup Definitions ScreenRecovery Screen

Android Client

Bootstrap Screen"Login ScreenNavigation Hint
Help HintHome ScreensDefinition Details Screen

Why?

  • Trust Issues - Do you trust your backup or infrastructure/storage provider with your unencrypted data?
  • Multi-Device - How many backup providers would you need to cover all types of devices you own?
  • Self-Hosted - What if your backup provider goes out of business?

Goals

  • Recover user data from total failure or device loss
  • Replicate data to local and remote/cloud storage
  • Encrypt data before it leaves a device
  • Manage all device backups from a single service

Along withprovision, the goal is to be able to grab a blank/off-the-shelfdevice and recover the original system in an automated and repeatable way.

Features

  • Client-only Encryption -encryption and decryption is done by client applications; the server never deals with unencrypted data or metadata
  • Device-only Secrets -user credentials and device secrets do not leave the device on which they were entered/generated
  • Default Redundancy -copies of a device's encrypted data are sent to multiple nodes by default (local and remote)
  • Hybrid Data Storage -various storage backends (Slick,in-memory,file-based) are supported and used
  • Secrets Escrow -enables storing encrypted device secrets on the server to simplify recovering of a lost or replaced device
  • Serverless Mode -(TODO) enables creating backups and recovering from them without the presence of a server

Installation

Server

Docker images forserver,server-ui,identity andidentity-ui can be found underPackages.

The required configuration can be downloaded and prepared by running the installer:

$ curl -s "https://raw.githubusercontent.com/sndnv/stasis/master/deployment/production/scripts/server_prepare_deployment.sh" | bash -s -- --target=/tmp/stasis-server-deployment

Seedeployment/production for more information on how to set up and deploy the services.

Clients

Client binaries for Linux, macOS and Android can be found for eachrelease.

Linux and macOS

The provided installer can be used:

$ curl -s "https://raw.githubusercontent.com/sndnv/stasis/master/deployment/production/scripts/client_install.sh" | bash
Removing

The Linux and macOS clients can be uninstalled using:

$ curl -s "https://raw.githubusercontent.com/sndnv/stasis/master/deployment/production/scripts/client_uninstall.sh" | bash
Updating

The Linux and macOS clients can be updated by uninstalling the current version and installing the latest one:

$ curl -s "https://raw.githubusercontent.com/sndnv/stasis/master/deployment/production/scripts/client_uninstall.sh" | bash$ curl -s "https://raw.githubusercontent.com/sndnv/stasis/master/deployment/production/scripts/client_install.sh" | bash

Secrets, configuration, logs and operation state are NOT removed when uninstalling the client!

Android

On Android, installing and updating is done by simply downloading theapk file and running it.

Testing

Images and binaries for testing/development purposes can be created locally using the existingdev tools.

Development

Refer to theDEVELOPMENT.md file for more details.

Contributing

Contributions are always welcome!

Refer to theCONTRIBUTING.md file for more details.

Versioning

We useSemVer for versioning.

License

This project is licensed under the Apache License, Version 2.0 - see theLICENSE file for details

Copyright 2018https://github.com/sndnv

Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.


[8]ページ先頭

©2009-2025 Movatter.jp