mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2024-11-06 09:40:41 +03:00
Merge remote-tracking branch 'upstream/master'
synchronized with upstream
This commit is contained in:
commit
13f8fc6e37
10
.gitignore
vendored
Normal file
10
.gitignore
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
.cproject
|
||||
.project
|
||||
.settings/
|
||||
CMakeLists.txt
|
||||
Makefile
|
||||
bin/
|
||||
cmake-build-debug/
|
||||
src/bin/BuiltHamcoreFiles/
|
||||
tmp/
|
||||
|
12
.travis.yml
Normal file
12
.travis.yml
Normal file
@ -0,0 +1,12 @@
|
||||
sudo: required
|
||||
dist: trusty
|
||||
|
||||
os: linux
|
||||
|
||||
language: c
|
||||
|
||||
compiler: [ gcc, clang ]
|
||||
|
||||
script:
|
||||
- ./configure
|
||||
- make
|
@ -139,6 +139,9 @@ CONTRIBUTORS on GitHub:
|
||||
- Guanzhong Chen
|
||||
https://github.com/quantum5
|
||||
|
||||
- Nguyễn Hồng Quân
|
||||
https://github.com/hongquan
|
||||
|
||||
JOIN THE SOFTETHER VPN DEVELOPMENT
|
||||
----------------------------------
|
||||
|
||||
|
@ -1,7 +1,15 @@
|
||||
# SoftEther VPN
|
||||
|
||||
[![Build Status](https://travis-ci.org/SoftEtherVPN/SoftEtherVPN.svg?branch=master)](https://travis-ci.org/SoftEtherVPN/SoftEtherVPN)
|
||||
|
||||
---
|
||||
|
||||
|
||||
SoftEther VPN (Developer Edition Master Repository)
|
||||
- An Open-Source Cross-platform Multi-protocol VPN Program
|
||||
http://www.softether.org/
|
||||
|
||||
|
||||
This repository has experimental codes. Pull requests are welcome.
|
||||
|
||||
Stable Edition is available on
|
||||
@ -39,8 +47,25 @@ by the single SoftEther VPN Server program.
|
||||
More details on http://www.softether.org/.
|
||||
|
||||
|
||||
SOFTETHER VPN ADVANTAGES
|
||||
------------------------
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
# SOFTETHER VPN ADVANTAGES
|
||||
|
||||
|
||||
- Supporting all popular VPN protocols by the single VPN server:
|
||||
SSL-VPN (HTTPS)
|
||||
@ -79,8 +104,7 @@ SOFTETHER VPN ADVANTAGES
|
||||
- More details at http://www.softether.org/.
|
||||
|
||||
|
||||
GETTING STARTED
|
||||
---------------
|
||||
# GETTING STARTED
|
||||
|
||||
Visit the SoftEther VPN Project official web site at first:
|
||||
http://www.softether.org/
|
||||
@ -90,11 +114,10 @@ installers from:
|
||||
http://www.softether-download.com/
|
||||
|
||||
To build from the source,
|
||||
see "BUILD_UNIX.TXT" or "BUILD_WINDOWS.TXT" files.
|
||||
see [BUILD_UNIX](src/BUILD_UNIX.md) or [BUILD_WINDOWS](src/BUILD_WINDOWS.md) files.
|
||||
|
||||
|
||||
HOW TO DOWNLOAD THE LATEST SOURCE CODE PACKAGE
|
||||
----------------------------------------------
|
||||
# HOW TO DOWNLOAD THE LATEST SOURCE CODE PACKAGE
|
||||
|
||||
Go to http://www.softether-download.com/ and you can find the latest
|
||||
source-code package file in both .ZIP and .TAR.GZ format.
|
||||
@ -102,8 +125,7 @@ source-code package file in both .ZIP and .TAR.GZ format.
|
||||
This is the easiest way to obtain the source code of SoftEther VPN.
|
||||
|
||||
|
||||
HOW TO GET THE LATEST SOURCE CODE TREE FOR DEVELOPERS
|
||||
-----------------------------------------------------
|
||||
# HOW TO GET THE LATEST SOURCE CODE TREE FOR DEVELOPERS
|
||||
|
||||
If you are an open-source developer, visit our GitHub repository:
|
||||
https://github.com/SoftEtherVPN/SoftEtherVPN/
|
||||
@ -111,17 +133,40 @@ https://github.com/SoftEtherVPN/SoftEtherVPN/
|
||||
You can download the up-to-date source-code tree of SoftEther VPN
|
||||
from GitHub. You may make your own fork project from our project.
|
||||
|
||||
|
||||
|
||||
## Requirements
|
||||
|
||||
### 1. Debian/Ubuntu
|
||||
|
||||
- gcc
|
||||
- libncurses-dev
|
||||
- libreadline-dev
|
||||
- make
|
||||
- openssl-dev
|
||||
|
||||
### 2. Redhat/CentOS
|
||||
- gcc
|
||||
- openssl-devel
|
||||
- make
|
||||
- ncurses-devel
|
||||
- readline-devel
|
||||
## Compile and install
|
||||
|
||||
The download and build instruction is following:
|
||||
|
||||
```sh
|
||||
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
|
||||
$ cd SoftEtherVPN
|
||||
$ ./configure
|
||||
$ make
|
||||
$ make install
|
||||
```
|
||||
|
||||
|
||||
TO CIRCUMVENT YOUR GOVERNMENT'S FIREWALL RESTRICTION
|
||||
----------------------------------------------------
|
||||
|
||||
|
||||
# TO CIRCUMVENT YOUR GOVERNMENT'S FIREWALL RESTRICTION
|
||||
|
||||
Because SoftEther VPN is overly strong tool to build a VPN tunnel,
|
||||
some censorship governments want to block your access to the source code
|
||||
@ -135,13 +180,13 @@ on all the following open-source repositories:
|
||||
https://github.com/SoftEtherVPN/SoftEtherVPN/
|
||||
|
||||
To fetch the source code from GitHub:
|
||||
```
|
||||
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
|
||||
|
||||
```
|
||||
We hope that you can reach one of the above URLs at least!
|
||||
|
||||
|
||||
SOURCE CODE CONTRIBUTION
|
||||
------------------------
|
||||
# SOURCE CODE CONTRIBUTION
|
||||
|
||||
Your contribution to SoftEther VPN Project is much appreciated.
|
||||
Please send patches to us through GitHub.
|
||||
@ -149,8 +194,7 @@ Read the SoftEther VPN Patch Acceptance Policy in advance:
|
||||
http://www.softether.org/5-download/src/9.patch
|
||||
|
||||
|
||||
DEAR SECURITY EXPERTS
|
||||
---------------------
|
||||
# DEAR SECURITY EXPERTS
|
||||
|
||||
If you find a bug or a security vulnerability please kindly inform us
|
||||
about the problem immediately so that we can fix the security problem
|
||||
@ -164,8 +208,7 @@ inquiry address. If you need technical assistance, please visit
|
||||
http://www.softether.org/ and ask your question on the users forum.
|
||||
|
||||
|
||||
DISCLAIMER
|
||||
----------
|
||||
# DISCLAIMER
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
@ -1,125 +0,0 @@
|
||||
How to build SoftEther VPN for UNIX
|
||||
===================================
|
||||
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
You need to install the following software to build SoftEther VPN for UNIX.
|
||||
|
||||
- Linux, FreeBSD, Solaris or Mac OS X.
|
||||
- GNU Compiler Collectipon (gcc) and binary utilities.
|
||||
- GNU Make (gmake).
|
||||
- GNU C Library (glibc).
|
||||
- POSIX Threads (pthread).
|
||||
- OpenSSL (crypto, ssl).
|
||||
- libiconv.
|
||||
- readline.
|
||||
- ncurses.
|
||||
|
||||
For example, the following commands help you to install the above programs
|
||||
on Fedora or CentOS Linux:
|
||||
|
||||
$ yum -y groupinstall "Development Tools"
|
||||
$ yum -y install readline-devel ncurses-devel openssl-devel
|
||||
|
||||
|
||||
How to Build
|
||||
------------
|
||||
|
||||
To build the programs from the source code, run the following commands:
|
||||
|
||||
$ ./configure
|
||||
$ make
|
||||
|
||||
If any error occurs, please check the above requirements.
|
||||
|
||||
|
||||
How to Install SoftEther VPN Server, Bridge or Client
|
||||
-----------------------------------------------------
|
||||
|
||||
To install the vpnserver, vpnbridge and vpnclient programs into the
|
||||
/usr/bin directory, run the following as the root user:
|
||||
|
||||
# make install
|
||||
|
||||
After the installation will complete successfully:
|
||||
|
||||
- Execute 'vpnserver start' to run the SoftEther VPN Server background service.
|
||||
- Execute 'vpnbridge start' to run the SoftEther VPN Bridge background service.
|
||||
- Execute 'vpnclient start' to run the SoftEther VPN Client background service.
|
||||
- Execute 'vpncmd' to run SoftEther VPN Command-Line Utility to configure
|
||||
VPN Server, VPN Bridge or VPN Client.
|
||||
|
||||
- You can also use VPN Server/Client Manager GUI Tool on other Windows PC to
|
||||
connect to VPN services remotely.
|
||||
You can download the GUI Tools from http://www.softether-download.com/.
|
||||
|
||||
|
||||
How to Run SoftEther VPN Server for Test
|
||||
----------------------------------------
|
||||
|
||||
To start the SoftEther VPN Server background service, run the following:
|
||||
|
||||
$ bin/vpnserver/vpnserver start
|
||||
|
||||
To stop the service, run the following:
|
||||
|
||||
$ bin/vpnserver/vpnserver stop
|
||||
|
||||
To configure the running SoftEther VPN Server service,
|
||||
you can use SoftEther VPN Command Line Management Utility as following:
|
||||
|
||||
$ bin/vpncmd/vpncmd
|
||||
|
||||
Or you can also use VPN Server Manager GUI Tool on other Windows PC to
|
||||
connect to the VPN Server remotely. You can download the GUI Tool
|
||||
from http://www.softether-download.com/.
|
||||
|
||||
|
||||
How to Run SoftEther VPN Bridge for Test
|
||||
----------------------------------------
|
||||
|
||||
To start the SoftEther VPN Bridge background service, run the following:
|
||||
|
||||
$ bin/vpnbridge/vpnbridge start
|
||||
|
||||
To stop the service, run the following:
|
||||
|
||||
$ bin/vpnbridge/vpnbridge stop
|
||||
|
||||
To configure the running SoftEther VPN Bridge service,
|
||||
you can use SoftEther VPN Command Line Management Utility as following:
|
||||
|
||||
$ bin/vpncmd/vpncmd
|
||||
|
||||
Or you can also use VPN Server Manager GUI Tool on other Windows PC to
|
||||
connect to the VPN Bridge remotely. You can download the GUI Tool
|
||||
from http://www.softether-download.com/.
|
||||
|
||||
|
||||
How to Run SoftEther VPN Client for Test
|
||||
----------------------------------------
|
||||
|
||||
To start the SoftEther VPN Client background service, run the following:
|
||||
|
||||
$ bin/vpnclient/vpnclient start
|
||||
|
||||
To stop the service, run the following:
|
||||
|
||||
$ bin/vpnclient/vpnclient stop
|
||||
|
||||
To configure the running SoftEther VPN Client service,
|
||||
you can use SoftEther VPN Command Line Management Utility as following:
|
||||
|
||||
$ bin/vpncmd/vpncmd
|
||||
|
||||
Or you can also use VPN Client Manager GUI Tool on other Windows PC to
|
||||
connect to the VPN Client remotely. You can download the GUI Tool
|
||||
from http://www.softether-download.com/.
|
||||
|
||||
|
||||
************************************
|
||||
Thank You Using SoftEther VPN !
|
||||
By SoftEther VPN Open-Source Project
|
||||
http://www.softether.org/
|
@ -19,9 +19,10 @@ You need to install the following software to build SoftEther VPN for UNIX.
|
||||
|
||||
For example, the following commands help you to install the above programs
|
||||
on Fedora or CentOS Linux:
|
||||
|
||||
```
|
||||
$ yum -y groupinstall "Development Tools"
|
||||
$ yum -y install readline-devel ncurses-devel openssl-devel
|
||||
```
|
||||
|
||||
|
||||
How to Build
|
||||
@ -29,8 +30,10 @@ How to Build
|
||||
|
||||
To build the programs from the source code, run the following commands:
|
||||
|
||||
```
|
||||
$ ./configure
|
||||
$ make
|
||||
```
|
||||
|
||||
If any error occurs, please check the above requirements.
|
||||
|
||||
@ -41,7 +44,9 @@ How to Install SoftEther VPN Server, Bridge or Client
|
||||
To install the vpnserver, vpnbridge and vpnclient programs into the
|
||||
/usr/bin directory, run the following as the root user:
|
||||
|
||||
```
|
||||
# make install
|
||||
```
|
||||
|
||||
After the installation will complete successfully:
|
||||
|
||||
@ -61,16 +66,22 @@ How to Run SoftEther VPN Server for Test
|
||||
|
||||
To start the SoftEther VPN Server background service, run the following:
|
||||
|
||||
```
|
||||
$ bin/vpnserver/vpnserver start
|
||||
```
|
||||
|
||||
To stop the service, run the following:
|
||||
|
||||
```
|
||||
$ bin/vpnserver/vpnserver stop
|
||||
```
|
||||
|
||||
To configure the running SoftEther VPN Server service,
|
||||
you can use SoftEther VPN Command Line Management Utility as following:
|
||||
|
||||
```
|
||||
$ bin/vpncmd/vpncmd
|
||||
```
|
||||
|
||||
Or you can also use VPN Server Manager GUI Tool on other Windows PC to
|
||||
connect to the VPN Server remotely. You can download the GUI Tool
|
||||
@ -82,16 +93,22 @@ How to Run SoftEther VPN Bridge for Test
|
||||
|
||||
To start the SoftEther VPN Bridge background service, run the following:
|
||||
|
||||
```
|
||||
$ bin/vpnbridge/vpnbridge start
|
||||
```
|
||||
|
||||
To stop the service, run the following:
|
||||
|
||||
```
|
||||
$ bin/vpnbridge/vpnbridge stop
|
||||
```
|
||||
|
||||
To configure the running SoftEther VPN Bridge service,
|
||||
you can use SoftEther VPN Command Line Management Utility as following:
|
||||
|
||||
```
|
||||
$ bin/vpncmd/vpncmd
|
||||
```
|
||||
|
||||
Or you can also use VPN Server Manager GUI Tool on other Windows PC to
|
||||
connect to the VPN Bridge remotely. You can download the GUI Tool
|
||||
@ -103,16 +120,22 @@ How to Run SoftEther VPN Client for Test
|
||||
|
||||
To start the SoftEther VPN Client background service, run the following:
|
||||
|
||||
```
|
||||
$ bin/vpnclient/vpnclient start
|
||||
```
|
||||
|
||||
To stop the service, run the following:
|
||||
|
||||
```
|
||||
$ bin/vpnclient/vpnclient stop
|
||||
```
|
||||
|
||||
To configure the running SoftEther VPN Client service,
|
||||
you can use SoftEther VPN Command Line Management Utility as following:
|
||||
|
||||
```
|
||||
$ bin/vpncmd/vpncmd
|
||||
```
|
||||
|
||||
Or you can also use VPN Client Manager GUI Tool on other Windows PC to
|
||||
connect to the VPN Client remotely. You can download the GUI Tool
|
@ -1,44 +0,0 @@
|
||||
How to build SoftEther VPN for Windows
|
||||
======================================
|
||||
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
You need to install the following software to build SoftEther VPN for Windows.
|
||||
|
||||
- Microsoft Windows XP, Vista, 7, 8 or later.
|
||||
- Microsoft Visual Studio 2008 with the latest SP (SP1 9.0.30729.4462 QFE).
|
||||
Make sure that you installed the x64 compiler and build tools.
|
||||
|
||||
* Note:
|
||||
Visual Studio 2008 SP1 is required to build SoftEther VPN on Windows.
|
||||
Please make sure that VS2008 'SP1' is installed.
|
||||
Visual Studio 2010, 2012 or 2013 is currently not supported.
|
||||
Visual Studio 2008 Express Edition is not supported.
|
||||
Standard Edition, Professional Edition, Team System or Team Suite is
|
||||
required.
|
||||
|
||||
|
||||
Full Build Instructions
|
||||
-----------------------
|
||||
|
||||
The following steps will build all SoftEther VPN program files, and also build
|
||||
the installer packages of SoftEther VPN. It is very easy.
|
||||
|
||||
1. Run the "BuildAll.cmd" batch file in the "src" directory.
|
||||
2. Wait until the building process will complete.
|
||||
3. The built files are stored on the "output" directory.
|
||||
|
||||
|
||||
Partly Build, Debug or Development Instructions on Visual Studio 2008
|
||||
---------------------------------------------------------------------
|
||||
|
||||
If you are a programmer, you can open the SoftEther VPN solution file
|
||||
with Visual Studio 2008 to customize. Open "src\SEVPN.sln" and enjoy it.
|
||||
|
||||
|
||||
************************************
|
||||
Thank You Using SoftEther VPN !
|
||||
By SoftEther VPN Open-Source Project
|
||||
http://www.softether.org/
|
@ -183,8 +183,8 @@ void Enc_tls1_P_hash(const EVP_MD *md, const unsigned char *sec, int sec_len,
|
||||
HMAC_CTX ctx_tmp_;
|
||||
ctx = &ctx_;
|
||||
ctx_tmp = &ctx_tmp_;
|
||||
Zero(ctx, sizeof(ctx));
|
||||
Zero(ctx_tmp, sizeof(ctx_tmp));
|
||||
Zero(ctx, sizeof(HMAC_CTX));
|
||||
Zero(ctx_tmp, sizeof(HMAC_CTX));
|
||||
#endif
|
||||
chunk=EVP_MD_size(md);
|
||||
|
||||
|
@ -422,6 +422,7 @@ $(INSTALL_BINDIR)vpncmd: bin/vpncmd/hamcore.se2 bin/vpncmd/vpncmd
|
||||
@mkdir -p $(INSTALL_VPNCMD_DIR)
|
||||
cp bin/vpncmd/hamcore.se2 $(INSTALL_VPNCMD_DIR)hamcore.se2
|
||||
cp bin/vpncmd/vpncmd $(INSTALL_VPNCMD_DIR)vpncmd
|
||||
chmod 644 $(INSTALL_VPNCMD_DIR)hamcore.se2
|
||||
echo "#!/bin/sh" > $(INSTALL_BINDIR)vpncmd
|
||||
echo $(INSTALL_VPNCMD_DIR)vpncmd '"$$@"' >> $(INSTALL_BINDIR)vpncmd
|
||||
echo 'exit $$?' >> $(INSTALL_BINDIR)vpncmd
|
||||
|
@ -25,13 +25,19 @@
|
||||
|
||||
#CC=gcc
|
||||
|
||||
OPTIONS_COMPILE_DEBUG=-D_DEBUG -DDEBUG -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -g -fsigned-char -m64
|
||||
ifeq ($(shell uname -m),aarch64)
|
||||
M64:=
|
||||
else
|
||||
M64:=-m64
|
||||
endif
|
||||
|
||||
OPTIONS_LINK_DEBUG=-g -fsigned-char -m64 -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz
|
||||
OPTIONS_COMPILE_DEBUG=-D_DEBUG -DDEBUG -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -g -fsigned-char $(M64)
|
||||
|
||||
OPTIONS_COMPILE_RELEASE=-DNDEBUG -DVPN_SPEED -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -O2 -fsigned-char -m64
|
||||
OPTIONS_LINK_DEBUG=-g -fsigned-char $(M64) -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz
|
||||
|
||||
OPTIONS_LINK_RELEASE=-O2 -fsigned-char -m64 -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz
|
||||
OPTIONS_COMPILE_RELEASE=-DNDEBUG -DVPN_SPEED -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -O2 -fsigned-char $(M64)
|
||||
|
||||
OPTIONS_LINK_RELEASE=-O2 -fsigned-char $(M64) -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz
|
||||
|
||||
INSTALL_BINDIR=/usr/bin/
|
||||
INSTALL_VPNSERVER_DIR=/usr/vpnserver/
|
||||
@ -422,6 +428,7 @@ $(INSTALL_BINDIR)vpncmd: bin/vpncmd/hamcore.se2 bin/vpncmd/vpncmd
|
||||
@mkdir -p $(INSTALL_VPNCMD_DIR)
|
||||
cp bin/vpncmd/hamcore.se2 $(INSTALL_VPNCMD_DIR)hamcore.se2
|
||||
cp bin/vpncmd/vpncmd $(INSTALL_VPNCMD_DIR)vpncmd
|
||||
chmod 644 $(INSTALL_VPNCMD_DIR)hamcore.se2
|
||||
echo "#!/bin/sh" > $(INSTALL_BINDIR)vpncmd
|
||||
echo $(INSTALL_VPNCMD_DIR)vpncmd '"$$@"' >> $(INSTALL_BINDIR)vpncmd
|
||||
echo 'exit $$?' >> $(INSTALL_BINDIR)vpncmd
|
||||
|
Loading…
Reference in New Issue
Block a user