aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock4
-rw-r--r--Cargo.toml9
-rw-r--r--README.md21
-rw-r--r--lockchain-core/README.md45
-rw-r--r--lockchain-crypto/Cargo.toml (renamed from lockchain-core/lockchain-crypto/Cargo.toml)0
-rw-r--r--lockchain-crypto/README.md3
-rw-r--r--lockchain-crypto/src/lib.rs (renamed from lockchain-core/lockchain-crypto/src/lib.rs)0
-rw-r--r--lockchain-receiver/Cargo.toml6
-rw-r--r--lockchain-receiver/src/lib.rs (renamed from lockchain-core/lockchain-files/src/lib.rs)0
-rw-r--r--lockchain-server/README.md2
-rw-r--r--lockchain-store/Cargo.toml (renamed from lockchain-core/lockchain-files/Cargo.toml)0
-rw-r--r--lockchain-store/README.md3
-rw-r--r--lockchain-store/src/lib.rs7
-rw-r--r--lockchain-store/src/vault.rs (renamed from lockchain-core/lockchain-files/src/vault.rs)0
14 files changed, 45 insertions, 55 deletions
diff --git a/Cargo.lock b/Cargo.lock
index e4bad19..1059556 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -166,6 +166,10 @@ version = "0.2.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
+name = "lockchain-client"
+version = "0.1.0"
+
+[[package]]
name = "lockchain-core"
version = "0.2.0"
dependencies = [
diff --git a/Cargo.toml b/Cargo.toml
index d53e1d4..7114208 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,14 +1,11 @@
[workspace]
members = [
-
- # Core library components to create & parse vaults
"lockchain-core",
- "lockchain-core/lockchain-files",
- "lockchain-core/lockchain-crypto",
+ "lockchain-store",
+ "lockchain-crypto",
- # Primary data server
"lockchain-server",
+ "lockchain-receiver",
- # RESTful API layer
"lockchain-http",
] \ No newline at end of file
diff --git a/README.md b/README.md
index b5eb320..654584e 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,23 @@
# lockchain
-A modern, cross-platform password manager.
+A modern, cross-platform and extendable secrets manager.
-## NOTE
+## To own the libs
-SECURITY OR STABILITY IS NOT GUARANTEED. **DO NOT USE IN PRODUCTION. USE AT YOUR OWN RISK!**
+This library ecosystem is made of three main parts.
+ - `lockchain-core` Common types shared between both `secret` and `default` operation modes.
+ - `lockchain-files` load vaults, decode files and work with encrypted streams.
+ - `lockchain-crypto` attach crypto handlers to vaults as a middleware to decrypt data.
-## How to install
+This enables a few different configurations.
-Clone this repository, then build with `cargo build`
+- `lockchain-server` uses `lockchain-core` and `lockchain-files` to serve encrypted files to various front-ends (maybe even on the same machine)
+- `lockchain-client` uses `lockchain-core` and `lockchain-crypto` to decrypt received data from a server and use it in a front-end application.
+
+Additionally there is `lockchain-http` which provides an easy to use RESTful API to use for browser extentions or client-side logic which can't rely on local cryptography.
+
+
+## Security notice
+
+The cryptography in this crate has not undergone any formal review or verification. While stability and data integrity can be thoroughly tested, the security of this crate can not be guaranteed. **Use it at your own risk!** \ No newline at end of file
diff --git a/lockchain-core/README.md b/lockchain-core/README.md
index b79c82d..9456b72 100644
--- a/lockchain-core/README.md
+++ b/lockchain-core/README.md
@@ -1,46 +1,3 @@
# lockchain-core
-This library ecosystem is made of three main parts.
-
- - `lockchain-core` Common types shared between both `secret` and `default` operation modes.
- - `lockchain-files` load vaults, decode files and work with encrypted streams.
- - `lockchain-crypto` attach crypto handlers to vaults as a middleware to decrypt data.
-
-If you're a Rust developer and interested in the `lockchain` crate, this README is for you. Lockchain is a document based, encrypted data vault. It provides you with an easy to use API to create, manage and update vaults and records. Build robust and user-friendly applications that deal with their data in a secure manner.
-
-Most notibly, this crate is being used by the [lockchain]() password manager as well as the [poke]() linux ssh key manager.
-
-## Example
-
-Here is the most minimal example of how to use lockchain.
-
-```Rust
-use lockchain::record::Payload;
-use lockchain::vault::Vault;
-
-fn main() {
- let mut v = Vault::new(
- "user_secrets",
- "~/.local/my_app/",
- "user password here, it's hashed we promise",
- ).unwrap();
-
- /* Add a new record and put some data into it */
- v.add_record("User", "I say this is a category", None);
- v.add_data(
- "User",
- "data_key",
- Payload::Text(
- "This is some really important data that needs to be kept secure. Promise me!!!"
- .to_owned(),
- ),
- );
-
- /* All changes are kept in RAM until you sync */
- v.sync();
-}
-```
-
-## Security notice
-
-The cryptography in this crate has not undergone any formal review or verification. While stability and data integrity can be thoroughly tested, the security of this crate can not be guaranteed. **Use it at your own risk!** \ No newline at end of file
+Contains common types used in the `lockchain` ecosystem. Exposes serde serialisable types that can be embedded into various applications. \ No newline at end of file
diff --git a/lockchain-core/lockchain-crypto/Cargo.toml b/lockchain-crypto/Cargo.toml
index b598a42..b598a42 100644
--- a/lockchain-core/lockchain-crypto/Cargo.toml
+++ b/lockchain-crypto/Cargo.toml
diff --git a/lockchain-crypto/README.md b/lockchain-crypto/README.md
new file mode 100644
index 0000000..21e1ff4
--- /dev/null
+++ b/lockchain-crypto/README.md
@@ -0,0 +1,3 @@
+# lockchain-crypto
+
+Plugin-crypto for `lockchain-core` crate. Allows the building of secure data server that can't decrypt the data it's hosting. Works on the vault-level abstraction provided by the ecosystem. \ No newline at end of file
diff --git a/lockchain-core/lockchain-crypto/src/lib.rs b/lockchain-crypto/src/lib.rs
index 31e1bb2..31e1bb2 100644
--- a/lockchain-core/lockchain-crypto/src/lib.rs
+++ b/lockchain-crypto/src/lib.rs
diff --git a/lockchain-receiver/Cargo.toml b/lockchain-receiver/Cargo.toml
new file mode 100644
index 0000000..32d2f8c
--- /dev/null
+++ b/lockchain-receiver/Cargo.toml
@@ -0,0 +1,6 @@
+[package]
+name = "lockchain-client"
+version = "0.1.0"
+authors = ["Katharina Fey <kookie@spacekookie.de>"]
+
+[dependencies]
diff --git a/lockchain-core/lockchain-files/src/lib.rs b/lockchain-receiver/src/lib.rs
index 31e1bb2..31e1bb2 100644
--- a/lockchain-core/lockchain-files/src/lib.rs
+++ b/lockchain-receiver/src/lib.rs
diff --git a/lockchain-server/README.md b/lockchain-server/README.md
new file mode 100644
index 0000000..7c6dda4
--- /dev/null
+++ b/lockchain-server/README.md
@@ -0,0 +1,2 @@
+# lockchain-server
+
diff --git a/lockchain-core/lockchain-files/Cargo.toml b/lockchain-store/Cargo.toml
index f15d981..f15d981 100644
--- a/lockchain-core/lockchain-files/Cargo.toml
+++ b/lockchain-store/Cargo.toml
diff --git a/lockchain-store/README.md b/lockchain-store/README.md
new file mode 100644
index 0000000..d797193
--- /dev/null
+++ b/lockchain-store/README.md
@@ -0,0 +1,3 @@
+# lockchain-store
+
+Plugin storage backend for `lockchain-core`. This crate might be expanded on in the future. For now, it provides an easy to use implementation for storage traits on the vaults structures. \ No newline at end of file
diff --git a/lockchain-store/src/lib.rs b/lockchain-store/src/lib.rs
new file mode 100644
index 0000000..31e1bb2
--- /dev/null
+++ b/lockchain-store/src/lib.rs
@@ -0,0 +1,7 @@
+#[cfg(test)]
+mod tests {
+ #[test]
+ fn it_works() {
+ assert_eq!(2 + 2, 4);
+ }
+}
diff --git a/lockchain-core/lockchain-files/src/vault.rs b/lockchain-store/src/vault.rs
index e69de29..e69de29 100644
--- a/lockchain-core/lockchain-files/src/vault.rs
+++ b/lockchain-store/src/vault.rs