Anonymity and Security without compromise
About project[!WARNING] The go-peer package and the Hidden Lake anonymous network are under
active development
. New versions may not be compatible with the old ones. As a result, it is necessary to use the latest release versions in order to keep up to date.
The go-peer
library contains a large number of functions necessary to ensure the security of transmitted or stored information, as well as for the anonymity of nodes in the decentralized form. The library can be divided into several main pkg
modules:
crypto
module represents cryptographic primitives: 1) asymmetric encryption, decryption; 2) asymmetric signing and signature verification; 3) symmetric encryption and decryption; 4) hashing; 5) key building; 6) computational problems (puzzles); 7) cryptographically stable pseudorandom number generator.client
module for encrypting and decrypting information with the attached data integrity (hash) and authentication (signature). It is a basic part of the network/anonymity
module.network
module is a decentralized communication between network nodes. Allows you to delimit networks and give information a random appearance using the network key.network/anonymity
module to ensure anonymity based on the fifth^ stage. Presents the main functions for working with the network on top of the network
and network/anonymity/queue
modules.network/anonymity/queue
module represents the generation, storage and issuance of encrypted messages every time the period specified by the application is reached. Uses the client
, client/message
and network/message
modules.storage/database
module is a key-value
database with the functions of value encryption and key hashing.Examples of works in the directories pkg/client/examples, pkg/network/examples, pkg/network/anonymity/examples, pkg/network/anonymity/queue/examples;
$ go get github.com/number571/go-peer
>= 1.16
All cmd programs are compiled for {amd64
, arm64
} ARCH and {windows
, linux
, darwin
} OS as pattern = appname_arch_os
. In total, one application is compiled into six versions. The entire list of releases can be found here: github.com/number571/go-peer/releases.
[!IMPORTANT] All dependencies are loaded into the go-peer project once using the
go mod vendor
command (for the Go language) or simply by installing (for other languages) and saved in it. This is done for security purposes, provided that dependency creators can modify the code in older versions.
pkg/database
)cmd/hidden_lake/applications/messenger
)pkg/crypto/keybuilder
)pkg/encoding
)pkg/utils
)cmd/hidden_lake/applications/messenger|filesharer
)There are a number of dependencies that represent separate applications for providing additional information about the quality of the code. These applications are not entered into the project, but are loaded via the make install-deps
command. The list of applications is as follows:
Also, the composition of these works (without "The Hidden Lake anonymous network") can be found in the book The general theory of anonymous communications
(Ridero). This book can be purchased in a tangible form on the Ozon and Wildberries marketplaces. You can download the book in digital form for free here.
HLT
, HLE
PrivKey{hex}
, PubKey{hex}
formatPreviously, some applications (such as HL, HLS, HES) were developed separately from the go-peer platform. Currently, these applications are outdated because they did not keep up with go-peer updates and were based on poor architectural solutions.
The difference between the old version of Hidden Lake and the new one is in the following details:
Licensed under the MIT License. See LICENSE for the full license text.