mirror of https://github.com/mitchell/selfpass.git
Refactor all project READMEs
This commit is contained in:
parent
ce8596ce8a
commit
80f9705b19
|
@ -0,0 +1,69 @@
|
|||
# selfpass
|
||||
|
||||
This is the project home of *selfpass*, the self-hosted password manager. This project is
|
||||
a single-user password manager capable of encrypting/decrypting credentials and storing them
|
||||
remotely through encrypted transportation. All of which is deployable locally or to popular cloud
|
||||
platforms such as GCP and AWS.
|
||||
|
||||
It is still currently in development. However, the server is already capable of serving a gRPC
|
||||
based API using mutual TLS encryption, backed by Redis and Docker. It is also capable of being
|
||||
deployed in a semi-automated fashion locally and to GCP thanks to Docker.
|
||||
|
||||
**Server Roadmap**
|
||||
|
||||
| Goal | Progress | Comment |
|
||||
| --- | :---: | --- |
|
||||
| Support credentials CRUD on gRPC API. | 100% | |
|
||||
| Enable server-side mutual TLS, using cfssl. | 100% | |
|
||||
| Deployable on Docker. | 100% | |
|
||||
| Automatically deployable to GCP using docker-machine and Terraform. | 50% | TODO: Terraform |
|
||||
| Automatically deployable to AWS using docker-machine and Terraform. | 0% | |
|
||||
|
||||
## sp CLI
|
||||
|
||||
In addition to the server there is `sp`, which is a fully fledged *selfpass* client capable of
|
||||
interacting with the whole selfpass API and creating AES-CBC encrypted credentials using a *private
|
||||
key* and *master password*. All of which is done using mutual TLS and an AES-GCM encrypted config.
|
||||
|
||||
**CLI Roadmap**
|
||||
|
||||
| Goal | Progress | Comment |
|
||||
| --- | :---: | --- |
|
||||
| Support mutual TLS. | 100% | |
|
||||
| Support credentials CRUD via gRPC. | 100% | |
|
||||
| Support storage of certs, PK, and host in AES-GCM encrypted config. | 100% | |
|
||||
| Support AES-CBC encryption of passes and OTP secrets, using MP and PK. | 100% | |
|
||||
| Support AES-GCM encryption of local files, using MP and PK. | 100% | |
|
||||
|
||||
## Client
|
||||
|
||||
The newest addition to the *selfpass* project is the client built using Flutter, which makes it
|
||||
capable of targeting to iOS, Android, and Desktop. It supports all the same features as the CLI tool
|
||||
using GUIs, with all the same safety and encryption as the CLI.
|
||||
|
||||
| Goal | Progress | Comment |
|
||||
| --- | :---: | --- |
|
||||
| Support mutual TLS. | 100% | |
|
||||
| Support credentials CRUD via gRPC. | 25% | TODO: CUD |
|
||||
| Support storage of certs, PK, and host in shared preferences, encrypted. | 100% | |
|
||||
| Support AES-CBC encryption of passes and OTP secrets, using MP and PK. | 50% | TODO: decryption |
|
||||
|
||||
## Other Info
|
||||
|
||||
**Unplanned Goals**
|
||||
|
||||
- Sensitive financial info support.
|
||||
- Miscellaneous text/file encryption and storage support.
|
||||
- Vault separation.
|
||||
|
||||
**Architectural 3rd-party Technologies in Use (and where)**
|
||||
|
||||
- Golang (services & protobuf)
|
||||
- Dart (client & protobuf)
|
||||
- Flutter (client)
|
||||
- Go-Kit (services)
|
||||
- gRPC & Protobuf (all)
|
||||
- Cobra Commander & Viper Config (spc)
|
||||
- Redis (services)
|
||||
- Docker (services)
|
||||
- Debian (docker images and machines)
|
|
@ -1,3 +1,5 @@
|
|||
# selfpass_client
|
||||
|
||||
This is the multi-platform native Selfpass client built with the Flutter framework.
|
||||
|
||||
Still under early development.
|
|
@ -1,52 +1,5 @@
|
|||
# selfpass
|
||||
# services
|
||||
|
||||
This is the project home of *selfpass*, the self-hosted password manager. This project is intended
|
||||
to be a single-user (or **trusted** multi-user) password manager capable of encrypting/decrypting
|
||||
credentials and storing them remotely through encrypted transportation, all of which is deployable
|
||||
locally or to popular cloud platforms such as GCP and AWS.
|
||||
This is project home of *selfpass* API services and the server entrypoint.
|
||||
|
||||
It is still currently in development. However, the service is already capable of serving a gRPC based
|
||||
API using mutual TLS encryption, backed by Redis and Docker. It is also capable of being deployed in
|
||||
a semi-automated fashion locally and to GCP thanks to Docker.
|
||||
|
||||
In addition to the service there is `spc` (**s**elf**p**ass **C**LI), which is a fully fledged *selfpass* client
|
||||
capable of interacting with the whole selfpass API and creating AES-GCM encrypted credentials using
|
||||
a *private key* and *master password*. All of which is done using mutual TLS and an AES-GCM
|
||||
encrypted config.
|
||||
|
||||
#### Service Roadmap
|
||||
|
||||
| Goal | Progress | Comment |
|
||||
| --- | :---: | --- |
|
||||
| Support credentials CRUD on gRPC API. | 100% | |
|
||||
| Enable server-side mutual TLS, using cfssl. | 100% | |
|
||||
| Deployable on Docker. | 100% | |
|
||||
| Automatically deployable to GCP using docker-machine and Terraform. | 50% | TODO: Terraform |
|
||||
| Automatically deployable to AWS using docker-machine and Terraform. | 0% | |
|
||||
|
||||
#### SPC Roadmap
|
||||
|
||||
| Goal | Progress | Comment |
|
||||
| --- | :---: | --- |
|
||||
| Support credentials CRUD via gRPC. | 100% | |
|
||||
| Support mutual TLS. | 100% | |
|
||||
| Support storage of certs, PK, and host in AES-CBC encrypted config. | 100% | |
|
||||
| Support AES-GCM encryption of passes and OTP secrets, using MP and PK. | 100% | |
|
||||
| Support AES-GCM encryption of local files, using MP and PK. | 100% | |
|
||||
|
||||
|
||||
#### Unplanned Goals
|
||||
|
||||
- Web client.
|
||||
- Sensitive financial info support.
|
||||
- Miscellaneous text/file encryption and storage support.
|
||||
- Vault separation.
|
||||
|
||||
#### 3rd-party Technologies in Use (and where):
|
||||
- Golang (all)
|
||||
- Go-Kit (all)
|
||||
- gRPC (all)
|
||||
- Cobra Commander & Viper Config (spc)
|
||||
- Redis (service)
|
||||
- Docker (service)
|
||||
- Debian (docker images and machines)
|
||||
For more project level information see the root `README.md`.
|
|
@ -0,0 +1,35 @@
|
|||
# sp
|
||||
|
||||
This is the project home of `sp` the *selfpass* CLI.
|
||||
|
||||
To install with Go run `go get -u github.com/mitchell/selfpass/sp`.
|
||||
|
||||
Help menu:
|
||||
```
|
||||
This is the CLI client for Selfpass, the self-hosted password manager. With this tool you
|
||||
can interact with the entire Selfpass API.
|
||||
|
||||
Usage:
|
||||
sp [command]
|
||||
|
||||
Available Commands:
|
||||
create Create a credential in Selfpass
|
||||
decrypt Decrypt a file using your masterpass and secret key
|
||||
decrypt-cfg Decrypt your config file
|
||||
delete Delete a credential using the given ID
|
||||
encrypt Encrypt a file using your masterpass and secret key
|
||||
get Get a credential info and copy password to clipboard
|
||||
help Help about any command
|
||||
init This command initializes SPC for the first time
|
||||
list List the metadata for all credentials
|
||||
update Update a credential in Selfpass
|
||||
|
||||
Flags:
|
||||
--config string config file (default is $HOME/.sp.toml)
|
||||
-h, --help help for sp
|
||||
--version version for sp
|
||||
|
||||
Use "sp [command] --help" for more information about a command.
|
||||
```
|
||||
|
||||
For more project-level information see the root `README.md`.
|
Loading…
Reference in New Issue