@telecrypt-io/storage 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -4
- package/package.json +9 -1
package/README.md
CHANGED
|
@@ -1,11 +1,49 @@
|
|
|
1
1
|
# TeleCrypt.io Storage
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@telecrypt-io/storage)
|
|
4
|
+
|
|
3
5
|
End-to-end encrypted file storage and sharing, built on Matrix.
|
|
4
6
|
|
|
5
7
|
Files are encrypted on the client before upload. The server stores only opaque ciphertext and
|
|
6
|
-
never holds the decryption keys.
|
|
8
|
+
never holds the decryption keys. Shared folders let multiple people add and read files, and a
|
|
9
|
+
Recovery Key restores your files on a new device — even if you lose the original.
|
|
10
|
+
|
|
11
|
+
**Status:** published and usable — library, CLI, and a React web UI.
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install @telecrypt-io/storage
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
This gives you both the `TeleCryptIOStorage` library and the `telecrypt-io` CLI.
|
|
20
|
+
|
|
21
|
+
## Quick start
|
|
22
|
+
|
|
23
|
+
**Library:**
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
import { TeleCryptIOStorage } from "@telecrypt-io/storage";
|
|
27
|
+
import * as core from "@telecrypt-io/storage/core";
|
|
28
|
+
|
|
29
|
+
const storage = await TeleCryptIOStorage.create({
|
|
30
|
+
baseUrl, userId, accessToken, deviceId,
|
|
31
|
+
});
|
|
32
|
+
const folder = await core.createFolder(storage, "Photos");
|
|
33
|
+
await core.uploadFile(storage, folder.id, "cat.jpg", bytes, "image/jpeg");
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**CLI:**
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
telecrypt-io storage login --homeserver https://your.server --user alice --password ...
|
|
40
|
+
telecrypt-io storage folder create Photos
|
|
41
|
+
telecrypt-io storage file upload <folderId> ./cat.jpg
|
|
42
|
+
telecrypt-io storage folder share <folderId> @bob:your.server --role editor
|
|
43
|
+
telecrypt-io storage recovery setup # prints your Recovery Key — save it
|
|
44
|
+
```
|
|
7
45
|
|
|
8
|
-
**
|
|
46
|
+
**Web UI:** a React app lives in [`ui/`](./ui) (`cd ui && npm install && npm run dev`).
|
|
9
47
|
|
|
10
48
|
## How it works
|
|
11
49
|
|
|
@@ -34,9 +72,11 @@ npm test
|
|
|
34
72
|
npm run synapse:down
|
|
35
73
|
```
|
|
36
74
|
|
|
37
|
-
Tests run against a real local Synapse in
|
|
75
|
+
Tests run against a real local Synapse in podman, never against a production server.
|
|
38
76
|
|
|
39
|
-
See [IMPLEMENTATION_PLAN.md](./IMPLEMENTATION_PLAN.md) for the phased build plan
|
|
77
|
+
See [IMPLEMENTATION_PLAN.md](./IMPLEMENTATION_PLAN.md) for the phased build plan,
|
|
78
|
+
[RELEASING.md](./RELEASING.md) for how releases publish, and [docs/DECISIONS.md](./docs/DECISIONS.md)
|
|
79
|
+
for the key design decisions.
|
|
40
80
|
|
|
41
81
|
## Licence
|
|
42
82
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telecrypt-io/storage",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"license": "BUSL-1.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -46,5 +46,13 @@
|
|
|
46
46
|
"tsx": "^4.23.1",
|
|
47
47
|
"typescript": "^5.6.0",
|
|
48
48
|
"vitest": "^2.0.0"
|
|
49
|
+
},
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "git+https://github.com/TeleCrypt-io/secure-storage.git"
|
|
53
|
+
},
|
|
54
|
+
"homepage": "https://github.com/TeleCrypt-io/secure-storage#readme",
|
|
55
|
+
"bugs": {
|
|
56
|
+
"url": "https://github.com/TeleCrypt-io/secure-storage/issues"
|
|
49
57
|
}
|
|
50
58
|
}
|