sefy-cli 0.1.2 → 0.2.0
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 +35 -0
- package/package.json +43 -28
package/README.md
CHANGED
|
@@ -106,6 +106,21 @@ error: 2 items match "ma":
|
|
|
106
106
|
narrow the text, or use an id
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
+
Two machines, two copies, both edited? Fold one into the other. Where they
|
|
110
|
+
disagree about the same item, sefy keeps both versions rather than letting a
|
|
111
|
+
timestamp decide which password you get to keep:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
$ sefy merge ~/from-laptop.bak
|
|
115
|
+
Password for /home/you/from-laptop.bak:
|
|
116
|
+
merged: 1 added, 1 updated, 1 unchanged
|
|
117
|
+
|
|
118
|
+
1 item changed on both sides and could not be resolved here.
|
|
119
|
+
This vault's version was kept; the incoming one is beside it:
|
|
120
|
+
"mail" → also kept as "mail (conflicted copy)"
|
|
121
|
+
Compare them, keep the right one, and remove the other.
|
|
122
|
+
```
|
|
123
|
+
|
|
109
124
|
A vault is never a trap. `sefy export` writes everything back out as plain
|
|
110
125
|
JSON - which is exactly as sensitive as the vault and protects nothing, so the
|
|
111
126
|
command makes you say so out loud:
|
|
@@ -137,6 +152,18 @@ Details and rationale: [ADR-0001](https://github.com/lacodda/sefy/blob/main/docs
|
|
|
137
152
|
|
|
138
153
|
## Install
|
|
139
154
|
|
|
155
|
+
**One-line installers.** Windows (PowerShell):
|
|
156
|
+
|
|
157
|
+
```powershell
|
|
158
|
+
irm https://raw.githubusercontent.com/lacodda/sefy/main/tools/install.ps1 | iex
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
macOS / Linux:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
curl -fsSL https://raw.githubusercontent.com/lacodda/sefy/main/tools/install.sh | sh
|
|
165
|
+
```
|
|
166
|
+
|
|
140
167
|
**cargo** - `cargo install sefy`
|
|
141
168
|
|
|
142
169
|
**npm** - `npm install -g sefy-cli`
|
|
@@ -145,6 +172,9 @@ Details and rationale: [ADR-0001](https://github.com/lacodda/sefy/blob/main/docs
|
|
|
145
172
|
(Windows x86_64, Linux x86_64, macOS arm64), unpack and put `sefy` on your
|
|
146
173
|
`PATH`.
|
|
147
174
|
|
|
175
|
+
Both installers take the newest release by default; set `SEFY_VERSION` to a tag
|
|
176
|
+
to pin one, and `SEFY_INSTALL_DIR` to choose where the binary lands.
|
|
177
|
+
|
|
148
178
|
Shell completions: `sefy completions bash` (also `zsh`, `fish`, `powershell`,
|
|
149
179
|
`elvish`).
|
|
150
180
|
|
|
@@ -155,6 +185,11 @@ will stay readable: any future change to the format arrives as version 2, able
|
|
|
155
185
|
to read version 1 and migrate it. The Argon2 parameters are part of that
|
|
156
186
|
promise, not a tuning knob.
|
|
157
187
|
|
|
188
|
+
The database inside the ciphertext is versioned separately, and it does move:
|
|
189
|
+
0.2.0 added an identity to items so two copies of a vault can be merged. A vault
|
|
190
|
+
from 0.1.x opens, is migrated on the way in, and is still readable by 0.1.x
|
|
191
|
+
afterwards - the file on disk did not change shape.
|
|
192
|
+
|
|
158
193
|
Released versions and what landed in each: [CHANGELOG on the Releases page](https://github.com/lacodda/sefy/releases).
|
|
159
194
|
|
|
160
195
|
## Building
|
package/package.json
CHANGED
|
@@ -1,28 +1,43 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "sefy-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"sefy": {
|
|
5
|
-
"binary": "v0.
|
|
6
|
-
},
|
|
7
|
-
"description": "An inconspicuous encrypted store for notes, credentials and files",
|
|
8
|
-
"license": "MIT",
|
|
9
|
-
"author": "Kirill Lakhtachev <lahtachev@gmail.com> (https://lacodda.com)",
|
|
10
|
-
"homepage": "https://lacodda.github.io/sefy/",
|
|
11
|
-
"repository": {
|
|
12
|
-
"type": "git",
|
|
13
|
-
"url": "git+https://github.com/lacodda/sefy.git"
|
|
14
|
-
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "sefy-cli",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"sefy": {
|
|
5
|
+
"binary": "v0.2.0"
|
|
6
|
+
},
|
|
7
|
+
"description": "An inconspicuous encrypted store for notes, credentials and files",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"author": "Kirill Lakhtachev <lahtachev@gmail.com> (https://lacodda.com)",
|
|
10
|
+
"homepage": "https://lacodda.github.io/sefy/",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/lacodda/sefy.git"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"cli",
|
|
17
|
+
"secrets",
|
|
18
|
+
"password-manager",
|
|
19
|
+
"encryption",
|
|
20
|
+
"vault"
|
|
21
|
+
],
|
|
22
|
+
"bin": {
|
|
23
|
+
"sefy": "run.js"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"download.js",
|
|
27
|
+
"install.js",
|
|
28
|
+
"run.js",
|
|
29
|
+
"README.md"
|
|
30
|
+
],
|
|
31
|
+
"scripts": {
|
|
32
|
+
"prepack": "node -e \"require('fs').copyFileSync('../README.md','README.md')\"",
|
|
33
|
+
"postinstall": "node install.js"
|
|
34
|
+
},
|
|
35
|
+
"os": [
|
|
36
|
+
"win32",
|
|
37
|
+
"darwin",
|
|
38
|
+
"linux"
|
|
39
|
+
],
|
|
40
|
+
"engines": {
|
|
41
|
+
"node": ">=18"
|
|
42
|
+
}
|
|
43
|
+
}
|