Our primary aim to involve anyone who desire to learn capturing the flag concept in cyber security which is widely accepted approach to learn how to find vulnerability on a system. Despite of all existing platform, Haaukins provides its own virtualized environment to you with operating system which designed to find vulnerabilities
Prerequisites
The following dependencies are required and must be installed separately in order to run daemon in your local environment.
- Linux
- Docker
- Go 1.13+
Note: Linux can be used in virtualized environment as well.
Installation
To install daemon or client of Haaukins, there are some options, via binary files, which are ready to use, visit releases page.
More information about installation process, checkout following pages ;
Getting Dependencies
Haaukins platform uses
go modules
since version 1.6.4, hence it is quite easy to manage dependencies, you just need to run go mod download
Testing
Make sure that you are in
$GOPATH/src/github.com/aau-network-security/haaukins/
directory, to run all test files, following command can be usedgo test -v -short ./...
Re-compile proto
Haaukins platform uses gRPC on communication of client and daemon, so after updating the protocol buffer specification (i.e. daemon/proto/daemon.proto), corresponding golang code generation is done by doing the following:
cd $GOPATH/src/github.com/aau-network-security/haaukins/daemon/
protoc -I proto/ proto/daemon.proto --go_out=plugins=grpc:proto
Version release
In order to release a new version, run the
script/release/release.go
script as follows (choose depending on type of release):$ go run $GOPATH/src/github.com/aau-network-security/haaukins/scripts/release/release.go major
$ go run $GOPATH/src/github.com/aau-network-security/haaukins/scripts/release/release.go minor
$ go run $GOPATH/src/github.com/aau-network-security/haaukins/scripts/release/release.go patch
- Bump the version in
VERSION
and commit to git - Tag the current
HEAD
with the new version - Create new branch(es), which depends on the type of release.
- Push to git
server
.Note: by default the script uses the
~/.ssh/id_rsa
key to push to GitHub. You can override this settings by the HKN_RELEASE_PEMFILE
env var.Credits
- Logo designed by indepedenthand