TLS Tunnel uses a simple and closed protocol that we call TLSVPN.
TLSVPN is a simple VPN protocol, similar to OpenVPN, and opens a socket to receive client connections.
TLSVPN generates a unique internal IP for each authenticated client, and this enables communication between internal IPs, similar to Hamachi's.
Communication between internal IPs is optional and can block via app settings.
All traffic generated between client and server is encrypted with TLS technology, with self-signed certificates on the server side.
Through the App it is possible to customize the start of the connection (we call injection) with a typed connection text (HTTP Standard or anything random), or defining an SNI to execute TLS, this function serves to mask the data that will be traversed in then very useful for crossing restrictions imposed by internet providers or any network that you are using during the connection.
Authentication on the server happens through PAM, so any valid password login created from "useradd | adduser" can be used.
To use the app you need a server running TLSVPN, and a login to authenticate with the server.
You can import and export settings so that you can even distribute your configuration or use one.
When exporting you can block the connection method, login, and server data, you can still add a description that will be loaded and displayed for who to import.
The configuration file has the .tls extension, it is an encrypted text file containing all the information that was defined before exporting it except the DNS part and the connection options such as reconnection and internal IP exposure.
On battery consumption, this is a big problem with similar applications that use SSH as a protocol.
Our application promises to consume less battery thanks to the private TLSVPN protocol for using only TLS and having every process written in C ++.
It is possible to traffic any connection protocol through this process (TCP / UDP / ICMP / IGMP), everything goes through TLS and runs on the remote server.