Skip to content

antonyr/go-openvpn

This branch is 5 commits ahead of mysteriumnetwork/go-openvpn:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6cd977d · Sep 18, 2023
Dec 22, 2020
Dec 22, 2020
Dec 22, 2020
Sep 17, 2023
Nov 19, 2018
Sep 26, 2018
Dec 21, 2020
Dec 22, 2020
Sep 26, 2018
Dec 21, 2020
Feb 4, 2020
Sep 18, 2023
Feb 4, 2020
Sep 22, 2018
Sep 19, 2018
Dec 22, 2020
Dec 22, 2020

Repository files navigation

go-openvpn

pipeline status Go Report Card

Go gettable library for wrapping openvpn functionality in go way. There are two main options for openvpn integration:

  1. As external process - go-openvpn provides external process controls (start/stop), handles management interface, can work both as client and a service. External openvpn exe IS NOT provided (tested with openvpn 2.4.x release)
  2. As built-in library - openvpn wraps c++ crosscompiled libary for all major oses (darwin,linux,win,ios and android), but has a limitation - can only work as client only.

Development environment

  • Step 1. Get development dependencies
go get github.com/karalabe/xgo
go get golang.org/x/mobile/cmd/gomobile
  • Step 2. Get project dependencies
make deps
  • Step 3. Build example (Desktop)
go run examples/desktop/main.go examples/profile.ovpn
  • Step 4. Build example (iOS)
./gomobile_example_ios.sh

Building bridge libraries

scripts/xgo_run.sh scripts/build-bridge.sh

Run tests

make test
# We recommend running tests on frozen Linux container
scripts/xgo_run.sh make test

Build

  • Step 1. Sanity check
./check-all.sh
  • Step 2. Build mobile libraries
./gomobile_ios.sh -o build/Openvpn3.framework

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 92.1%
  • Shell 4.6%
  • C++ 2.2%
  • Other 1.1%