mirror of
https://github.com/number571/hes.git
synced 2026-09-14 11:05:43 +05:00
| .gitignore | ||
| client.go | ||
| database.go | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| server.go | ||
HES
Hidden email service. Gopeer based.
Characteristics:
- End to end encryption;
- Supported tor connections;
- Symmetric algorithm: AES-CBC;
- Asymmetric algorithm: RSA-OAEP, RSA-PSS;
- Hash function: SHA256;
Install:
$ make install
> go get github.com/number571/gopeer
> go get github.com/mattn/go-sqlite3
> go get golang.org/x/net/proxy
Compile and run:
$ make
> go build client.go
> go build server.go database.go
$ ./server -address=":8080" &
$ ./client -address="localhost:8080"
Client actions:
1. exit - close client;
2. help - commands info;
3. user - actions:
3.1. create - generate private key;
3.2. load - load private key;
3.3. public - print public key;
3.4. private - print private key;
4. send - send email;
5. recv - actions:
5.1. size - print number of emails;
5.2. [number] - print email by number;
SQL Tables (database.db):
Database file is created when the application starts.
/* recv = hash(public_key) */
/* hash = hash(data) */
/* data = encrypt(email) */
CREATE TABLE IF NOT EXISTS emails (
id INTEGER,
recv VARCHAR(255),
hash VARCHAR(255) UNIQUE,
data TEXT,
PRIMARY KEY(id)
);