Skip to content

Commit a86ce37

Browse files
committed
feat: Improved readme
Added plan features to README. Added requirements for developer for help. Added description of project and main goal. Fixed usage in console tool. version: 0.1.2
1 parent 81643f3 commit a86ce37

File tree

3 files changed

+74
-5
lines changed

3 files changed

+74
-5
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
VERSION=0.1.1
1+
VERSION=0.1.2
22
NAME=pspk
33
GIT_REV?=$(shell git rev-parse --short HEAD)
44
LDFLAGS=-ldflags "-X main.Version=$(VERSION) -X main.Hash=$(GIT_REV) -X main.BuildDate=$(BUILD_DATE)"
55
GO=GO111MOUDLE=on go
66

77

88
build:
9-
VERSION=$(VERSION)-dev $(GO) build $(LDFLAGS) -o bin/${NAME} ./cmd/cli/
9+
VERSION=$(VERSION)-dev $(GO) build $(LDFLAGS) -o bin/${NAME} ./cmd/cli/
1010

1111
release: clean
1212
mkdir -p _build

README.md

Lines changed: 71 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,31 @@
1+
## Contributors
2+
3+
Help wanted!
4+
5+
For implementation clients in search for developers how have skills in Android, iOS, Web or Desktop development.
6+
17
## Public storage public key
28

3-
Simple in-memory public storage public key.
9+
Specific storage for sharing public keys of pair ECDH by curve25519.
10+
11+
Service provide HTTP API for save and read a 32-bytes key with human-readable name (aka. alias).
12+
13+
This service solve problem for persistent saving public key and send to recipient through open communication channel.
414

5-
HTTP-base key-value storage.
15+
### Features
16+
17+
- [x] save public key with name
18+
- [x] load public key by name
19+
- [ ] share some encrypted data via one-time link
20+
- [ ] support other elliptic curve cryptography algorithms
21+
- [ ] ephemeral encryption via API method
22+
- [ ] verification of signature by link
23+
- [ ] QR codes
24+
- [ ] simple cli tool
25+
- [ ] simple web-application
26+
- [ ] simple iOS client
27+
- [ ] simple android client
28+
- [ ] local http server to pspk API
629

730
## Model
831

@@ -13,21 +36,66 @@ You should use this model:
1336
"key":"base64=="
1437
}
1538
```
39+
where:
40+
- `name` - string with length more that 1000 signs
41+
- `key` - encodeted to base64 32-bytes public key
1642

1743
## Request
1844

1945
Save public key:
2046
```bash
2147
curl -X POST "https://pspk.now.sh" -d '{"name":"Some.Name","key":"E7+TL112lj1GmJRHf9jT5MZJDgYIhUbtBLc4/ZFMZ5c="}'
48+
{"access":true,"msg":"added"}
2249
```
2350

2451
Read public key:
2552
```bash
2653
curl -X POST "https://pspk.now.sh" -d '{"name":"Some.Name"}'
54+
{"access":true,"key":"wTaZA5+QeZpby33W2T5uV8TweWaPEZn3clTe5xkmb2M="}
2755
```
2856

2957
## pspk cli usage
3058

59+
`pspk` - console tool which use API to pspk and implement encryption/decryption for one or several recipients.
60+
61+
```
62+
$ pspk --help
63+
NAME:
64+
pspk - pspk - encrypt you message and send through open communication channel
65+
66+
USAGE:
67+
pspk [global options] command [command options] [arguments...]
68+
69+
VERSION:
70+
0.1.2
71+
72+
DESCRIPTION:
73+
Console tool for encyption/decription data through pspk.now.sh
74+
75+
COMMANDS:
76+
publish, p --name <NAME> publish
77+
secret, s secret public_name
78+
encrypt, e ecnrypt pub_name some message will encrypt
79+
ephemeral-encrypt, ee ee pub_name some message will encrypt
80+
decrypt, d decrypt pub_name base64==
81+
ephemeral-decrypt, ed ephemeral-decryp pub_name base64==
82+
use-current, uc --name name_pub_key use-current
83+
group, g --name base_name group
84+
start-group, sg start-group groupName [pubName1 pubName2 ...]
85+
finish-group, fg finish-group groupName pubName1 [pubName2 ...]
86+
secret-group, seg secret-group groupName pubName1 [pubName2 ...]
87+
encrypt-group, eg eg <GROUP_NAME> message
88+
ephemeral-encrypt-group, eeg Encrypt input message with ephemeral key
89+
decrypt-group, dg dg <GROUP_NAME> base64
90+
ephemeral-decrypt-group, edg Decrypt input message with ephemral shared key
91+
help, h Shows a list of commands or help for one command
92+
93+
GLOBAL OPTIONS:
94+
--name value key name
95+
--help, -h show help
96+
--version, -v print the version
97+
```
98+
3199
### Generation key pair.
32100
Will generation private and public keys and publish public pice to pspk.now.sh.
33101
```bash
@@ -62,7 +130,7 @@ pspk --name alice start-group base
62130
pspk --name bob start-group base alice
63131
pspk --name carol start-group base bob alice
64132
```
65-
The last members finis generate intermediate secrets.
133+
The last members finish generate intermediate secrets.
66134
```bash
67135
pspk --name daron finish-group base carol bob alice
68136
```

cmd/cli/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ func init() {
3535
api = pspk.New(baseURL)
3636
app = cli.NewApp()
3737
app.Name = "pspk"
38+
app.Usage = "encrypt you message and send through open communication channel"
3839
app.Metadata = map[string]interface{}{"builded": BuildDate}
3940
app.Version = Version + "." + Hash
4041
app.Description = "Console tool for encyption/decription data through pspk.now.sh"

0 commit comments

Comments
 (0)