Inspired by
pymonocypher
.
GO bindings for monocypher
.
Originally, a part of
SeasideVPN
project.
Currently, there are no maintained GO bindings for monocypher
.
The only repository that I could google was demonshreder/monocypher-go one, however it is marked as not maintained.
The proposed replacement was HACKERALERT/Monocypher-Go, however this repository is not currently accessible.
Its go index page, however, states:
Please note that I will not be adding new Monocypher functions or features, and that I will only fix security issues for this repository.
Well, I will support this repository of mine, if I have free time and also if I can.
The package depends on Monocypher version 4.0.2
.
As for now, it is the lates version.
This module is currently Linux-only and I do not think I will try to support any other platforms right now. However, all contributions are welcome!
This repository uses c-for-go
for bindings generation.
It can normally be installed using this command:
go install github.com/xlab/c-for-go@latest
This package also (surprisingly!) uses CGO.
The bindings can be generated using make generate
command.
The package includes the generated C bindings, all of them are public and available in monocypher_internal
subpackage.
Also, there are some of the higher-level functions implemented (the ones that I found useful in the Python bindings repository). Feel free to contribute any other high-end bindings you need!
This repository is published under MIT licence itself. However, do not forget to check the licences of the other libraries it heavily depends on:
- Source library code:
monocypher
licence. - High-level borrowed from:
pymonocypher
licence. - The generated bindings code:
c-for-go
generated licence.