SoftEther VPN Documentation

repository·master·Indexed 24 days ago

https://github.com/softethervpn/softethervpn_stable

An open-source, cross-platform multi-protocol VPN program supporting SSL-VPN, OpenVPN, IPsec, L2TP, MS-SSTP, L2TPv3, and EtherIP. This documentation covers building from source, RPM installation on CentOS/RHEL, Debian wrapper usage, HTML5 web administration console customization, and Windows VPN Client Device Driver configuration for x86 and x64 architectures.

Tokens
9.7K
Snippets
20
Records
56
Agent score
81%

What's inside SoftEther VPN

  1. Overview of SoftEther VPN

    master

    SoftEther VPN is an open-source, cross-platform, multi-protocol VPN program. It is designed to be powerful and easy to use, supporting a wide range of VPN protocols through a single server program. It is suitable for both remote-access and site-to-site VPN configurations.

    Supported Protocols:

    • SSL-VPN (HTTPS)
    • OpenVPN
    • IPsec
    • L2TP
    • MS-SSTP
    • L2TPv3
    • EtherIP

    Supported Platforms:

    • Server: Windows, Linux, FreeBSD, Solaris, and macOS.
    • Client: Windows, Linux, macOS, Android, iPhone, iPad, and Windows Phone.
  2. Develop or extend the web administration console

    master

    Developers can customize or add new web-based administration interfaces by working within the bin/hamcore/wwwroot/admin/ directory. There are two primary approaches:

    1. Modify the existing console

    Modify and improve the existing project located in the /admin/default/ subdirectory.

    2. Create a new independent web project

    Create an entirely new web project in a unique subdirectory, for example: /admin/MY_NEW_CONSOLE/.

    If you choose to create an independent project, you should modify the /admin/index.html file. Instead of allowing the default automatic redirect to /admin/default/, you should update /admin/index.html to provide a list of available systems (subdirectories) so users can manually select which administration interface to use.

  3. Build SoftEther VPN from the source tree

    master

    Developers can clone the official stable repository from GitHub and build the project using the standard configure/make workflow.

    $ git clone https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.git
    $ cd SoftEtherVPN
    $ ./configure
    $ make
    $ make install
  4. Get started with SoftEther VPN

    master

    SoftEther VPN is a multi-protocol VPN program supporting Windows, Linux, Mac, FreeBSD, and Solaris. It supports protocols including SSL-VPN (HTTPS), OpenVPN, IPsec, L2TP, MS-SSTP, L2TPv3, and EtherIP.

    • Non-developers: It is recommended to download pre-compiled binary installers from https://www.softether-download.com/.
    • Developers: To build from source, refer to the BUILD_UNIX.TXT or BUILD_WINDOWS.TXT files in the repository.
  5. Build SoftEther VPN RPM on CentOS 6.x

    master

    To build an RPM package for SoftEther VPN on CentOS 6.x, follow these steps:

    1. Install Build Dependencies

    As root, install the necessary development tools and libraries:

    yum -y groupinstall "Development Tools"
    yum -y install ncurses-devel openssl-devel readline-devel
    yum -y install rpmdevtools

    2. Prepare the Build Environment

    As a regular user, initialize the RPM build directory structure:

    rpmdev-setuptree

    3. Build the Package

    Copy the files from this repository into your rpmbuild directory, then execute the build command:

    rpmbuild -ba SPECS/softethervpn.spec

    4. Install the Resulting RPM

    After the build completes, the RPM will be located in the RPMS directory. Install it as root:

    rpm -Uvh RPMS/`arch`/softethervpn-4*rpm
    rpmbuild -ba SPECS/softethervpn.spec
  6. Access the HTML5 web administration console

    master

    The SoftEther VPN server includes an embedded HTML5 web administration console. You can access the console via a web browser using the following URL structure:

    http://<vpn_server_host>:<port>/admin/

    By default, the root /admin/ path redirects all clients to the /admin/default/ subdirectory. The current default console is located at:

    http://<vpn_server_host>:<port>/admin/default/

  7. Install and run SoftEther VPN on CentOS/RHEL

    master

    Once the RPM package is built and installed, you can manage the vpnserver service using standard system service commands.

    To start the service manually as root:

    service vpnserver start

    To enable the service to start automatically on system boot:

    chkconfig vpnserver on
    service vpnserver start
  8. VPN Client Web Installer Dialogs and UI Elements

    master

    The VPN Client Web Installer uses several Windows dialog boxes to manage the installation process. Key dialogs include:

    • D_INSTALL: The main installation progress dialog. It features a progress bar (P_PROGRESS) and a status text field (S_STATUS).
    • D_EULA: The End User License Agreement dialog. It contains a read-only multi-line text area (E_EULA) for the agreement text and requires user interaction via IDOK (Agree) or IDCANCEL (Disagree) to proceed.

    Note: The installer uses MS UI Gothic as the default font for Japanese resources and Arial for English resources.