Download Latest Version libsec321_static.zip (2.3 MB)
Email in envelope

Get an email when there's a new version of SHS VPN Client

Home / libraries
Name Modified Size InfoDownloads / Week
Parent folder
libsec321_static.zip 2025-04-23 2.3 MB
seclibgnutls.zip 2025-04-23 34.2 kB
Totals: 2 Items   2.3 MB 1

# VPN Client for Small HTTP server
=================================

Copyright (C) 2025 Maksim Feoktistov.

This application is VPN client for Small HTTP server

The Windows version uses the OpenVPN Tap-windows driver project, which needs to be installed separately:
for Window 10
for Window 7

Also, the Windows version requires a security library. There are libraries based on OpenSSL and GnuTLS. One of them is required. It is available here in the libraries folder or on the website:
DLL with TLS/SSL (openssl-3.2.1 build static)
DLL with TLS/SSL based on GnuTLS for this also need GnuTLS mingw32

The Linux version includes the libraries in .deb and in source, and also includes executables with these libraries already built in (shs_vpnclient.openssl, shs_vpnclient.gnutls).

## How does it work?

On the host where the HTTP server is used, you can enable the VPN server in the settings. On other hosts, you can install the program. Clients access the server via HTTPS by requesting a URL, for example: https://hostname.etc/$vpn$/. In the client settings, you must specify the same last part of the URL name as specified in the server settings. By this name, the server determines that this is a request to a VPN.

## TAP and TUN

The server and client support both types of VPN. The client can choose only one type, TUN or TAP, and it informs the server of the required type when connecting. What is the difference? With a TAP connection, each packet also includes a 14-byte Ethernet header. This allows some advanced capabilities, for example, the TAP interface can be bridged, and any packet type can be broadcast over TAP. A TUN connection only supports IPv4 and IPv6 packets.

## Tap Driver for Windows.

Windows does not have a built-in TUN/TAP driver. This means that an external driver is required. This program can work with the free and open source TAP-windows driver from the OpenVPN project. If you are already using OpenVPN and would like to use this program, please add new adapters for it. In the server settings, you can specify the TAP adapter index, starting with zero, or the network connection name. An easy way to specify the index is to leave the connection name blank, the server will fill it in automatically. To access the driver, the first time, the application MUST be run with administrator rights. To configure the IP address when using Tun mode, you can use an external .bat script, but in this version it is not required. The program can run it automatically or, if the script is not specified, it will try to do all the settings itself. Also in this script you can change routing and other network parameters, such as DNS servers.

## Scripts.
The VPN client runs scripts in two cases:

When the client connects to the server and the connection is established. In this case, the arguments are: Interface_name Interface_name IP_address Net_mask Gateway DNS_servers IP_address of the remote_vpn_server

When the connection is closed. In this case, the arguments are: Interface_name Interface_name IP_address of the remote_vpn_server IP_address

Source: README.md, updated 2025-04-23