SoftEtherVPN is a free, open source networking & connectivity project written in C and released under Apache-2.0. It has 13,562 GitHub stars, 2,781 forks and 296 open issues, and was last pushed 6 days ago. On this registry it ranks #12 of 17 tracked projects in Networking & Connectivity, with 5 head-to-head comparisons available.

What is SoftEtherVPN?

SoftEther VPN is an open-source, cross-platform, multi-protocol VPN server and client, written in C and licensed under Apache-2.0, intended for administrators and self-hosters who need one program to serve many VPN protocols instead of running several separate daemons.

What it is

SoftEther VPN ("SoftEther" means "Software Ethernet") is a multi-protocol VPN program that runs on Windows, Linux, Mac, FreeBSD and Solaris. A single SoftEther VPN Server program terminates SSL-VPN, WireGuard, OpenVPN, IPsec, L2TP, MS-SSTP, L2TPv3 and EtherIP connections, so the same host can accept clients that speak a wide range of tunnel formats. It lives in the TCP/IP networking ecosystem as a user-space VPN server and client, and development was originally supported by the MITOH Project, a research and development project of the Japanese government subsidised by the Ministry of Economy, Trade and Industry and administered by the Information Promotion Agency.

The concrete problem it solves is protocol fragmentation. Rather than deploying one server for OpenVPN, another for IPsec, another for L2TP and yet another for SSL-VPN, an operator installs SoftEther VPN Server once and configures the protocols they need from the same management surface. That replaces the multi-daemon stack with a single program, a single set of logs and a single administrative interface, and it removes the per-client configuration churn that comes from matching each device to the protocol it happens to support. This repository is the Developer Edition master branch and contains experimental code; the Stable Edition lives at SoftEtherVPN/SoftEtherVPN_Stable and is the one non-developer users are directed to.

Key capabilities

  • Single VPN Server serves SSL-VPN (HTTPS), WireGuard, OpenVPN, IPsec, L2TP, MS-SSTP, L2TPv3 and EtherIP side by side.
  • Built-in HTML5 Ajax-based Web Administration Console for the SoftEther VPN Server, usable from a browser rather than a native client only.
  • Built-in SoftEther Server VPN JSON-RPC API Suite for scripting and automating server administration.
  • Runs on Windows, Linux, Mac, FreeBSD and Solaris from the same codebase.
  • Installation paths documented for FreeBSD, for Windows, and from binary installers on the stable channel, as well as building from source code.
  • Source code packages in .zip and .tar.gz form, plus binary files, are published for the Stable Edition at softether-download.com.
  • Documented handling of antivirus false positive detection in ANTIVIRUS.md, a practical concern for VPN binaries.

Who uses it and how

  • Administrators who must serve heterogeneous client devices from one endpoint, since the protocol list spans desktop, mobile and router-style clients.
  • Operators on Unix-like systems, including FreeBSD, Linux, Mac and Solaris, who want to build from source code or use the FreeBSD and Windows installation paths.
  • Teams that need remote administration and automation, using the HTML5 web console for interactive work and the JSON-RPC API for scripting.
  • Users in restricted network environments who need to circumvent a government's firewall restriction, a use case the README addresses directly.
  • Contributors and experimenters working on the Developer Edition via pull requests, while ordinary users are pointed to the Stable Edition instead.

Getting started

Install from the binary installers on the stable channel, or build from the source code, using the dedicated instructions for FreeBSD and for Windows in the README. Non-developers should take the Stable Edition from the SoftEtherVPN_Stable repository or softether-download.com rather than this experimental master branch. (Note that the Icons8 icons bundled in resources/ are licensed only for this repository and may not be redistributed outside it, even though the code itself is Apache-2.0.)

How it compares

No list of paid products this project replaces is provided in the facts, and the facts name no comparable VPN server products. It stands alone in this registry as a multi-protocol VPN server whose distinguishing claim is protocol breadth from a single program.

When to use it — and when not to

Choose it when one server must speak several protocols at once and you accept operating a C codebase you build or install yourself. Avoid the Developer Edition if you want stability, since this repository holds experimental code and some features are absent from the Stable Edition; non-developer users are explicitly directed to SoftEtherVPN_Stable. Note also that the README is largely a table of contents, so much of the operational detail lives on softether.org rather than in this repository.

project readme (upstream, from github) — read inline

SoftEther VPN

Badges
GitLab CI GitLab CI build status
Coverity Scan Coverity Scan build status
Cirrus CI Cirrus CI build status

SoftEther VPN (Developer Edition Master Repository)

This repository has experimental codes. Pull requests are welcome.

Stable Edition is available on https://github.com/SoftEtherVPN/SoftEtherVPN_Stable which the non-developer user can stable use.

Please note that some features are not available in Stable Edition.

Source code packages (.zip and .tar.gz) and binary files of Stable Edition are also available:
https://www.softether-download.com/

Copyright (c) all contributors on SoftEther VPN project in GitHub. Copyright (c) Daiyuu Nobori, SoftEther Project at University of Tsukuba, and SoftEther Corporation.


The development of SoftEther VPN was supported by the MITOH Project, a research and development project by Japanese Government, subsidized by Ministry of Economy, Trade and Industry of Japan, administrated by Information Promotion Agency. https://www.ipa.go.jp/english/humandev/


https://icons8.com

Icons8 kindly supported the project by gifting a license which allows to edit and redistribute their icons.

Please note that you are not allowed to redistribute those icons outside of this repository.

The developers of SoftEther VPN love Icons8's work and kindly ask the users to support them as much as possible.


Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

SoftEther VPN ("SoftEther" means "Software Ethernet") is one of the world's most powerful and easy-to-use multi-protocol VPN software.

SoftEther VPN runs on Windows, Linux, Mac, FreeBSD and Solaris.

SoftEther VPN supports most of widely-used VPN protocols including SSL-VPN, WireGuard, OpenVPN, IPsec, L2TP, MS-SSTP, L2TPv3 and EtherIP by the single SoftEther VPN Server program.

More details on https://www.softether.org/.

BOARD MEMBERS OF THIS REPOSITORY

Daiyuu Nobori (Since Jan 2, 2014) https://github.com/dnobori

Moataz Elmasry (Since Nov 6, 2017) https://github.com/moatazelmasry2

Zulyandri Zardi (Since Nov 6, 2017) https://github.com/zulzardi

Alex Maslakov (Since Nov 6, 2017) https://github.com/GildedHonour

Davide Beatrici (Since Jul 21, 2018) https://github.com/davidebeatrici

Ilya Shipitsin (Since Jul 21, 2018) https://github.com/chipitsine

SOFTETHER VPN ADVANTAGES

  • Supporting all popular VPN protocols by the single VPN server: SSL-VPN (HTTPS) WireGuard OpenVPN IPsec L2TP MS-SSTP L2TPv3 EtherIP
  • Free and open-source software.
  • Easy to establish both remote-access and site-to-site VPN.
  • SSL-VPN Tunneling on HTTPS to pass through NATs and firewalls.
  • Revolutionary VPN over ICMP and VPN over DNS features.
  • Resistance to highly-restricted firewall.
  • Ethernet-bridging (L2) and IP-routing (L3) over VPN.
  • Embedded dynamic-DNS and NAT-traversal so that no static nor fixed IP address is required.
  • AES 256-bit and RSA 4096-bit encryptions.
  • Sufficient security features such as logging and firewall inner VPN tunnel.
  • User authentication with RADIUS and NT domain controllers.
  • User authentication with X.509 client certificate.
  • Packet logging.
  • 1Gbps-class high-speed throughput performance with low memory and CPU usage.
  • Windows, Linux, Mac, Android, iPhone, iPad and Windows Phone are supported.
  • The OpenVPN clone function supports legacy OpenVPN clients.
  • IPv4 / IPv6 dual-stack.
  • The VPN server runs on Windows, Linux, FreeBSD, Solaris and Mac OS X.
  • Configure All settings on GUI.
  • Multi-languages (English, Japanese and Simplified-Chinese).
  • No memory leaks. High quality stable codes, intended for long-term runs. We always verify that there are no memory or resource leaks before releasing the build.
  • More details at https://www.softether.org/.

Comparison with Stable Edition

Protocol Stable Edition (SE) Developer Edition (DE) Comment
SSL-VPN
OpenVPN AEAD mode is supported in DE only.
IPsec
L2TP
MS-SSTP
L2TPv3
EtherIP
WireGuard
IKEv2
Feature Stable Edition (SE) Developer Edition (DE) Comment
Password Authentication
RADIUS / NT Authentication
Certificate Authentication ⚠️ SE supports the feature in SSL-VPN only.
IPv6-capable VPN Tunnel ⚠️ SE supports IPv6 in L2 VPN tunnels only.
IPv4 Route Management Windows clients only
IPv6 Route Management Windows clients only
TLS Server Verification ⚠️ In SE you need to specify the exact certificate or CA to verify. DE can perform standard TLS verification and use the system CA store.
Dual-stack Name Resolution ⚠️ SE attempts in IPv6 only after IPv4 has failed.
ECDSA Certificates Import
Runs on Windows XP and Earlier
Compatible with SoftEther VPN 1.0
AES-NI Hardware Acceleration ⚠️ SE requires intel_aes_lib to enable AES-NI, so x86 only. In DE, enabled by default as long as processor supports it (at least x86 and ARM).

Installation

For FreeBSD

SoftEther VPN in FreeBSD Ports Collection is maintained by Koichiro Iwao (@metalefty).

Binary package can be installed by pkg:

pkg install softether5

Alternatively, it can be built & installed by ports:

make install -C /usr/ports/security/softether5

To run SoftEther VPN Server:

service softether_server start

To configure SoftEther VPN Server startup on boot:

sysrc softether_server_enable=yes

Also SoftEther VPN Stable Edition and RTM version are available on FreeBSD.

For Windows

Releases

Nightly builds (choose appropriate platform, then find binaries or installers as artifacts)

⚠️ Important for Windows Users: Some antivirus software (including Microsoft Defender) may incorrectly flag SoftEther VPN as malicious. This is a false positive. See ANTIVIRUS.md for detailed information and solutions.

From binary installers (stable channel)

Those can be found under https://www.softether-download.com/ There you can also find SoftEtherVPN source code in zip and tar formats.

Docker Container Image

Please look at the ContainerREADME.md

Build from Source code

see BUILD_UNIX or BUILD_WINDOWS

There are two flavours of SoftEtherVPN source code:

  1. Unstable.

readme truncated — read the full docs on github

Frequently asked questions

Is SoftEtherVPN free to use?

SoftEtherVPN is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does SoftEtherVPN do?

Cross-platform multi-protocol VPN software. Pull requests are welcome. The stable version is available at https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.

What is SoftEtherVPN written in?

SoftEtherVPN is primarily written in C. Its source is publicly available at https://github.com/SoftEtherVPN/SoftEtherVPN, and it has 13,562 GitHub stars.