NOTE: Lightway Core has moved to https://github.com/expressvpn/lightway-core
NOTE: This is a preview snapshot of the Lightway repository used for both our client and server. We will be publishing a live, actively developed repository soon. Please follow our GitHub for updates on this: https://github.com/expressvpn
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.
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 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 library for release
ceedling release project:$PLATFORM
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
ExpressVPN takes the security of its applications and services seriously. We encourage you to submit any security-related issues to our bug bounty program.
Researchers should submit their reports through Bugcrowd. Alternatively, we also accept submissions by email to [email protected].
Please note: ExpressVPN uses Bugcrowd to manage all bug bounty programs. Submitting via email means that we will share your email address and share content with Bugcrowd for the purposes of triage, even if you aren’t a member of the platform.
This project is licensed under the GNU General Public License, version 2.