mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2025-07-10 17:54:58 +03:00
Compare commits
35 Commits
5.02.5186
...
d788bb033e
Author | SHA1 | Date | |
---|---|---|---|
d788bb033e | |||
a4c3713f4b | |||
abc516757e | |||
3fee01e1cf | |||
b3dfdc2ad0 | |||
8d06ac3348 | |||
9d1c3306e0 | |||
7729966c50 | |||
591cf0e9b9 | |||
39996ab0a2 | |||
f525b4d660 | |||
a081fdd5c8 | |||
10a2806f12 | |||
2628ac1884 | |||
972256c578 | |||
e2e8193495 | |||
71b6aa7a8c | |||
8be6d756b8 | |||
a6c5f0d135 | |||
c2487c6b2e | |||
817214da1f | |||
015f93f7b7 | |||
cdd3bddcc6 | |||
0a1f0913d9 | |||
18cbd4627a | |||
e475d70c0b | |||
e94240d9a0 | |||
023eb3465d | |||
5d1ce1a2cd | |||
d8569ad31a | |||
e3e0c33e3b | |||
8f0deb576c | |||
27d233a522 | |||
128fefc63e | |||
3a25c6bf73 |
@ -11,12 +11,12 @@ FreeBSD_task:
|
||||
SSL:
|
||||
matrix:
|
||||
freebsd_instance:
|
||||
image_family: freebsd-14-0
|
||||
image_family: freebsd-14-2
|
||||
prepare_script:
|
||||
- pkg install -y pkgconf cmake git libsodium $SSL
|
||||
- pkg install -y pkgconf cmake git libsodium cpu_features $SSL
|
||||
- git submodule update --init --recursive
|
||||
configure_script:
|
||||
- ./configure
|
||||
- CMAKE_FLAGS="-DUSE_SYSTEM_CPU_FEATURES=1" CFLAGS="-I/usr/local/include/cpu_features" ./configure
|
||||
build_script:
|
||||
- make -j $(sysctl -n hw.ncpu || echo 4) -C build
|
||||
test_script:
|
||||
|
98
.github/workflows/docker-aio.yml
vendored
Normal file
98
.github/workflows/docker-aio.yml
vendored
Normal file
@ -0,0 +1,98 @@
|
||||
name: docker-aio
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
tags:
|
||||
- '*'
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
name: docker-aio
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ github.repository_owner == 'SoftEtherVPN' }}
|
||||
steps:
|
||||
-
|
||||
name: Docker meta vpnserver
|
||||
id: metavpnserver
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: softethervpn/vpnserver
|
||||
tags: |
|
||||
type=raw,value=latest,enable={{is_default_branch}}
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
-
|
||||
name: Docker meta vpnclient
|
||||
id: metavpnclient
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: softethervpn/vpnclient
|
||||
tags: |
|
||||
type=raw,value=latest,enable={{is_default_branch}}
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
-
|
||||
name: Docker meta vpnbridge
|
||||
id: metavpnbridge
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: softethervpn/vpnbridge
|
||||
tags: |
|
||||
type=raw,value=latest,enable={{is_default_branch}}
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
with:
|
||||
image: tonistiigi/binfmt:qemu-v9.2.0
|
||||
#
|
||||
# TODO: unpin qemu version after default is updated
|
||||
#
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
-
|
||||
name: Login to DockerHub
|
||||
if: ${{ github.event_name != 'pull_request' }}
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
-
|
||||
name: Build and push vpnserver
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
file: ./Dockerfile
|
||||
target: vpnserver
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
platforms: linux/amd64,linux/arm64
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
-
|
||||
name: Build and push vpnclient
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
file: ./Dockerfile
|
||||
target: vpnclient
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
platforms: linux/amd64,linux/arm64
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
-
|
||||
name: Build and push vpnbridge
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
file: ./Dockerfile
|
||||
target: vpnbridge
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
platforms: linux/amd64,linux/arm64
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
7
.github/workflows/linux.yml
vendored
7
.github/workflows/linux.yml
vendored
@ -26,6 +26,13 @@ jobs:
|
||||
cd build
|
||||
cpack -C Release -G DEB
|
||||
|
||||
- name: Upload DEB packages as artifacts
|
||||
if: github.ref == 'refs/heads/master'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: deb-packages
|
||||
path: build/*.deb
|
||||
|
||||
- name: Test
|
||||
run: |
|
||||
.ci/appveyor-deb-install-test.sh
|
||||
|
2
.github/workflows/macos.yml
vendored
2
.github/workflows/macos.yml
vendored
@ -7,7 +7,7 @@ jobs:
|
||||
build_and_test:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-14, macos-13, macos-12]
|
||||
os: [macos-15, macos-14, macos-13]
|
||||
name: ${{ matrix.os }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
|
@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.15)
|
||||
set(BUILD_NUMBER CACHE STRING "The number of the current build.")
|
||||
|
||||
if ("${BUILD_NUMBER}" STREQUAL "")
|
||||
set(BUILD_NUMBER "5186")
|
||||
set(BUILD_NUMBER "5187")
|
||||
endif()
|
||||
|
||||
if (BUILD_NUMBER LESS 5180)
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"environments": [ { "BuildNumber": "5186" } ],
|
||||
"environments": [ { "BuildNumber": "5187" } ],
|
||||
"configurations": [
|
||||
{
|
||||
"name": "x64-native",
|
||||
|
104
ContainerREADME.md
Normal file
104
ContainerREADME.md
Normal file
@ -0,0 +1,104 @@
|
||||
# SoftetherVPN Container images
|
||||
|
||||
This container is designed to be as small as possible and host a SoftEther VPN Server, Bridge or Client.
|
||||
It´s based on Alpine so resulting Image is kept as small as 15MB!
|
||||
|
||||
## Not working
|
||||
|
||||
* bridging to a physical Ethernet adapter
|
||||
|
||||
## working
|
||||
|
||||
* OpenVPN
|
||||
* L2tp
|
||||
* SSL
|
||||
* SecureNAT
|
||||
* Wireguard (not with the "stable" tag)
|
||||
|
||||
|
||||
|
||||
## Available Tags
|
||||
|
||||
|
||||
|Image|Description|
|
||||
|---|---|
|
||||
|softethervpn/vpnserver:stable|Latest stable release from https://github.com/SoftEtherVPN/SoftEtherVPN_Stable|
|
||||
|softethervpn/vpnserver:v4.39-9772-beta|Tagged build|
|
||||
|softethervpn/vpnserver:latest|Latest commits from https://github.com/SoftEtherVPN/SoftEtherVPN|
|
||||
|
||||
|
||||
You should always specify your wanted version like `softethervpn/vpnserver:5.02.5180`
|
||||
|
||||
## Usage docker run
|
||||
|
||||
This will keep your config and Logfiles in the docker volume `softetherdata`
|
||||
|
||||
`docker run -d --rm --name softether-vpn-server -v softetherdata:/var/lib/softether -v softetherlogs:/var/log/softether -p 443:443/tcp -p 992:992/tcp -p 1194:1194/udp -p 5555:5555/tcp -p 500:500/udp -p 4500:4500/udp -p 1701:1701/udp --cap-add NET_ADMIN softethervpn/vpnserver:stable`
|
||||
|
||||
## Port requirements
|
||||
|
||||
As there are different operating modes for SoftetherVPN there is a variety of ports that might or might not be needed.
|
||||
For operation with Softether Clients at least 443, 992 or 5555 is needed.
|
||||
See https://www.softether.org/4-docs/1-manual/1/1.6 for reference on the Softether ports.
|
||||
Others are commented out in the docker-compose example.
|
||||
|
||||
## Usage docker-compose
|
||||
|
||||
The same command can be achieved by docker-compose, the docker compose file is in the repository.
|
||||
You can specify the respective docker-compose.yaml like so:
|
||||
|
||||
`docker-compose -f docker-compose.vpnclient.yaml up -d`
|
||||
|
||||
By default the docker-compose.yaml is used:
|
||||
|
||||
```
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
softether:
|
||||
image: softethervpn/vpnserver:latest
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
restart: always
|
||||
ports:
|
||||
#- 53:53 #DNS tunneling
|
||||
- 443:443 #Management and HTTPS tunneling
|
||||
#- 992:992 #HTTPS tunneling
|
||||
#- 1194:1194/udp #OpenVPN
|
||||
#- 5555:5555 #HTTPS tunneling
|
||||
#- 500:500/udp #IPsec/L2TP
|
||||
#- 4500:4500/udp #IPsec/L2TP
|
||||
#- 1701:1701/udp #IPsec/L2TP
|
||||
volumes:
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "./softether_data:/var/lib/softether"
|
||||
- "./softether_log:/var/log/softether"
|
||||
# - "./adminip.txt:/var/lib/softether/adminip.txt:ro"
|
||||
```
|
||||
|
||||
### Use vpncmd
|
||||
|
||||
With newer releases vpncmd is directly in the container so you can use it to configure vpn. You can can run it once the container is running :
|
||||
|
||||
`docker exec -it softether-vpn-server vpncmd localhost`
|
||||
example to configure a vpnclient
|
||||
|
||||
```
|
||||
docker exec -it softether-vpn-server vpncmd localhost /client
|
||||
|
||||
VPN Client> AccountSet homevpn /SERVER:192.168.1.1:443 /HUB:VPN
|
||||
VPN Client> AccountPasswordSet homevpn /PASSWORD:verysecurepassword /TYPE:standard
|
||||
VPN Client> AccountConnect homevpn
|
||||
|
||||
#Automatically connect once container starts
|
||||
VPN Client> AccountStartupSet homevpn
|
||||
|
||||
#Checking State
|
||||
VPN Client> AccountStatusGet homevpn
|
||||
|
||||
```
|
||||
|
||||
## Building
|
||||
|
||||
` docker build --target vpnclient -t softethevpn:latest .`
|
51
Dockerfile
Normal file
51
Dockerfile
Normal file
@ -0,0 +1,51 @@
|
||||
FROM alpine AS builder
|
||||
RUN mkdir /usr/local/src && apk add binutils --no-cache\
|
||||
linux-headers \
|
||||
build-base \
|
||||
readline-dev \
|
||||
openssl-dev \
|
||||
ncurses-dev \
|
||||
git \
|
||||
cmake \
|
||||
zlib-dev \
|
||||
libsodium-dev \
|
||||
gnu-libiconv
|
||||
|
||||
ENV LD_PRELOAD=/usr/lib/preloadable_libiconv.so
|
||||
ADD ./ /usr/local/src/SoftEtherVPN/
|
||||
WORKDIR /usr/local/src
|
||||
ENV USE_MUSL=YES
|
||||
ENV CMAKE_FLAGS="-DSE_PIDDIR=/run/softether -DSE_LOGDIR=/var/log/softether -DSE_DBDIR=/var/lib/softether"
|
||||
RUN cd SoftEtherVPN &&\
|
||||
./configure &&\
|
||||
make -j $(getconf _NPROCESSORS_ONLN) -C build
|
||||
|
||||
FROM alpine AS base
|
||||
RUN apk add --no-cache readline \
|
||||
openssl \
|
||||
libsodium \
|
||||
gnu-libiconv \
|
||||
iptables
|
||||
ENV LD_PRELOAD=/usr/lib/preloadable_libiconv.so
|
||||
WORKDIR /usr/local/bin
|
||||
VOLUME /var/log/softether
|
||||
VOLUME /var/lib/softether
|
||||
VOLUME /run/softether
|
||||
COPY --from=builder /usr/local/src/SoftEtherVPN/build/vpncmd /usr/local/src/SoftEtherVPN/build/hamcore.se2 ./
|
||||
COPY --from=builder /usr/local/src/SoftEtherVPN/build/libcedar.so /usr/local/src/SoftEtherVPN/build/libmayaqua.so /usr/local/lib/
|
||||
|
||||
|
||||
FROM base AS vpnserver
|
||||
COPY --from=builder /usr/local/src/SoftEtherVPN/build/vpnserver ./
|
||||
EXPOSE 443/tcp 992/tcp 1194/tcp 1194/udp 5555/tcp 500/udp 4500/udp
|
||||
CMD ["/usr/local/bin/vpnserver", "execsvc"]
|
||||
|
||||
|
||||
FROM base AS vpnclient
|
||||
COPY --from=builder /usr/local/src/SoftEtherVPN/build/vpnclient ./
|
||||
CMD ["/usr/local/bin/vpnclient", "execsvc"]
|
||||
|
||||
|
||||
FROM base AS vpnbridge
|
||||
COPY --from=builder /usr/local/src/SoftEtherVPN/build/vpnbridge ./
|
||||
CMD ["/usr/local/bin/vpnbridge", "execsvc"]
|
@ -211,6 +211,10 @@ Also SoftEther VPN [Stable Edition](https://www.freshports.org/security/softethe
|
||||
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](ContainerREADME.md)
|
||||
|
||||
## Build from Source code
|
||||
|
||||
see [BUILD_UNIX](src/BUILD_UNIX.md) or [BUILD_WINDOWS](src/BUILD_WINDOWS.md)
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
16
docker-compose.vpnclient.yaml
Normal file
16
docker-compose.vpnclient.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
softether:
|
||||
image: softethervpn/vpnclient:latest
|
||||
devices:
|
||||
- /dev/net/tun:/dev/net/tun
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
restart: always
|
||||
volumes:
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "./softether_data:/var/lib/softether"
|
||||
- "./softether_log:/var/log/softether"
|
||||
# - "./adminip.txt:/var/lib/softether/adminip.txt:ro"
|
23
docker-compose.yaml
Normal file
23
docker-compose.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
softether:
|
||||
image: softethervpn/vpnserver:latest
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
restart: always
|
||||
ports:
|
||||
#- 53:53 #DNS tunneling
|
||||
- 443:443 #Management and HTTPS tunneling
|
||||
- 992:992 #HTTPS tunneling
|
||||
#- 1194:1194/udp #OpenVPN
|
||||
#- 5555:5555 #HTTPS tunneling
|
||||
#- 500:500/udp #IPsec/L2TP
|
||||
#- 4500:4500/udp #IPsec/L2TP
|
||||
#- 1701:1701/udp #IPsec/L2TP
|
||||
volumes:
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "./softether_data:/var/lib/softether"
|
||||
- "./softether_log:/var/log/softether"
|
||||
# - "./adminip.txt:/var/lib/softether/adminip.txt:ro"
|
@ -127,6 +127,9 @@ if(UNIX)
|
||||
if(SE_PIDDIR)
|
||||
add_definitions(-DSE_PIDDIR="${SE_PIDDIR}")
|
||||
endif()
|
||||
|
||||
# Use system libraries instead of bundled
|
||||
set(USE_SYSTEM_CPU_FEATURES false CACHE BOOL "Use system cpu_features")
|
||||
endif()
|
||||
|
||||
# Cedar communication module
|
||||
|
@ -2138,9 +2138,9 @@ void L2TPProcessInterrupts(L2TP_SERVER *l2tp)
|
||||
UINT64 l2tpTimeout = L2TP_TUNNEL_TIMEOUT;
|
||||
|
||||
// If we got on ANY session a higher timeout than the default L2TP tunnel timeout, increase it
|
||||
for (i = 0; i < LIST_NUM(t->SessionList); i++)
|
||||
for (j = 0; j < LIST_NUM(t->SessionList); j++)
|
||||
{
|
||||
L2TP_SESSION* s = LIST_DATA(t->SessionList, i);
|
||||
L2TP_SESSION* s = LIST_DATA(t->SessionList, j);
|
||||
|
||||
if (s->TubeRecv != NULL && s->TubeRecv->DataTimeout > l2tpTimeout)
|
||||
{
|
||||
|
2
src/Mayaqua/3rdparty/cpu_features
vendored
2
src/Mayaqua/3rdparty/cpu_features
vendored
Submodule src/Mayaqua/3rdparty/cpu_features updated: 26133d3b62...ba4bffa86c
2
src/Mayaqua/3rdparty/liboqs
vendored
2
src/Mayaqua/3rdparty/liboqs
vendored
Submodule src/Mayaqua/3rdparty/liboqs updated: 51ddd33cc0...f4b96220e4
2
src/Mayaqua/3rdparty/oqs-provider
vendored
2
src/Mayaqua/3rdparty/oqs-provider
vendored
Submodule src/Mayaqua/3rdparty/oqs-provider updated: 8f37521d5e...ec1e8431f9
@ -109,8 +109,21 @@ if(UNIX)
|
||||
$<$<BOOL:${LIB_RT}>:${LIB_RT}>
|
||||
)
|
||||
|
||||
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7l|aarch64|s390x)$" OR NOT HAVE_SYS_AUXV OR SKIP_CPU_FEATURES)
|
||||
if (NOT HAVE_SYS_AUXV OR SKIP_CPU_FEATURES)
|
||||
add_definitions(-DSKIP_CPU_FEATURES)
|
||||
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(amd64|i386)")
|
||||
message("cpu_features is not available on FreeBSD/${CMAKE_SYSTEM_PROCESSOR}")
|
||||
add_definitions(-DSKIP_CPU_FEATURES)
|
||||
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND NOT CMAKE_SYSTEM_NAME MATCHES "^(arm64|x86_64)")
|
||||
# macOS runs only on Intel or ARM architecrues, should not reach here
|
||||
add_definitions(-DSKIP_CPU_FEATURES)
|
||||
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS" OR ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
|
||||
message("cpu_features is not available on ${CMAKE_SYSTEM_NAME}")
|
||||
add_definitions(-DSKIP_CPU_FEATURES)
|
||||
elseif(USE_SYSTEM_CPU_FEATURES)
|
||||
CHECK_INCLUDE_FILE(cpu_features_macros.h HAVE_CPU_FEATURES)
|
||||
message("-- Using system's cpu_features")
|
||||
target_link_libraries(mayaqua PRIVATE cpu_features)
|
||||
else()
|
||||
add_subdirectory(3rdparty/cpu_features)
|
||||
set_property(TARGET cpu_features PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
|
@ -4259,7 +4259,7 @@ UINT MsService(char *name, SERVICE_FUNCTION *start, SERVICE_FUNCTION *stop, UINT
|
||||
|
||||
if ((mode == SVC_MODE_INSTALL || mode == SVC_MODE_UNINSTALL || mode == SVC_MODE_START ||
|
||||
mode == SVC_MODE_STOP || mode == SVC_MODE_SERVICE) &&
|
||||
(ms->IsNt == false))
|
||||
(IsNt() == false))
|
||||
{
|
||||
// Tried to use the command for the NT in non-WindowsNT system
|
||||
MsgBox(NULL, MB_ICONSTOP, _UU("SVC_NT_ONLY"));
|
||||
|
@ -170,7 +170,6 @@ typedef struct MS
|
||||
{
|
||||
HINSTANCE hInst;
|
||||
HINSTANCE hKernel32;
|
||||
bool IsNt;
|
||||
bool IsAdmin;
|
||||
HANDLE hCurrentProcess;
|
||||
UINT CurrentProcessId;
|
||||
|
@ -60,7 +60,7 @@ struct DYN_VALUE
|
||||
#define DEFAULT_CIPHER_LIST "ECDHE+AESGCM:ECDHE+CHACHA20:DHE+AESGCM:DHE+CHACHA20:ECDHE+AES256:DHE+AES256:RSA+AES"
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
#define PQ_GROUP_LIST "p521_kyber1024:x25519_kyber768:P-521:X25519:P-256"
|
||||
#define PQ_GROUP_LIST "X25519MLKEM768:p521_kyber1024:x25519_kyber768:P-521:X25519:P-256"
|
||||
#endif
|
||||
|
||||
// SSL logging function
|
||||
|
0
src/Mayaqua/Unix.c
Executable file → Normal file
0
src/Mayaqua/Unix.c
Executable file → Normal file
@ -6,7 +6,9 @@
|
||||
// VPN Command Line Management Utility
|
||||
|
||||
#include "Cedar/Cedar.h"
|
||||
|
||||
#ifdef OS_WIN32
|
||||
#include "Cedar/CMInner.h"
|
||||
#endif
|
||||
#include "Cedar/Command.h"
|
||||
|
||||
#include "Mayaqua/Internat.h"
|
||||
@ -39,6 +41,10 @@ int main(int argc, char *argv[])
|
||||
#endif
|
||||
InitCedar();
|
||||
|
||||
#ifdef OS_WIN32
|
||||
CmExecUiHelperMain();
|
||||
#endif
|
||||
|
||||
s = GetCommandLineUniStr();
|
||||
|
||||
if (s == NULL)
|
||||
|
@ -4,11 +4,8 @@ After=network.target auditd.service
|
||||
ConditionPathExists=!@DIR@/softether/vpnbridge/do_not_run
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
EnvironmentFile=-@DIR@/softether/vpnbridge
|
||||
ExecStart=@DIR@/softether/vpnbridge/vpnbridge start
|
||||
ExecStop=@DIR@/softether/vpnbridge/vpnbridge stop
|
||||
KillMode=process
|
||||
Type=exec
|
||||
ExecStart=@DIR@/softether/vpnbridge/vpnbridge execsvc
|
||||
Restart=on-failure
|
||||
|
||||
# Hardening
|
||||
|
@ -4,11 +4,8 @@ After=network.target auditd.service
|
||||
ConditionPathExists=!@DIR@/softether/vpnclient/do_not_run
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
EnvironmentFile=-@DIR@/softether/vpnclient
|
||||
ExecStart=@DIR@/softether/vpnclient/vpnclient start
|
||||
ExecStop=@DIR@/softether/vpnclient/vpnclient stop
|
||||
KillMode=process
|
||||
Type=exec
|
||||
ExecStart=@DIR@/softether/vpnclient/vpnclient execsvc
|
||||
Restart=on-failure
|
||||
|
||||
# Hardening
|
||||
|
@ -4,12 +4,9 @@ After=network.target auditd.service
|
||||
ConditionPathExists=!@DIR@/softether/vpnserver/do_not_run
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
Type=exec
|
||||
TasksMax=infinity
|
||||
EnvironmentFile=-@DIR@/softether/vpnserver
|
||||
ExecStart=@DIR@/softether/vpnserver/vpnserver start
|
||||
ExecStop=@DIR@/softether/vpnserver/vpnserver stop
|
||||
KillMode=process
|
||||
ExecStart=@DIR@/softether/vpnserver/vpnserver execsvc
|
||||
Restart=on-failure
|
||||
|
||||
# Hardening
|
||||
|
Reference in New Issue
Block a user