Lightway Core is a modern VPN protocol by ExpressVPN, to deliver a VPN experience that’s faster, more secure, and more reliable.
One of the world’s largest providers of VPN services, ExpressVPN enables users to protect their privacy and security online with just a few clicks. The company’s award-winning apps for Windows, Mac, iOS, Android, Linux, routers, and browsers secure user information and identities with best-in-class encryption and leak-proofing.
For more information please visit https://www.expressvpn.com.
Lightway Core is a small, multi-platform C library that provides the foundational components of a virtual private network (VPN).
Lightway Core is the technology that powers Lightway, ExpressVPN’s pioneering new VPN protocol, built for an always-on world. It makes your VPN experience speedier, more secure, and more reliable than ever. Designed to be light on its feet, Lightway runs faster, uses less battery, and is easier to audit and maintain.
Note: Lightway Core may be referred to by the internal project name, libhelium, in the source code.
This project uses [pre-commit](https://pre-commit.com/) to enforce code standards.
To install pre-commit, run: earthly +install-precommit
.
The simplest way to build the static library for Linux, and run all tests is to use Earthly, which runs the build in a containerised environment.
earthly +all
-
Install ceedling gem somewhere on your path
gem install ceedling
-
Windows only: Start git-bash (or similar) via a
Developer Command Prompt for VS 2019
for all subsequent commands -
Build and run tests, $PLATFORM is
[linux|macos|windows]
ceedling test project:$PLATFORM
-
Build lib for release
ceedling release project:$PLATFORM
Documentation for Lightway Core can be found at https://lightway.com/docs. We use Antora to generate this documentation. The source code can be found in this repository at docs/modules/ROOT/pages
.
API documentation, generated by Doxygen, can be found at https://lightway.com/doxygen/annotated.html.
We appreciate feedback and contribution to this repository! Before you get started, please see CONTRIBUTING
To report security vulnerabilities, please see section on Reporting a vulnerability
We rely on the following projects to build Lightway Core:
-
Ceedling - https://github.com/ThrowTheSwitch/Ceedling
-
Earthly - https://github.com/earthly/earthly
-
WolfSSL - https://github.com/wolfSSL/wolfssl
This project is licensed under the GNU General Public License, version 2.