From 976636bbc57091026d6998585c2d9a85e88b0ad0 Mon Sep 17 00:00:00 2001 From: Marvin Steadfast Date: Thu, 21 Jan 2021 13:25:17 +0100 Subject: [PATCH] docs: readme work --- .drone.yml | 19 ------------------- README.md | 28 +++++++++++++++++++++++++--- logo.png | Bin 0 -> 25447 bytes 3 files changed, 25 insertions(+), 22 deletions(-) create mode 100644 logo.png diff --git a/.drone.yml b/.drone.yml index 4741b4c..6544341 100644 --- a/.drone.yml +++ b/.drone.yml @@ -39,10 +39,6 @@ steps: - name: build image: goreleaser/goreleaser:latest - volumes: - - name: dockersock - path: /var/run - environment: commands: - (cd /tmp; go get -u github.com/go-bindata/go-bindata/...) - make build @@ -55,9 +51,6 @@ steps: - name: release image: goreleaser/goreleaser:latest - volumes: - - name: dockersock - path: /var/run environment: GITEA_TOKEN: from_secret: gitea_token @@ -69,15 +62,3 @@ steps: - tag depends_on: - clean - -services: - - name: docker - image: docker:dind - privileged: true - volumes: - - name: dockersock - path: /var/run - -volumes: - - name: dockersock - temp: {} diff --git a/README.md b/README.md index b883699..23b453d 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,29 @@ -# wg-quicker +

+ logo +

wg-quick like library with batteries included

+

-[![Build Status](https://gitlab.com/neven-miculinic/wg-quick-go/badges/master/pipeline.svg)](https://gitlab.com/neven-miculinic/wg-quick-go/pipelines) [![GoDoc](https://godoc.org/github.com/nmiculinic/wireguardctrl?status.svg)](https://godoc.org/github.com/nmiculinic/wg-quick-go) [![Go Report Card](https://goreportcard.com/badge/github.com/nmiculinic/wg-quick-go)](https://goreportcard.com/report/github.com/nmiculinic/wg-quick-go) +--- -wg-quick like library in go for embedding +This is a friendly fork of [wg-quick-go](https://github.com/nmiculinic/wg-quick-go). It contains everything needed to get a system into a wireguard vpn network. If there is no wireguard kernel modul available, it will spin up the embedded wireguard-go to create a wireguard interface. + +# Badges + +[![Build Status](https://ci.xsfx.dev/api/badges/xsteadfastx/wg-quicker/status.svg)](https://ci.xsfx.dev/xsteadfastx/wg-quicker) +[![Go Reference](https://pkg.go.dev/badge/go.xsfx.dev/wg-quicker.svg)](https://pkg.go.dev/go.xsfx.dev/wg-quicker) +[![Go Report Card](https://goreportcard.com/badge/go.xsfx.dev/wg-quicker)](https://goreportcard.com/report/go.xsfx.dev/wg-quicker) + +# Installation + +## Prebuild packages + +Get these on release [page](https://git.xsfx.dev/xsteadfastx/wg-quicker/releases). + +## Compile it for yourself + +- `git clone https://git.xsfx.dev/xsteadfastx/wg-quicker.git` +- `cd wg-quicker` +- `make build` # Roadmap @@ -20,6 +41,7 @@ wg-quick like library in go for embedding - [x] MarshallText - [x] UnmarshallText - [x] Minimal test +- [x] Embedded [wireguard-go](https://git.zx2c4.com/wireguard-go/about/) - [ ] Integration tests ((TODO; have some virtual machines/kvm and wreck havoc :) )) # Caveats diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9fc8a2803dc4d56ae9ad69ec192134dc01c435 GIT binary patch literal 25447 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