diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..b1712f3 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# EduVPN shared library + +This repository contains a Go library with functions that all EduVPN clients can use. The goal is to let EduVPN clients +link against this library and gradually merge more common logic between EduVPN clients into this repository. + +cgo is used to build the go library into a shared dynamic library. Wrappers will be written using some FFI framework for +each language used in EduVPN clients to easily interface with the library. + +## Functionality + +Currently, only verification of signatures on files from `disco.eduvpn.org` is supported. For now, these files have to +be downloaded by the caller. + +## Build & test + +Build shared library for current platform: + +```shell +make +``` + +Build shared library for specified OS & architecture (example): + +```shell +make OS=windows ARCH=386 +``` + +Results will be output in `exports/`. + +Test Go code: + +```shell +make test-go +``` + +Test wrappers: + +```shell +make test-wrappers +``` + +Take a look at `wrappers/<lang>/` for descriptions per wrapper. + +## Directory + +- `verify.go`: main API +- `verify_test.go` and `test_data/`: tests for API +- `exports/`: C API interface +- `wrappers/`: Wrappers per language, currently only C# |
