Coder Social home page Coder Social logo

qmtunnel's Introduction

Introduction

qmTunnel is a free cross-platform open source tunneling software allowing you to wrap up and tunnel all types of TCP, UDP or named pipe connections through a set of tunnel software servers.

You may find qmTunnel useful if you need (all features are optional):

  • to secure your connection with SSL/TLS;
  • to connect to hosts/networks behind NAT/firewall;
  • to compress your traffic;
  • to detect silent packet drops and disconnections (by enabling heartbeats);
  • to allow short-time disconnections between tunnel hosts with no application disconnections;
  • to add additional authentication level to tunnel hosts;
  • to automatically re-establish the tunnel on disconnections (permanent tunnel);
  • to establish tunnel only when needed (on demand).

Basically your application client connects to qmTunnel server instead of connecting directly to application server. Then qmTunnel server makes further connections to next qmTunner server and the last qmTunnel server in chain connects to your application server, transparently (for application client and server) transferring all application data from application client to the application server (and vice versa) and allowing to secure and tune the connections between qmTunnel servers.

One of the most simple cases can be described by the following figure:

image

See documentation for more information and use cases:

http://qmtunnel.readthedocs.io/

Architecture

qmTunnel consists of 2 modules:

  • qmTunnel-server โ€” server module which needs to be started on all tunnel hosts (at least two). It's possible to run qmtunnel-server as GUI application or as background console application (use -daemon command line parameter).
  • qmTunnel-gui โ€” GUI which connects to qmtunnel-server instances (including remote ones) and allows to configure them and create/edit/monitor tunnels.

qmTunnel is a free open source cross-platform application and runs on Linux, Windows and possibly (haven't tested yet) MacOS.

To build and run qmTunnel, you only need Qt4/Qt5 and OpenSSL libraries.

You can also download binaries for most popular platforms.

Support

qmtunnel is open-source project, which means it's considered to be supported by the community.

However if you wish to use it in production environment, commercial support is also available from the author and maintainer of this project. Contact [email protected] for details. This way you can also support the project.

License

qmtunnel is released under GNU General Public License 3.0, with the additional special exception to link portions of this program with the OpenSSL library. See LICENSE file for more details.

Copyright (c) 2017 Nikolay N. Karikh ([email protected])

Note

This software also uses Qt, OpenSSL and JSON libraries:

Copyright (c) 2017 The Qt Company.

LEGAL NOTICE: This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)

Copyright (c) 1998-2017 The OpenSSL Project

Copyright (c) 1995-1998 Eric A. Young ([email protected]), Tim J. Hudson ([email protected])

Copyright (c) 2009 Dave Gamble

All rights reserved.

qmtunnel's People

Contributors

karikhn avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.