secrez 1.1.0 → 1.1.2
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/LICENSE +21 -0
- package/README.md +414 -291
- package/bin/secrez.js +50 -47
- package/coverage.report +81 -0
- package/package.json +18 -20
- package/src/Command.js +78 -57
- package/src/PreCommand.js +74 -70
- package/src/Welcome.js +144 -134
- package/src/cliConfig.js +14 -14
- package/src/commands/Alias.js +123 -100
- package/src/commands/Bash.js +10 -12
- package/src/commands/Cat.js +117 -107
- package/src/commands/Cd.js +39 -42
- package/src/commands/Chat.js +75 -63
- package/src/commands/Conf.js +123 -99
- package/src/commands/Contacts.js +189 -171
- package/src/commands/Copy.js +132 -113
- package/src/commands/Courier.js +123 -105
- package/src/commands/Ds.js +88 -76
- package/src/commands/Edit.js +122 -103
- package/src/commands/Export.js +153 -114
- package/src/commands/Find.js +115 -110
- package/src/commands/Help.js +20 -23
- package/src/commands/Import.js +296 -225
- package/src/commands/Lcat.js +36 -39
- package/src/commands/Lcd.js +38 -39
- package/src/commands/Lls.js +58 -55
- package/src/commands/Lpwd.js +20 -24
- package/src/commands/Ls.js +107 -97
- package/src/commands/Mkdir.js +35 -38
- package/src/commands/Mv.js +147 -114
- package/src/commands/Paste.js +68 -65
- package/src/commands/Pwd.js +18 -23
- package/src/commands/Quit.js +22 -24
- package/src/commands/Rm.js +78 -70
- package/src/commands/Shell.js +31 -32
- package/src/commands/Ssh.js +77 -63
- package/src/commands/Tag.js +133 -112
- package/src/commands/Totp.js +166 -136
- package/src/commands/Touch.js +169 -56
- package/src/commands/Use.js +44 -41
- package/src/commands/Ver.js +16 -18
- package/src/commands/Whoami.js +34 -37
- package/src/commands/chat/Contacts.js +41 -44
- package/src/commands/chat/Help.js +20 -23
- package/src/commands/chat/Join.js +59 -55
- package/src/commands/chat/Leave.js +16 -22
- package/src/commands/chat/Quit.js +19 -24
- package/src/commands/chat/Send.js +58 -57
- package/src/commands/chat/Show.js +60 -51
- package/src/commands/chat/Whoami.js +18 -22
- package/src/commands/index.js +20 -22
- package/src/index.js +3 -3
- package/src/prompts/ChatPrompt.js +87 -82
- package/src/prompts/ChatPromptMock.js +11 -17
- package/src/prompts/CommandPrompt.js +146 -138
- package/src/prompts/Completion.js +64 -69
- package/src/prompts/MainPrompt.js +84 -77
- package/src/prompts/MainPromptMock.js +19 -30
- package/src/prompts/MultiEditorPrompt.js +21 -22
- package/src/prompts/SigintManager.js +21 -24
- package/src/utils/AliasManager.js +16 -18
- package/src/utils/ContactManager.js +15 -17
- package/src/utils/Fido2Client.js +59 -49
- package/src/utils/HelpProto.js +130 -117
- package/src/utils/Logger.js +48 -50
- package/.eslintignore +0 -0
- package/.eslintrc +0 -33
- package/.jshintrc +0 -3
package/README.md
CHANGED
@@ -5,10 +5,6 @@
|
|
5
5
|
</h1>
|
6
6
|
|
7
7
|
<p align="center">
|
8
|
-
<a href="https://discord.gg/whsgXj">
|
9
|
-
<img src="https://img.shields.io/badge/chat-on%20discord-brightgreen.svg">
|
10
|
-
</a>
|
11
|
-
|
12
8
|
<a href="https://github.com/secrez/secrez/issues">
|
13
9
|
<img src="https://img.shields.io/github/issues/secrez/secrez.svg">
|
14
10
|
</a>
|
@@ -24,11 +20,21 @@
|
|
24
20
|
<a href="LICENSE">
|
25
21
|
<img src="https://img.shields.io/github/license/secrez/secrez.svg">
|
26
22
|
</a>
|
23
|
+
|
24
|
+
<a href="https://discord.gg/whsgXj">
|
25
|
+
<img src="https://img.shields.io/badge/chat-on%20discord-brightgreen.svg">
|
26
|
+
</a>
|
27
|
+
|
28
|
+
<a href="https://gitter.im/secrez/secrez?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge" alt="Join the chat at https://gitter.im/secrez/secrez">
|
29
|
+
<img src="https://badges.gitter.im/secrez/secrez.svg">
|
30
|
+
</a>
|
31
|
+
|
27
32
|
</p>
|
28
33
|
|
29
34
|
Secrez is:
|
30
|
-
|
31
|
-
|
35
|
+
|
36
|
+
- a CLI secret manager working as an encrypted file system;
|
37
|
+
- a decentralized surveillance-resistant end-to-end encrypted messaging system.
|
32
38
|
|
33
39
|
## Intro
|
34
40
|
|
@@ -36,7 +42,6 @@ At the very basic, Secrez is a CLI application that manages a particular encrypt
|
|
36
42
|
|
37
43
|
The idea is to interact with encrypted virtual files as if they are just files in a standard file system.
|
38
44
|
|
39
|
-
|
40
45
|
## Why Secrez?
|
41
46
|
|
42
47
|
There are two primary approaches to secrets and password management:
|
@@ -70,7 +75,6 @@ Starting from version `0.6.0`, the data are organized in datasets. Think of them
|
|
70
75
|
|
71
76
|
By default, Secrez generates two datasets: `main` and `trash`. You can create more with, for example, `use -c archive`. The advantage of multiple datasets is mostly for people who have a lot of secrets to manage. If you have 2,000, if they are all in the primary dataset, the system will probably become quite slow. The solution is to move data to separate datasets (`archive`, `backup`, `twitter`, `cryptos`, etc.)
|
72
77
|
|
73
|
-
|
74
78
|
## Secrez never lose secrets
|
75
79
|
|
76
80
|
One of the primary goal of a secrets manager is that you will never lose any data.
|
@@ -101,9 +105,11 @@ To avoid to repeat the same process on the other computer (which will generate f
|
|
101
105
|
## The name convention
|
102
106
|
|
103
107
|
A file name in Secrez looks like
|
108
|
+
|
104
109
|
```
|
105
110
|
1VAnGLojzCDWhfZRK8PCYK203WBzJkAA28FhKHdS7DM5SkJaTgYdGfN1MAjTdfUYSzvtDVsMJvGodoHWzMuK6zr
|
106
111
|
```
|
112
|
+
|
107
113
|
where `1` is the type (DIR, other types are TEXT and BINARY), and the rest is a encrypted message with nonce, in Base58 format.
|
108
114
|
|
109
115
|
The encrypted part is the combination of id, timestamp, and actual filename.
|
@@ -119,7 +125,6 @@ Secrez manages trees as single immutable files. During a session, temporary file
|
|
119
125
|
|
120
126
|
After comparing many possibilities, Secrez uses [NaCl](https://github.com/dchest/tweetnacl-js) as a crypto library. The advantage is that the library includes many algorithms for synchronous and asynchronous encryption.
|
121
127
|
|
122
|
-
|
123
128
|
## How to install it
|
124
129
|
|
125
130
|
First, Secrez require at least Node 10. If you have installed a previous version it will generates unclear errors and refuse to install or work. I suggest you install Node using `nvm`, if you can. For more info look at [https://github.com/nvm-sh/nvm](https://github.com/nvm-sh/nvm).
|
@@ -136,7 +141,9 @@ To install pnpm run
|
|
136
141
|
```
|
137
142
|
npm i -g pnpm
|
138
143
|
```
|
144
|
+
|
139
145
|
and later
|
146
|
+
|
140
147
|
```
|
141
148
|
pnpm i -g secrez
|
142
149
|
```
|
@@ -144,6 +151,7 @@ pnpm i -g secrez
|
|
144
151
|
## How to use it
|
145
152
|
|
146
153
|
In the simplest case, you can just run
|
154
|
+
|
147
155
|
```
|
148
156
|
secrez
|
149
157
|
```
|
@@ -153,16 +161,21 @@ At first run, Secrez will ask you for the number of iterations (suggested betwee
|
|
153
161
|
Since Secrez derives a master key from your password using `crypto.pbkdf2`, the number of iterations is a significant addition to the general security because the number of iterations is part of the salt used for the derivation. Even if you use a not-very-hard-to-guess password, if the attacker does not know the number of iterations, he has to try all the possible ones. Considering that 2,000,000 iterations require a second or so, customizable iterations increases enormously the overall security.
|
154
162
|
|
155
163
|
At first launch, you can also explicitly set up the number of iterations:
|
164
|
+
|
156
165
|
```
|
157
166
|
secrez -i 1023896
|
158
167
|
```
|
168
|
+
|
159
169
|
or
|
170
|
+
|
160
171
|
```
|
161
172
|
secrez -si 876352
|
162
173
|
```
|
174
|
+
|
163
175
|
where the `-s` option saves the number locally in a git-ignored `env.json` file. This way you don't have to retype it all the time to launch Secrez (typing a wrong number of iterations, of course, will produce an error).
|
164
176
|
|
165
177
|
You can save locally the number of iterations adding the options `-s`, like:
|
178
|
+
|
166
179
|
```
|
167
180
|
secrez -s
|
168
181
|
```
|
@@ -177,6 +190,7 @@ Other options at launch are:
|
|
177
190
|
By default, both folders are your homedir (`~`).
|
178
191
|
|
179
192
|
Running Secrez in different containers (with the `-c` option), you can set up multiple independent encrypted databases. For example:
|
193
|
+
|
180
194
|
```
|
181
195
|
secrez -c ~/data/secrez
|
182
196
|
```
|
@@ -227,7 +241,7 @@ secrez -c ~/data/secrez
|
|
227
241
|
use Uses a specific dataset.
|
228
242
|
ver Shows the version of Secrez.
|
229
243
|
whoami Show data that other users need to chat with you
|
230
|
-
|
244
|
+
|
231
245
|
```
|
232
246
|
|
233
247
|
## Some example
|
@@ -257,43 +271,57 @@ This is one of my favorite commands. In fact, let's say that you have just downl
|
|
257
271
|
## Aliases — where the fun comes :-)
|
258
272
|
|
259
273
|
Suppose that you have a card for your bank and want to log into it. You could copy email and password to the clipboard to paste them in the browser. Suppose that you expect to be able in 4 seconds to move from the terminal to the browser, you could run the command:
|
274
|
+
|
260
275
|
```
|
261
276
|
copy bank.yml -f email password -d 4 2
|
262
277
|
```
|
278
|
+
|
263
279
|
This will copy the email field and give you 4 seconds to paste it in the browser. Then, it will emit a beep and you have 2 seconds to paste the password. It sounds quite useful, but it can be better.
|
264
280
|
|
265
281
|
If you use that login often, you could like to create an alias for it with:
|
282
|
+
|
266
283
|
```
|
267
284
|
alias b -c "copy bank.yml -f email password -d 4 2
|
268
285
|
```
|
286
|
+
|
269
287
|
Next time, you can just type
|
288
|
+
|
270
289
|
```
|
271
290
|
b
|
272
291
|
```
|
292
|
+
|
273
293
|
It looks great, right? Well, it can be even better.
|
274
294
|
|
275
295
|
Let’s say that you are using a 2FA app (like Google Authenticator) to connect to a website, for example, GitHub. Suppose that you have a file github.yml with a field totp which is the secret that GitHub gave you when you activated the 2FA. You could execute
|
296
|
+
|
276
297
|
```
|
277
298
|
totp github.yml
|
278
299
|
```
|
300
|
+
|
279
301
|
to generate a TOTP token for GitHub. The token will be shown and copied in the clipboard. Now, you can create an alias like this
|
302
|
+
|
280
303
|
```
|
281
304
|
alias G -c "copy github.yml -f username password -d 4 2 --wait && totp github.yml"
|
282
305
|
```
|
306
|
+
|
283
307
|
Can you guess what this will do?
|
284
308
|
|
285
|
-
|
286
|
-
|
287
|
-
|
309
|
+
- It copies the username in the clipboard;
|
310
|
+
- it waits 5 seconds, emits a beep and copies the password;
|
311
|
+
- it waits 3 seconds, emits a beep and copies the TOTP token and keep it in the clipboard.
|
288
312
|
|
289
313
|
You can also use parameters in aliases and create a macro like
|
314
|
+
|
290
315
|
```
|
291
316
|
alias M -c "copy $1 -f username password -d 4 2 --wait && totp $1"
|
292
317
|
```
|
318
|
+
|
293
319
|
and call it with
|
320
|
+
|
294
321
|
```
|
295
322
|
M github.yml
|
296
323
|
```
|
324
|
+
|
297
325
|
It is fantastic, isn’t it?
|
298
326
|
|
299
327
|
_Btw, using a TOTP factor in Secrez is a bit of a contradiction, because you are converting a second factor (something that you have) in a first factor (something that you know). So, use this feature only when it makes sense._
|
@@ -303,6 +331,7 @@ _Btw, using a TOTP factor in Secrez is a bit of a contradiction, because you are
|
|
303
331
|
From version 0.5.2, Secrez supports import of backups from other softwares.
|
304
332
|
|
305
333
|
Suppose you have exported your password in a CSV file name export.csv like this:
|
334
|
+
|
306
335
|
```
|
307
336
|
Path,Username,Password,Web Site,Notes
|
308
337
|
twitter/nick1,nick1@example.com,938eyehddu373,"http://cssasasa.com"
|
@@ -311,15 +340,19 @@ somePath,,s83832jedjdj,"http://262626626.com","Multi
|
|
311
340
|
line
|
312
341
|
notes"
|
313
342
|
```
|
343
|
+
|
314
344
|
It is necessary a field named `path` because if not Secrez does not know where to put the new data. The path is supposed to be relative, allowing you to import it in your favorite folder.
|
315
345
|
|
316
346
|
For example, to import it in the `1PasswordData` you could call
|
347
|
+
|
317
348
|
```
|
318
349
|
import export.csv -e 1PasswordData -t
|
319
350
|
```
|
351
|
+
|
320
352
|
The parameter `-e, --expand` is necessary. If missed, Secrez will import the file as a single file.
|
321
353
|
|
322
354
|
Internally, Secrez converts the CSV in a JSON file like this:
|
355
|
+
|
323
356
|
```
|
324
357
|
[
|
325
358
|
{
|
@@ -341,12 +374,15 @@ Internally, Secrez converts the CSV in a JSON file like this:
|
|
341
374
|
}
|
342
375
|
]
|
343
376
|
```
|
377
|
+
|
344
378
|
which means that you can also format your data as a JSON like that and import that directly with
|
379
|
+
|
345
380
|
```
|
346
381
|
import export.json -e 1PasswordData
|
347
382
|
```
|
348
383
|
|
349
384
|
Any item will generate a single Yaml file, like, for example, the last element in the JSON, will generate the file `/1PasswordDate/somePath.yml` with the following content:
|
385
|
+
|
350
386
|
```
|
351
387
|
password: s83832jedjdj
|
352
388
|
web_site: http://262626626.com
|
@@ -366,13 +402,17 @@ If in the CSV file there is also the field `tags`, you can tag automatically any
|
|
366
402
|
### What if there is no path field?
|
367
403
|
|
368
404
|
Let's say that you want to import a CSV file exported by LastPass. There is not `path` field but you probably want to use the fields `grouping` and `name` to build the path. From version `0.8.8`, you can do it, launching, for example:
|
405
|
+
|
369
406
|
```
|
370
407
|
import ~/Downloads/lastpass_export.csv -e lastpass -P grouping name
|
371
408
|
```
|
409
|
+
|
372
410
|
or, if you like to put everything in the folder `lastpass` without generating any subfolder, you can just run
|
411
|
+
|
373
412
|
```
|
374
413
|
import ~/Downloads/lastpass_export.csv -e lastpass -P name -m
|
375
414
|
```
|
415
|
+
|
376
416
|
using only the `name` field. Still, if in the name there is any slash, a subfolder will be created. The `-m` option will remove the csv file from the OS.
|
377
417
|
|
378
418
|
In these two examples, be sure that any of your entries in LastPass has a name. If not, the import will fail because it does't know how to call the file.
|
@@ -387,7 +427,6 @@ Still, it is convenient to edit the exported file to fix paths and names. Doing
|
|
387
427
|
|
388
428
|
**It has been removed in version 0.11.0 due to potentially critical issues with Python and the required libraries on MacOS (2FA will be restored as soon as a pure Javascript library is available)**
|
389
429
|
|
390
|
-
|
391
430
|
## (experimental) End-to-end encrypted communication with other accounts
|
392
431
|
|
393
432
|
Starting from version 0.8.0, Secrez allows to exchange encrypted messages with other users. To do it, you must set up a local Courier ([look here for more info](https://github.com/secrez/secrez/tree/master/packages/courier)).
|
@@ -409,272 +448,349 @@ Secrez does not want to compete with password managers. So, don't expect in the
|
|
409
448
|
|
410
449
|
## History
|
411
450
|
|
412
|
-
|
413
|
-
|
451
|
+
**1.1.1**
|
452
|
+
|
453
|
+
- New options for `touch`:
|
454
|
+
- `--wait-for-content` to prompt the user to add the content, instead of expecting it as a parameter. The content will be trimmed at the first newline, if there is any.
|
455
|
+
- `--generate-wallet` to generate an Ethereum-compatible wallet in a new card or in an existing one. It generates the fields `private_key` and `address`, with private key and address.
|
456
|
+
- `--prefix` in combination with `--generate-wallet` specifies the prefix of the field, calling the fields, for example `my_private_key` and `my_address` if the prefix is `my`.
|
457
|
+
- `--amount` in combination with `--generate-wallet` specifies the amount of wallets to generate. The default is 1.
|
458
|
+
|
459
|
+
**1.1.0**
|
460
|
+
|
461
|
+
- Remove `git`. If used carefully, the command was helpful, but still it is at risk of creating conflicts. After long thoughts, I disapproved my own proposal at: https://github.com/secrez/secrez/pull/163
|
462
|
+
|
463
|
+
**1.0.4**
|
464
|
+
|
465
|
+
- Fix wrong example in `import`
|
466
|
+
|
467
|
+
**1.0.3**
|
468
|
+
|
469
|
+
- `git` asks to quit Secrez and merge manually if there are remote changes
|
470
|
+
- `totp` allows to add a totp code to an existing yaml file using the option `--set` (see the examples)
|
471
|
+
- Default duration before clipboard reverse for `totp` is now 8 seconds
|
472
|
+
|
473
|
+
**1.0.2**
|
474
|
+
|
475
|
+
- Export and Import can encrypt/decrypt files using shared keys generated from a specified public key
|
476
|
+
- Can export ecrypted file for the user itself, files that can be decrypted only from inside the secrez account that exported them
|
477
|
+
|
478
|
+
**1.0.1**
|
479
|
+
|
480
|
+
- Export and Import can handle encryption. Files can be exported encrypted using a specified password or a key shared with contacts
|
481
|
+
- Contacts can add a contact also using contact's public key (previously you need a hub url)
|
482
|
+
- Import specifies the file that have been skipped (because binary, encrypted or both)
|
483
|
+
|
484
|
+
**1.0.0**
|
485
|
+
|
486
|
+
- Requires `@secrez/utils@1.0.1` which fixes a yaml parsing error with ETH-like addresses
|
487
|
+
|
488
|
+
**1.0.0-beta.3**
|
489
|
+
|
490
|
+
- Rm allows to delete specific versions of a file
|
491
|
+
|
492
|
+
**1.0.0-beta.2**
|
493
|
+
|
494
|
+
- Git has new options `--init`, `--remote-url` and `--main-branch` to initiate a repo from inside Secrez
|
495
|
+
|
496
|
+
**1.0.0-beta.1**
|
497
|
+
|
498
|
+
- use @secrez/core@1.0.0, which changes the encoding from base58 to base64, making the encoding much faster
|
499
|
+
- remove second factor authentication due to potentially critical issues with Python and the required libraries on macOS (2FA will be restored as soon as either a pure Javascript library is available or using external Python libraries is reliable again)
|
500
|
+
- `Bash` has been renamed `Shell`
|
501
|
+
|
502
|
+
**0.10.8**
|
503
|
+
|
504
|
+
- expose a prompt mock to allow other software to run commands programmatically
|
505
|
+
- fix bug in totp when the command is called but no totp is set
|
506
|
+
|
507
|
+
**0.10.7**
|
508
|
+
|
509
|
+
- fix bug in `git -i` showing less changed that expected
|
510
|
+
|
511
|
+
**0.10.6**
|
512
|
+
|
513
|
+
- use `£` as an alternative to `#` when getting find results (whoops, I made this for myself, because I use both English and Italian keyboards)
|
514
|
+
- add `leave` to leave a room
|
515
|
+
|
516
|
+
**10.0.5**
|
414
517
|
|
415
|
-
|
416
|
-
|
518
|
+
- fix bug in `git` wrongly returning `already up to date`
|
519
|
+
- fix `git`'s help
|
417
520
|
|
418
|
-
|
419
|
-
* `git` asks to quit Secrez and merge manually if there are remote changes
|
420
|
-
* `totp` allows to add a totp code to an existing yaml file using the option `--set` (see the examples)
|
421
|
-
* Default duration before clipboard reverse for `totp` is now 8 seconds
|
521
|
+
**0.10.4**
|
422
522
|
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
__1.0.1__
|
428
|
-
* Export and Import can handle encryption. Files can be exported encrypted using a specified password or a key shared with contacts
|
429
|
-
* Contacts can add a contact also using contact's public key (previously you need a hub url)
|
430
|
-
* Import specifies the file that have been skipped (because binary, encrypted or both)
|
523
|
+
- remove spaces in secret when launching `totp`
|
524
|
+
- add a `--test` option, to test a secret
|
525
|
+
- remove deprecated `exit`
|
431
526
|
|
432
|
-
|
433
|
-
* Requires `@secrez/utils@1.0.1` which fixes a yaml parsing error with ETH-like addresses
|
527
|
+
**0.10.3**
|
434
528
|
|
435
|
-
|
436
|
-
|
529
|
+
- since it's not possible to clear the entire terminal, the clear screen process creates a false sense of security and has been removed
|
530
|
+
- fix bug in `ls -l` when there are empty files
|
531
|
+
- add message to suggest user to clear or close the terminal after quitting
|
437
532
|
|
438
|
-
|
439
|
-
* Git has new options `--init`, `--remote-url` and `--main-branch` to initiate a repo from inside Secrez
|
533
|
+
**0.10.2**
|
440
534
|
|
441
|
-
|
442
|
-
|
443
|
-
* remove second factor authentication due to potentially critical issues with Python and the required libraries on macOS (2FA will be restored as soon as either a pure Javascript library is available or using external Python libraries is reliable again)
|
444
|
-
* `Bash` has been renamed `Shell`
|
535
|
+
- add a `git` command to push changes to the repo and pull changes
|
536
|
+
- allow to run `bash` without parameters, asking later for the shell command
|
445
537
|
|
446
|
-
|
447
|
-
* expose a prompt mock to allow other software to run commands programmatically
|
448
|
-
* fix bug in totp when the command is called but no totp is set
|
538
|
+
**0.10.1**
|
449
539
|
|
450
|
-
|
451
|
-
* fix bug in `git -i` showing less changed that expected
|
540
|
+
- encrypts binary files as is, without converting them to `base64` strings, like before
|
452
541
|
|
453
|
-
|
454
|
-
* use `£` as an alternative to `#` when getting find results (whoops, I made this for myself, because I use both English and Italian keyboards)
|
455
|
-
* add `leave` to leave a room
|
542
|
+
**0.10.0**
|
456
543
|
|
457
|
-
|
458
|
-
|
459
|
-
* fix `git`'s help
|
544
|
+
- use @secrez/hub 0.2.0 and @secrez/courier 0.2.0 (which are incompatible with the previous versions)
|
545
|
+
- duplicate `whoami` and `contacts` to make them working inside the `chat` environment
|
460
546
|
|
461
|
-
|
462
|
-
* remove spaces in secret when launching `totp`
|
463
|
-
* add a `--test` option, to test a secret
|
464
|
-
* remove deprecated `exit`
|
465
|
-
|
466
|
-
__0.10.3__
|
467
|
-
* since it's not possible to clear the entire terminal, the clear screen process creates a false sense of security and has been removed
|
468
|
-
* fix bug in `ls -l` when there are empty files
|
469
|
-
* add message to suggest user to clear or close the terminal after quitting
|
547
|
+
**0.9.4**
|
470
548
|
|
471
|
-
|
472
|
-
* add a `git` command to push changes to the repo and pull changes
|
473
|
-
* allow to run `bash` without parameters, asking later for the shell command
|
549
|
+
- fix bug during import, if a `path` contains `:`; now, they are replaced with `_`
|
474
550
|
|
475
|
-
|
476
|
-
* encrypts binary files as is, without converting them to `base64` strings, like before
|
551
|
+
**0.9.3**
|
477
552
|
|
478
|
-
|
479
|
-
* use @secrez/hub 0.2.0 and @secrez/courier 0.2.0 (which are incompatible with the previous versions)
|
480
|
-
* duplicate `whoami` and `contacts` to make them working inside the `chat` environment
|
553
|
+
- fix bug with `ds -l` not working
|
481
554
|
|
482
|
-
|
483
|
-
* fix bug during import, if a `path` contains `:`; now, they are replaced with `_`
|
555
|
+
**0.9.2**
|
484
556
|
|
485
|
-
|
486
|
-
|
557
|
+
- fix issue in `ls -l` that was working only in the current dataset
|
558
|
+
- fix dates in `ls -l` in UTC time, instead than in local time
|
487
559
|
|
488
|
-
|
489
|
-
* fix issue in `ls -l` that was working only in the current dataset
|
490
|
-
* fix dates in `ls -l` in UTC time, instead than in local time
|
560
|
+
**0.9.1**
|
491
561
|
|
492
|
-
|
493
|
-
* `ls -l` returns details: size, creation date, last update date, number of versions and name
|
562
|
+
- `ls -l` returns details: size, creation date, last update date, number of versions and name
|
494
563
|
|
495
|
-
|
496
|
-
* Add `ds` to manage datasets
|
497
|
-
* `ds` is also able to delete a dataset (moving its content to the `trash` dataset)
|
498
|
-
* Remove feature `--rename` from `use`, since now `ds` manages the datasets
|
564
|
+
**0.9.0**
|
499
565
|
|
500
|
-
|
501
|
-
|
566
|
+
- Add `ds` to manage datasets
|
567
|
+
- `ds` is also able to delete a dataset (moving its content to the `trash` dataset)
|
568
|
+
- Remove feature `--rename` from `use`, since now `ds` manages the datasets
|
502
569
|
|
503
|
-
|
504
|
-
* Pause clearScreen during editing
|
570
|
+
**0.8.10**
|
505
571
|
|
506
|
-
|
507
|
-
* Add the option `pathFrom` in `import` to build the `path` field using other fields
|
572
|
+
- If the default editor is not defined (env variable EDITOR) try to use nano or vim
|
508
573
|
|
509
|
-
|
510
|
-
* Importing from a CSV file generates `.yaml` file instead of `.yml`
|
574
|
+
**0.8.9**
|
511
575
|
|
512
|
-
|
513
|
-
* Uses new onBeforeRewrite in [inquirer-command-prompt](https://github.com/sullof/inquirer-command-prompt) to remove the `#\d` when autocompleting the result of a search
|
576
|
+
- Pause clearScreen during editing
|
514
577
|
|
515
|
-
|
516
|
-
* Fix issue with find results when they include datasets.
|
517
|
-
* Improve scripts (getting coverage only for modified packages)
|
518
|
-
* Add a secrez.png as a generic asset
|
578
|
+
**0.8.8**
|
519
579
|
|
520
|
-
|
521
|
-
* fix issue if a file starts with #\d, like `#2something`
|
580
|
+
- Add the option `pathFrom` in `import` to build the `path` field using other fields
|
522
581
|
|
523
|
-
|
524
|
-
* add autocomplete based on `find` results; for example `cat #2` and press `tab` will complete with the second result in the search
|
525
|
-
|
526
|
-
__0.8.2__
|
527
|
-
* fix bug in `show` which listed all the messages
|
528
|
-
|
529
|
-
__0.8.1__
|
530
|
-
* fix bug in `conf` setting a 2FA
|
531
|
-
* improve encapsulation of the `_Secrez` class
|
532
|
-
|
533
|
-
__0.8.0__
|
534
|
-
* add `contacts` to manage trusted users, i.e, trusted public keys
|
535
|
-
* add `whoami` to get info about the account
|
536
|
-
* add @secrez/courier to allow communication between local accounts
|
537
|
-
* add @secrez/hub for the remote hub
|
538
|
-
* add @secrez/tunnel to manage the tunneling for the Courier
|
539
|
-
* add `chat` to enter the chat environemnt, and send/receive messages and data to any trusted user
|
540
|
-
* add `chat`'s subcommands `join`, `send` and `show`.
|
541
|
-
* return `find` results as a numbered list, to be used as variable (like `$1`) in following commands
|
542
|
-
* deprecate `exit` in favor of `quit` to leave rooms, chat and app
|
543
|
-
* add `ssh` to connect via ssh to a remote server from inside Secrez, to protect private keys without password
|
582
|
+
**0.8.7**
|
544
583
|
|
545
|
-
|
546
|
-
* fix chained aliases generating prompt duplications
|
547
|
-
|
548
|
-
__0.7.13__
|
549
|
-
* fix autocomplete when single command
|
550
|
-
|
551
|
-
__0.7.12__
|
552
|
-
* adds support for Linux to `totp --from-clipboard`, using `xclip`
|
553
|
-
|
554
|
-
__0.7.11__
|
555
|
-
* returns an alert if `clipboardy` does not find the required libraries
|
584
|
+
- Importing from a CSV file generates `.yaml` file instead of `.yml`
|
556
585
|
|
557
|
-
|
558
|
-
* fixes the autocomplete loading the data only when needed
|
586
|
+
**0.8.6**
|
559
587
|
|
560
|
-
|
561
|
-
* fix bug in MainPrompt.js which caused an exit if command not found
|
562
|
-
|
563
|
-
__0.7.8__
|
564
|
-
* upgrade `@secrez/core` to `0.7.1` which fixes an error if `env.json` does not exists
|
588
|
+
- Uses new onBeforeRewrite in [inquirer-command-prompt](https://github.com/sullof/inquirer-command-prompt) to remove the `#\d` when autocompleting the result of a search
|
565
589
|
|
566
|
-
|
567
|
-
* aliases now accept params (ex. `alias x -c 'copy $1 && ls $2 $1')
|
590
|
+
**0.8.5**
|
568
591
|
|
569
|
-
|
570
|
-
|
571
|
-
|
592
|
+
- Fix issue with find results when they include datasets.
|
593
|
+
- Improve scripts (getting coverage only for modified packages)
|
594
|
+
- Add a secrez.png as a generic asset
|
572
595
|
|
573
|
-
|
574
|
-
* `totp` can read an image to scan a qrcode and recover its secret
|
575
|
-
* on MacOs, `totp` can also read the image from the clipboard to recover its secret; it requires `pngpaste`
|
596
|
+
**0.8.4**
|
576
597
|
|
577
|
-
|
578
|
-
* fix bug in autocomplete showing the error stack
|
579
|
-
* add script to upgrade the versions of any changed packages
|
598
|
+
- fix issue if a file starts with #\d, like `#2something`
|
580
599
|
|
581
|
-
|
582
|
-
* `find` ignores `trash` during global searches if not using `--trash-too`
|
583
|
-
* update to `@secrez/fs 0.7.2`, which fixes a bug in the `DataCache` class
|
600
|
+
**0.8.3**
|
584
601
|
|
585
|
-
|
586
|
-
* `totp` allows to generate TOTP codes (like Google Authenticator)
|
587
|
-
* add option `--wait` to `copy` to force it to wait the end of the execution
|
588
|
-
* `alias` handles chains of commands, like `copy coinbase.yml -f email password -d 3 2 --wait && totp coinbase.yml`
|
602
|
+
- add autocomplete based on `find` results; for example `cat #2` and press `tab` will complete with the second result in the search
|
589
603
|
|
590
|
-
|
591
|
-
* Calling a command with unknown options will generate an error
|
592
|
-
* Fix issue moving duplicates
|
593
|
-
* Adds to `mv` an explicit destination field
|
604
|
+
**0.8.2**
|
594
605
|
|
595
|
-
|
596
|
-
* Introduce a more secure derivation process, using the iterations number in the salt. During the upgrade existing second factors of authentication will be removed
|
597
|
-
* Allow to change password and number of iterations in `conf`. BE CAREFUl, any change in `conf` can cause conflicts in a remote repo. Don't do the same changes parallelly
|
606
|
+
- fix bug in `show` which listed all the messages
|
598
607
|
|
599
|
-
|
600
|
-
* Add `duration` to `export` to delete the exported file after the duration (in seconds)
|
608
|
+
**0.8.1**
|
601
609
|
|
602
|
-
|
603
|
-
|
610
|
+
- fix bug in `conf` setting a 2FA
|
611
|
+
- improve encapsulation of the `_Secrez` class
|
604
612
|
|
605
|
-
|
606
|
-
* Minor bug fix
|
613
|
+
**0.8.0**
|
607
614
|
|
608
|
-
|
609
|
-
|
615
|
+
- add `contacts` to manage trusted users, i.e, trusted public keys
|
616
|
+
- add `whoami` to get info about the account
|
617
|
+
- add @secrez/courier to allow communication between local accounts
|
618
|
+
- add @secrez/hub for the remote hub
|
619
|
+
- add @secrez/tunnel to manage the tunneling for the Courier
|
620
|
+
- add `chat` to enter the chat environemnt, and send/receive messages and data to any trusted user
|
621
|
+
- add `chat`'s subcommands `join`, `send` and `show`.
|
622
|
+
- return `find` results as a numbered list, to be used as variable (like `$1`) in following commands
|
623
|
+
- deprecate `exit` in favor of `quit` to leave rooms, chat and app
|
624
|
+
- add `ssh` to connect via ssh to a remote server from inside Secrez, to protect private keys without password
|
610
625
|
|
611
|
-
|
612
|
-
* Add support for U2F keys (Yubikey, Solokeys, etc.)
|
613
|
-
* `ls` now returns sorted results
|
614
|
-
* Fixed bug with `mv` and `rm` when using wildcards
|
615
|
-
* Dynamic format for help, managing large examples
|
626
|
+
**0.7.14**
|
616
627
|
|
617
|
-
|
618
|
-
* Allow multiple datasets; `main` and `trash` exists by default
|
619
|
-
* At start, purges old trees after successfully loading a dataset
|
620
|
-
* `use` allows to use and create new dataset
|
621
|
-
* `mv` supports `-d, --destination` for the destination
|
622
|
-
* `mv` allows to move files among datasets with a syntax like `mv somefile archive:/` or `mv archive:somefile main:/some/`
|
623
|
-
* `mv` adds `--find` and `--content-too` to use the result of a search as input
|
624
|
-
* `mv`, if no destination set, asks if like to use the active directory in the target dataset
|
625
|
-
* `ls -o d` and `ls -o f` to limit the listing only to folders or files
|
626
|
-
* `copy` allows to select the field to copy in yaml files
|
627
|
-
* Improve autocomplete to handle datasets
|
628
|
-
* Fix autocomplete in `lcat`, which was wrongly using the internal files
|
629
|
-
* `tag` is able to list and show tags along all the datasets, anche can use `--find` like `mv`
|
628
|
+
- fix chained aliases generating prompt duplications
|
630
629
|
|
631
|
-
|
632
|
-
* Find in content excludes binary contents
|
630
|
+
**0.7.13**
|
633
631
|
|
634
|
-
|
635
|
-
* Optimize find inside contents caching the data
|
636
|
-
* Fix an error returning wrong cases in the results
|
637
|
-
* Remove an unnecessary message when nothing is recovered
|
632
|
+
- fix autocomplete when single command
|
638
633
|
|
639
|
-
|
640
|
-
* Use tags to prefix the path during import
|
634
|
+
**0.7.12**
|
641
635
|
|
642
|
-
|
643
|
-
* Fix the README that was not aligned
|
636
|
+
- adds support for Linux to `totp --from-clipboard`, using `xclip`
|
644
637
|
|
645
|
-
|
646
|
-
* Add Paste to paste the clipboard content in either a new or existent file, emptying the clipboard
|
647
|
-
* Fix bug with Copy that was preventing the command from working
|
638
|
+
**0.7.11**
|
648
639
|
|
649
|
-
|
650
|
-
* Allow Import, with the options `-t`, to recognize tags during the import from CSV
|
651
|
-
* Split Export in Export and Copy. The first only exports to the FS, the second copies to the clipboard
|
640
|
+
- returns an alert if `clipboardy` does not find the required libraries
|
652
641
|
|
653
|
-
|
654
|
-
* Add wildcard support for Import, Mv, Rm and Tag
|
655
|
-
* Add support for recursion during import
|
642
|
+
**0.7.10**
|
656
643
|
|
657
|
-
|
658
|
-
* Add Tag command to tag files and folders
|
644
|
+
- fixes the autocomplete loading the data only when needed
|
659
645
|
|
660
|
-
|
661
|
-
* Optimize Import avoiding intermediate saves of the tree
|
662
|
-
* Fix an issue with iterations at launch
|
646
|
+
**0.7.9**
|
663
647
|
|
664
|
-
|
665
|
-
* Add Import of many entries from CSV and JSON files
|
648
|
+
- fix bug in MainPrompt.js which caused an exit if command not found
|
666
649
|
|
667
|
-
|
668
|
-
* Use Yaml files as cards, being able to read and edit single fields
|
650
|
+
**0.7.8**
|
669
651
|
|
670
|
-
|
671
|
-
* Remove obfuscation of the tree before saving (it was an overkill)
|
652
|
+
- upgrade `@secrez/core` to `0.7.1` which fixes an error if `env.json` does not exists
|
672
653
|
|
673
|
-
|
674
|
-
* Add Find to search in files and folders
|
654
|
+
**0.7.7**
|
675
655
|
|
676
|
-
|
677
|
-
|
656
|
+
- aliases now accept params (ex. `alias x -c 'copy $1 && ls $2 $1')
|
657
|
+
|
658
|
+
**0.7.6**
|
659
|
+
|
660
|
+
- `rm` ask confirmation before delete forever from the `trash` dataset
|
661
|
+
- `edit` does not crash if no path is passed
|
662
|
+
|
663
|
+
**0.7.5**
|
664
|
+
|
665
|
+
- `totp` can read an image to scan a qrcode and recover its secret
|
666
|
+
- on MacOs, `totp` can also read the image from the clipboard to recover its secret; it requires `pngpaste`
|
667
|
+
|
668
|
+
**0.7.4**
|
669
|
+
|
670
|
+
- fix bug in autocomplete showing the error stack
|
671
|
+
- add script to upgrade the versions of any changed packages
|
672
|
+
|
673
|
+
**0.7.3**
|
674
|
+
|
675
|
+
- `find` ignores `trash` during global searches if not using `--trash-too`
|
676
|
+
- update to `@secrez/fs 0.7.2`, which fixes a bug in the `DataCache` class
|
677
|
+
|
678
|
+
**0.7.2**
|
679
|
+
|
680
|
+
- `totp` allows to generate TOTP codes (like Google Authenticator)
|
681
|
+
- add option `--wait` to `copy` to force it to wait the end of the execution
|
682
|
+
- `alias` handles chains of commands, like `copy coinbase.yml -f email password -d 3 2 --wait && totp coinbase.yml`
|
683
|
+
|
684
|
+
**0.7.1**
|
685
|
+
|
686
|
+
- Calling a command with unknown options will generate an error
|
687
|
+
- Fix issue moving duplicates
|
688
|
+
- Adds to `mv` an explicit destination field
|
689
|
+
|
690
|
+
**0.7.0**
|
691
|
+
|
692
|
+
- Introduce a more secure derivation process, using the iterations number in the salt. During the upgrade existing second factors of authentication will be removed
|
693
|
+
- Allow to change password and number of iterations in `conf`. BE CAREFUl, any change in `conf` can cause conflicts in a remote repo. Don't do the same changes parallelly
|
694
|
+
|
695
|
+
**0.6.5**
|
696
|
+
|
697
|
+
- Add `duration` to `export` to delete the exported file after the duration (in seconds)
|
698
|
+
|
699
|
+
**0.6.4**
|
700
|
+
|
701
|
+
- Add `alias` to generate alias of any command
|
702
|
+
|
703
|
+
**0.6.3**
|
704
|
+
|
705
|
+
- Minor bug fix
|
706
|
+
|
707
|
+
**0.6.2**
|
708
|
+
|
709
|
+
- `copy` can put many fields in the clipboard, scheduling them
|
710
|
+
|
711
|
+
**0.6.1**
|
712
|
+
|
713
|
+
- Add support for U2F keys (Yubikey, Solokeys, etc.)
|
714
|
+
- `ls` now returns sorted results
|
715
|
+
- Fixed bug with `mv` and `rm` when using wildcards
|
716
|
+
- Dynamic format for help, managing large examples
|
717
|
+
|
718
|
+
**0.6.0**
|
719
|
+
|
720
|
+
- Allow multiple datasets; `main` and `trash` exists by default
|
721
|
+
- At start, purges old trees after successfully loading a dataset
|
722
|
+
- `use` allows to use and create new dataset
|
723
|
+
- `mv` supports `-d, --destination` for the destination
|
724
|
+
- `mv` allows to move files among datasets with a syntax like `mv somefile archive:/` or `mv archive:somefile main:/some/`
|
725
|
+
- `mv` adds `--find` and `--content-too` to use the result of a search as input
|
726
|
+
- `mv`, if no destination set, asks if like to use the active directory in the target dataset
|
727
|
+
- `ls -o d` and `ls -o f` to limit the listing only to folders or files
|
728
|
+
- `copy` allows to select the field to copy in yaml files
|
729
|
+
- Improve autocomplete to handle datasets
|
730
|
+
- Fix autocomplete in `lcat`, which was wrongly using the internal files
|
731
|
+
- `tag` is able to list and show tags along all the datasets, anche can use `--find` like `mv`
|
732
|
+
|
733
|
+
**0.5.13**
|
734
|
+
|
735
|
+
- Find in content excludes binary contents
|
736
|
+
|
737
|
+
**0.5.12**
|
738
|
+
|
739
|
+
- Optimize find inside contents caching the data
|
740
|
+
- Fix an error returning wrong cases in the results
|
741
|
+
- Remove an unnecessary message when nothing is recovered
|
742
|
+
|
743
|
+
**0.5.11**
|
744
|
+
|
745
|
+
- Use tags to prefix the path during import
|
746
|
+
|
747
|
+
**0.5.10**
|
748
|
+
|
749
|
+
- Fix the README that was not aligned
|
750
|
+
|
751
|
+
**0.5.9**
|
752
|
+
|
753
|
+
- Add Paste to paste the clipboard content in either a new or existent file, emptying the clipboard
|
754
|
+
- Fix bug with Copy that was preventing the command from working
|
755
|
+
|
756
|
+
**0.5.8**
|
757
|
+
|
758
|
+
- Allow Import, with the options `-t`, to recognize tags during the import from CSV
|
759
|
+
- Split Export in Export and Copy. The first only exports to the FS, the second copies to the clipboard
|
760
|
+
|
761
|
+
**0.5.7**
|
762
|
+
|
763
|
+
- Add wildcard support for Import, Mv, Rm and Tag
|
764
|
+
- Add support for recursion during import
|
765
|
+
|
766
|
+
**0.5.6**
|
767
|
+
|
768
|
+
- Add Tag command to tag files and folders
|
769
|
+
|
770
|
+
**0.5.5**
|
771
|
+
|
772
|
+
- Optimize Import avoiding intermediate saves of the tree
|
773
|
+
- Fix an issue with iterations at launch
|
774
|
+
|
775
|
+
**0.5.4**
|
776
|
+
|
777
|
+
- Add Import of many entries from CSV and JSON files
|
778
|
+
|
779
|
+
**0.5.3**
|
780
|
+
|
781
|
+
- Use Yaml files as cards, being able to read and edit single fields
|
782
|
+
|
783
|
+
**0.5.2**
|
784
|
+
|
785
|
+
- Remove obfuscation of the tree before saving (it was an overkill)
|
786
|
+
|
787
|
+
**0.5.1**
|
788
|
+
|
789
|
+
- Add Find to search in files and folders
|
790
|
+
|
791
|
+
**0.5.0**
|
792
|
+
|
793
|
+
- First stable version
|
678
794
|
|
679
795
|
Versions < 0.5.0 are deprecated because the format was sligtly different and they are incompatible.
|
680
796
|
|
@@ -701,145 +817,153 @@ npm i -g pnpm
|
|
701
817
|
```
|
702
818
|
|
703
819
|
#### Bootstrap the monorepo
|
820
|
+
|
704
821
|
```
|
705
822
|
npm run reset
|
706
823
|
```
|
824
|
+
|
707
825
|
#### Install OS requirements
|
826
|
+
|
708
827
|
To complete the tests, you must install some tool, depending on you operating system.
|
709
828
|
|
710
829
|
The `copy` command does not work on Linux is `xsel` is not installed. So, if you, for example, are working on Ubuntu, install it with
|
830
|
+
|
711
831
|
```
|
712
832
|
sudo apt install xsel
|
713
833
|
```
|
834
|
+
|
714
835
|
The `totp` command requires, on MacOS, `pngpaste`. You can install it with
|
836
|
+
|
715
837
|
```
|
716
838
|
brew install pngpaste
|
717
839
|
```
|
840
|
+
|
718
841
|
The `conf` command, requires `Python-fido2`. If you don't have Python, install it. After you can install `fido2` running:
|
842
|
+
|
719
843
|
```
|
720
844
|
pip install fido2
|
721
845
|
```
|
846
|
+
|
722
847
|
Notice that during the execution of Secrez, an error is generated if those tools have not been found. But, nothing happens, during testing. So, please, install them.
|
723
848
|
|
724
849
|
#### Testing
|
850
|
+
|
725
851
|
Run
|
852
|
+
|
726
853
|
```
|
727
854
|
npm run test
|
728
855
|
```
|
856
|
+
|
729
857
|
This depends where you run it. If you run from the root it executes all the tests, if you run from inside a package, it runs only its specific tests.
|
730
858
|
You can also run
|
859
|
+
|
731
860
|
```
|
732
861
|
npm run test-only
|
733
862
|
```
|
863
|
+
|
734
864
|
to skip the coverage. This is very helpful during the development.
|
735
865
|
|
736
866
|
#### Debugging
|
737
867
|
|
738
868
|
To see if it works, you can execute your version of Secrez running, from inside `packages/secrez`
|
869
|
+
|
739
870
|
```
|
740
871
|
npm run dev
|
741
872
|
```
|
873
|
+
|
742
874
|
and create a dev account for you playing.
|
743
875
|
|
744
876
|
#### Pull Requests
|
745
877
|
|
746
878
|
To prepare the code for a PR, you should realign the versions. You can do this, from the root, calling
|
879
|
+
|
747
880
|
```
|
748
881
|
npm run patch-versions
|
749
882
|
```
|
883
|
+
|
750
884
|
Then, you can prepare the README inserting the coverage. To do it, run
|
885
|
+
|
751
886
|
```
|
752
887
|
npm run pre-push
|
753
888
|
```
|
889
|
+
|
754
890
|
Finally, you can push to GitHub.
|
755
891
|
|
756
892
|
Thanks a lot for any contribution 😉
|
757
893
|
|
758
|
-
|
759
894
|
## Test coverage
|
760
895
|
|
761
896
|
```
|
762
|
-
|
763
|
-
1 pending
|
897
|
+
8 passing (1s)
|
764
898
|
|
765
899
|
-----------------------|---------|----------|---------|---------|-----------------------------------
|
766
900
|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
|
767
901
|
-----------------------|---------|----------|---------|---------|-----------------------------------
|
768
|
-
All files |
|
769
|
-
src |
|
770
|
-
Command.js |
|
771
|
-
PreCommand.js |
|
902
|
+
All files | 19.31 | 6.31 | 17.43 | 19.32 |
|
903
|
+
src | 33.03 | 15.07 | 25 | 33.33 |
|
904
|
+
Command.js | 37.29 | 23.4 | 38.46 | 37.93 | 29-35,40-97,108,119,122-130
|
905
|
+
PreCommand.js | 12.2 | 0 | 0 | 12.2 | 8-115
|
772
906
|
cliConfig.js | 100 | 100 | 100 | 100 |
|
773
|
-
src/commands |
|
774
|
-
Alias.js |
|
775
|
-
Bash.js |
|
776
|
-
Cat.js |
|
777
|
-
Cd.js |
|
778
|
-
Chat.js | 19.51 | 0 | 16.67 | 19.51 |
|
779
|
-
Conf.js |
|
780
|
-
Contacts.js |
|
781
|
-
Copy.js |
|
782
|
-
Courier.js |
|
783
|
-
Ds.js |
|
784
|
-
Edit.js |
|
785
|
-
Export.js |
|
786
|
-
Find.js |
|
787
|
-
Help.js |
|
788
|
-
Import.js |
|
789
|
-
Lcat.js |
|
790
|
-
Lcd.js |
|
791
|
-
Lls.js |
|
792
|
-
Lpwd.js |
|
793
|
-
Ls.js |
|
794
|
-
Mkdir.js |
|
795
|
-
Mv.js |
|
796
|
-
Paste.js |
|
797
|
-
Pwd.js |
|
798
|
-
Quit.js |
|
799
|
-
Rm.js |
|
800
|
-
Shell.js |
|
801
|
-
Ssh.js |
|
802
|
-
Tag.js |
|
803
|
-
Totp.js |
|
804
|
-
Touch.js |
|
805
|
-
Use.js |
|
806
|
-
Ver.js |
|
807
|
-
Whoami.js |
|
808
|
-
chat.js |
|
809
|
-
index.js |
|
810
|
-
src/
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
MainPromptMock.js | 100 | 100 | 66.67 | 100 |
|
825
|
-
MultiEditorPrompt.js | 25 | 0 | 0 | 25 | 8-35
|
826
|
-
SigintManager.js | 25 | 0 | 20 | 25 | 11-37
|
827
|
-
src/utils | 69.92 | 63.28 | 56.25 | 69.55 |
|
828
|
-
AliasManager.js | 100 | 91.67 | 100 | 100 | 48
|
829
|
-
ContactManager.js | 71.43 | 60 | 85.71 | 71.43 | 13,36-38
|
830
|
-
Fido2Client.js | 15.38 | 0 | 11.11 | 15.38 | 15-101
|
831
|
-
HelpProto.js | 91.6 | 84.06 | 100 | 91.45 | 44,137-138,155-160,179
|
832
|
-
Logger.js | 63.64 | 56.25 | 36.84 | 62.79 | ...38-50,58,66-70,75,85,89,94,107
|
907
|
+
src/commands | 15.44 | 2.67 | 19.63 | 15.5 |
|
908
|
+
Alias.js | 8.11 | 0 | 25 | 8.22 | 62-213
|
909
|
+
Bash.js | 62.5 | 0 | 33.33 | 62.5 | 11-19
|
910
|
+
Cat.js | 12.09 | 0 | 14.29 | 12.09 | 61-220
|
911
|
+
Cd.js | 17.86 | 0 | 25 | 17.86 | 28-73
|
912
|
+
Chat.js | 19.51 | 0 | 16.67 | 19.51 | 23-144
|
913
|
+
Conf.js | 8.96 | 0 | 12.5 | 8.96 | 67-499
|
914
|
+
Contacts.js | 6 | 0 | 7.14 | 6.04 | 55-352
|
915
|
+
Copy.js | 10.26 | 0 | 14.29 | 10.39 | 69-237
|
916
|
+
Courier.js | 6.25 | 0 | 7.14 | 6.38 | 20-221
|
917
|
+
Ds.js | 5.97 | 0 | 16.67 | 6.06 | 39-160
|
918
|
+
Edit.js | 12.35 | 0 | 20 | 12.35 | 61-214
|
919
|
+
Export.js | 12.99 | 0 | 16.67 | 12.99 | 68-232
|
920
|
+
Find.js | 7.69 | 0 | 8.33 | 7.89 | 63-211
|
921
|
+
Help.js | 73.33 | 40 | 75 | 73.33 | 26,36-40
|
922
|
+
Import.js | 6.31 | 0 | 9.09 | 6.37 | 87-496
|
923
|
+
Lcat.js | 30 | 0 | 25 | 30 | 35-65
|
924
|
+
Lcd.js | 17.39 | 0 | 25 | 17.39 | 30-72
|
925
|
+
Lls.js | 22.73 | 0 | 25 | 22.73 | 49-99
|
926
|
+
Lpwd.js | 30.77 | 0 | 25 | 30.77 | 15-38
|
927
|
+
Ls.js | 5.8 | 0 | 10 | 6.15 | 46-183
|
928
|
+
Mkdir.js | 22.73 | 0 | 25 | 22.73 | 27-61
|
929
|
+
Mv.js | 6.52 | 0 | 16.67 | 6.67 | 46-240
|
930
|
+
Paste.js | 14.89 | 0 | 25 | 14.89 | 40-131
|
931
|
+
Pwd.js | 30.77 | 0 | 25 | 30.77 | 15-35
|
932
|
+
Quit.js | 50 | 0 | 33.33 | 50 | 19-40
|
933
|
+
Rm.js | 16 | 0 | 16.67 | 16.33 | 36-137
|
934
|
+
Shell.js | 29.41 | 0 | 25 | 29.41 | 25-57
|
935
|
+
Ssh.js | 22.22 | 0 | 20 | 22.22 | 49-120
|
936
|
+
Tag.js | 8.82 | 0 | 9.09 | 8.91 | 66-236
|
937
|
+
Totp.js | 15.29 | 0 | 10 | 15.29 | 75-288
|
938
|
+
Touch.js | 95.92 | 81.48 | 100 | 95.83 | 152,202
|
939
|
+
Use.js | 12.9 | 0 | 25 | 12.9 | 30-85
|
940
|
+
Ver.js | 50 | 0 | 33.33 | 50 | 17-28
|
941
|
+
Whoami.js | 24.14 | 0 | 20 | 24.14 | 22-66
|
942
|
+
chat.js | 19.51 | 0 | 16.67 | 19.51 | 23-144
|
943
|
+
index.js | 87.5 | 50 | 100 | 86.96 | 15,22,31
|
944
|
+
src/prompts | 14 | 0 | 4.76 | 14.12 |
|
945
|
+
ChatPrompt.js | 6.17 | 0 | 0 | 6.17 | 8-163
|
946
|
+
ChatPromptMock.js | 42.86 | 100 | 0 | 42.86 | 6-14
|
947
|
+
CommandPrompt.js | 10.42 | 0 | 0 | 10.56 | 24-296
|
948
|
+
Completion.js | 4.41 | 0 | 0 | 4.48 | 6-103
|
949
|
+
MainPromptMock.js | 100 | 100 | 33.33 | 100 |
|
950
|
+
MultiEditorPrompt.js | 25 | 0 | 0 | 25 | 7-36
|
951
|
+
SigintManager.js | 25 | 0 | 20 | 25 | 10-36
|
952
|
+
src/utils | 51.63 | 40.63 | 20.83 | 51.03 |
|
953
|
+
AliasManager.js | 5.88 | 0 | 0 | 5.88 | 3-48
|
954
|
+
ContactManager.js | 7.14 | 0 | 0 | 7.14 | 3-44
|
955
|
+
Fido2Client.js | 9.62 | 0 | 0 | 9.62 | 8-108
|
956
|
+
HelpProto.js | 78.99 | 62.32 | 83.33 | 78.63 | 11-39,49,153-154,171-176,195
|
957
|
+
Logger.js | 59.09 | 56.25 | 26.32 | 58.14 | ...29,37-57,65-69,74,84,88,93,105
|
833
958
|
-----------------------|---------|----------|---------|---------|-----------------------------------
|
834
|
-
|
835
959
|
```
|
836
960
|
|
837
|
-
|
838
961
|
## Copyright
|
839
962
|
|
840
963
|
Secrez has been created by [Francesco Sullo](https://francesco.sullo.co) (<francesco@sullo.co>). Any opinion, help, suggestion, critic is very welcome.
|
841
964
|
|
842
965
|
## Licence
|
966
|
+
|
843
967
|
```
|
844
968
|
MIT License
|
845
969
|
|
@@ -863,4 +987,3 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
863
987
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
864
988
|
SOFTWARE.
|
865
989
|
```
|
866
|
-
|