= Lightway Core
Lightway Core is a modern VPN protocol by ExpressVPN, to deliver a VPN experience that’s faster, more secure, and more reliable.
== 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.
== About Lightway Core
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.
== Development Environment
This project uses https://pre-commit.com/[pre-commit] to enforce code standards.
To install pre-commit, run: earthly +install-precommit
.
== Build and Run (Earthly)
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.
[source,bash] earthly +all
== Build and Run (Ceedling)
. Install ceedling gem somewhere on your path + [source,bash] 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]
+
[source,bash]
ceedling test project:$PLATFORM
. Build lib for release + [source,bash] ceedling release project:$PLATFORM
== Documentation
Documentation for Lightway Core can be found at https://lightway.com/docs. We use https://antora.org/[Antora] to generate this documentation. The source code can be found in this repository at +docs/modules/ROOT/pages+
.
API documentation, generated by https://doxygen.nl[Doxygen], can be found at https://lightway.com/doxygen/annotated.html.
== Contributing
We appreciate feedback and contribution to this repository! Before you get started, please see link:CONTRIBUTING.adoc[CONTRIBUTING]
== Reporting a vulnerability
To report security vulnerabilities, please see section on link:SECURITY.adoc#reporting-a-vulnerability[Reporting a vulnerability]
== Acknowledgments
We rely on the following projects to build Lightway Core:
=== Preferred Languages
We prefer all communications to be in English.
== License This project is licensed under the https://www.gnu.org/licenses/gpl-2.0.html[GNU General Public License, version 2.]