Skip to content

number571/secpy-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

secpy_chat_logo.png

Console messenger with end-to-end encryption

Python License Go-Peer

About project

The application secpy_chat allows you to communicate securely (using end-to-end encryption) using HLT and HLE applications. This is an example of how it is possible to write client-safe applications for the Hidden Lake environment without being based on the Go programming language (the main language for writing Hidden Lake applications).

More information about Secpy-Chat in the habr.com/ru/articles/782836/

Dependencies

$ pip3 install -r requirements.txt

Config structure

"hlt_host" address of the HLT service
"hle_host" address of the HLE service
hlt_host: localhost:9582
hle_host: localhost:9551

How it works

secpy_chat.gif

Figure 1. Chat node1 with node2.

The application connects to two services at once: HLE and HLT. The first service makes it possible to encrypt and decrypt messages. The second service allows you to send and receive encrypted messages from the network. In this case, the secpy_chat is guided only by the interfaces of the services, representing the frontend component.

Example

Build and run services HLT, HLE

$ cd example
# install HLE, HLT
$ make install
# build & run
$ make 

Run client#1

$ cd example/node1
$ python3 main.py
> /friend Alice
# waiting client#2
> hello
> [Bob]: world!

Run client#2

$ cd example/node2
$ python3 main.py
> /friend Bob
# waiting client#1
> [Alice]: hello
> world!