ColumnLynx

ColumnLynx is a custom VPN protocol designed to be as simplistic as possible while maintaining security and performance.

Why?

The project started as a learning project to explore the intricacies of VPN protocols and network security. It ended up being a way to apply what I learned in a practical, real-world scenario, while preserving simplicity.

Design

The official design specification (and setup instructions) for ColumnLynx can be found here.


From the perspective of the ISO/OSI networking model, ColumnLynx is a protocol that controls and operates mainly in the Layer 3 (Network) and Layer 4 (Transport) sections. It tunnels traffic from client to server, via an AES-256 encrypted tunnel, and sends that traffic out of the server under a newly-assigned private IP address.

Implementation

The offical implementation of the protocol is written in C++. If you wish to contribute or reimplement it in other languages, you are very welcome to do so!


Official Git Repository

Download Executables

Future Plans

While the protocol is currently in a stable and usable state, there are still some features and improvements I plan to implement in the future, such as:

  • Expanding support to other platforms (e.g. mobile devices)
  • General minor bug fixes

Screenshots

Client CLI Interface Pinging the server via the tunnel

Legal

Full Legal text available in the project's README.md file.


Unless explicitly stated otherwise, all source code and material contained in this project is the copyright of their respective authors, as identified in (but not limited to) the project's version control history (e.g., Git commit authorship).

No contributor or maintainer claims exclusive ownership of the entire project. All rights are retained by their respective authors.

By submitting a contribution, you agree that it will be licensed under the same dual GPL terms as the project as a whole.


This project is dual-licensed under the GNU General Public License (GPL):

  • GPL version 2 only, or
  • GPL version 3

Unless you explicitly state otherwise, any contributions you submit will be considered dual-licensed under the same terms.