1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2026-05-01 03:09:25 +03:00

Compare commits

..

2 Commits

Author SHA1 Message Date
Alexey Kryuchkov f70c312cb8 Merge a366bdbf02 into 9c0b5f7001 2024-03-31 15:58:20 +09:00
Alexey Kryuchkov a366bdbf02 Add server option 'JsonRpcWebApiAllowedSubnet' to restrict access to JSON-RPC API based on client IP address 2023-06-02 00:00:43 +03:00
60 changed files with 998 additions and 1143 deletions
+33
View File
@@ -0,0 +1,33 @@
version: '{build}'
image: Ubuntu2004
configuration: Release
skip_branch_with_pr: true
clone_depth: 1
skip_commits:
files:
- .travis.yml
- .gitlab-ci.yml
- .azure-pipelines.yml
- .cirrus.yml
init:
- ps: Update-AppveyorBuild -Version "build-$env:APPVEYOR_BUILD_NUMBER-$($env:APPVEYOR_REPO_COMMIT.substring(0,7))"
install:
- sudo apt-get -y install libsodium-dev libcap-ng-dev
before_build:
- git submodule update --init --recursive
- ./configure
build_script:
- make package -C build -j $(nproc || sysctl -n hw.ncpu || echo 4)
- .ci/memory-leak-test.sh
test_script:
- .ci/appveyor-deb-install-test.sh
- sudo apt-get update && sudo apt-get -y install autoconf libtool liblzo2-dev libpam-dev fping unzip liblz4-dev libnl-genl-3-dev # openvpn build deps
- sudo .ci/start-se-openvpn.sh
- sudo .ci/run-openvpn-tests.sh
+4
View File
@@ -0,0 +1,4 @@
jobs:
- template: .ci/azure-pipelines/linux.yml
- template: .ci/azure-pipelines/windows.yml
- template: .ci/azure-pipelines/macos.yml
+20
View File
@@ -0,0 +1,20 @@
jobs:
- job: Ubuntu_x64
pool:
vmImage: ubuntu-22.04
steps:
- checkout: self
submodules: true
persistCredentials: true
- script: sudo apt update && sudo apt-get -y install cmake gcc g++ ninja-build libncurses5-dev libreadline-dev libsodium-dev libssl-dev make zlib1g-dev liblz4-dev libnl-genl-3-dev
displayName: 'Prepare environment'
- script: "$(Build.SourcesDirectory)/.ci/azure-pipelines/linux_build.sh"
env:
SE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN)
displayName: 'Build'
- script: |
.ci/appveyor-deb-install-test.sh
sudo apt-get -y install autoconf libtool liblzo2-dev libpam-dev fping unzip libcap-ng-dev # To build OpenVPN
sudo BUILD_BINARIESDIRECTORY=$BUILD_BINARIESDIRECTORY .ci/start-se-openvpn.sh
sudo BUILD_BINARIESDIRECTORY=$BUILD_BINARIESDIRECTORY .ci/run-openvpn-tests.sh
displayName: 'Test'
+15
View File
@@ -0,0 +1,15 @@
#!/bin/bash
if [[ "${#SE_BUILD_NUMBER_TOKEN}" -eq 64 ]]; then
VERSION=$(python3 "version.py")
BUILD_NUMBER=$(curl "https://softether.network/get-build-number?commit=${BUILD_SOURCEVERSION}&version=${VERSION}&token=${SE_BUILD_NUMBER_TOKEN}")
else
BUILD_NUMBER=0
fi
cd ${BUILD_BINARIESDIRECTORY}
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_NUMBER=${BUILD_NUMBER} ${BUILD_SOURCESDIRECTORY}
cmake --build .
cpack -C Release -G DEB
+14
View File
@@ -0,0 +1,14 @@
jobs:
- job: macOS
pool:
vmImage: macOS-latest
steps:
- checkout: self
submodules: true
persistCredentials: true
- script: brew install pkg-config cmake ninja ncurses readline libsodium openssl zlib
displayName: 'Prepare environment'
- script: '$(Build.SourcesDirectory)/.ci/azure-pipelines/macos_build.sh'
env:
SE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN)
displayName: 'Build'
+13
View File
@@ -0,0 +1,13 @@
#!/bin/bash
if [[ "${#SE_BUILD_NUMBER_TOKEN}" -eq 64 ]]; then
VERSION=$(python3 "version.py")
BUILD_NUMBER=$(curl "https://softether.network/get-build-number?commit=${BUILD_SOURCEVERSION}&version=${VERSION}&token=${SE_BUILD_NUMBER_TOKEN}")
else
BUILD_NUMBER=0
fi
cd ${BUILD_BINARIESDIRECTORY}
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_NUMBER=${BUILD_NUMBER} -DOPENSSL_ROOT_DIR="/usr/local/opt/openssl" ${BUILD_SOURCESDIRECTORY}
cmake --build .
+41
View File
@@ -0,0 +1,41 @@
parameters:
- name: architecture
type: string
- name: compilerPath
type: string
- name: vcpkgTriplet
type: string
- name: vcvarsPath
type: string
steps:
- task: Cache@2
inputs:
key: '"vcpkg-manifest" | "$(Agent.OS)" | "${{parameters.vcpkgTriplet}}" | C:/vcpkg/.git/refs/heads/master'
path: '$(Build.BinariesDirectory)/vcpkg_installed'
displayName: 'Environment storage'
- script: '$(Build.SourcesDirectory)/.ci/azure-pipelines/windows_build.bat'
env:
ARCHITECTURE: ${{parameters.architecture}}
COMPILER_PATH: ${{parameters.compilerPath}}
VCPKG_TRIPLET: ${{parameters.vcpkgTriplet}}
VCVARS_PATH: ${{parameters.vcvarsPath}}
SE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN)
displayName: 'Build'
- powershell: |
. .ci/appveyor-vpntest.ps1
displayName: 'Test'
- task: CopyFiles@2
inputs:
sourceFolder: '$(Build.BinariesDirectory)'
contents: '?(*.exe|*.se2|*.pdb)'
TargetFolder: '$(Build.StagingDirectory)/binaries/${{parameters.architecture}}'
flattenFolders: true
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.StagingDirectory)/binaries/${{parameters.architecture}}'
artifactName: 'Binaries_${{parameters.architecture}}'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.StagingDirectory)/installers'
artifactName: 'Installers'
+27
View File
@@ -0,0 +1,27 @@
jobs:
- job: Windows_x64
pool:
vmImage: windows-latest
steps:
- checkout: self
submodules: true
persistCredentials: true
- template: "windows-steps.yml"
parameters:
architecture: "x64"
compilerPath: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/x64/bin/clang-cl.exe"
vcpkgTriplet: "x64-windows-static"
vcvarsPath: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
- job: Windows_x86
pool:
vmImage: windows-latest
steps:
- checkout: self
submodules: true
persistCredentials: true
- template: "windows-steps.yml"
parameters:
architecture: "x86"
compilerPath: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/bin/clang-cl.exe"
vcpkgTriplet: "x86-windows-static"
vcvarsPath: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars32.bat"
+26
View File
@@ -0,0 +1,26 @@
@echo on
:: The method we use to store a command's output into a variable:
:: https://stackoverflow.com/a/6362922
for /f "tokens=* USEBACKQ" %%g in (`python "version.py"`) do (set "VERSION=%%g")
:: https://stackoverflow.com/a/8566001
echo %SE_BUILD_NUMBER_TOKEN%> "%tmp%\length.txt"
for %%? in ("%tmp%\length.txt") do ( set /A SE_BUILD_NUMBER_TOKEN_LENGTH=%%~z? - 2 )
if %SE_BUILD_NUMBER_TOKEN_LENGTH% equ 64 (
for /f "tokens=* USEBACKQ" %%g in (`curl "https://softether.network/get-build-number?commit=%BUILD_SOURCEVERSION%&version=%VERSION%&token=%SE_BUILD_NUMBER_TOKEN%"`) do (set "BUILD_NUMBER=%%g")
) else (
set BUILD_NUMBER=0
)
cd %BUILD_BINARIESDIRECTORY%
call "%VCVARS_PATH%"
cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER="%COMPILER_PATH%" -DCMAKE_CXX_COMPILER="%COMPILER_PATH%" -DBUILD_NUMBER=%BUILD_NUMBER% "%BUILD_SOURCESDIRECTORY%"
cmake --build .
mkdir "%BUILD_STAGINGDIRECTORY%\installers"
vpnsetup /SFXMODE:vpnclient /SFXOUT:"%BUILD_STAGINGDIRECTORY%\installers\softether-vpnclient-%VERSION%.%BUILD_NUMBER%.%ARCHITECTURE%.exe"
vpnsetup /SFXMODE:vpnserver_vpnbridge /SFXOUT:"%BUILD_STAGINGDIRECTORY%\installers\softether-vpnserver_vpnbridge-%VERSION%.%BUILD_NUMBER%.%ARCHITECTURE%.exe"
+1 -1
View File
@@ -11,7 +11,7 @@ FreeBSD_task:
SSL: SSL:
matrix: matrix:
freebsd_instance: freebsd_instance:
image_family: freebsd-14-0 image_family: freebsd-13-2
prepare_script: prepare_script:
- pkg install -y pkgconf cmake git libsodium $SSL - pkg install -y pkgconf cmake git libsodium $SSL
- git submodule update --init --recursive - git submodule update --init --recursive
+1 -2
View File
@@ -4,7 +4,6 @@ on:
schedule: schedule:
- cron: "0 0 25 * *" - cron: "0 0 25 * *"
push: push:
pull_request:
workflow_dispatch: workflow_dispatch:
permissions: permissions:
@@ -25,7 +24,7 @@ jobs:
submodules: true submodules: true
- name: Install dependencies - name: Install dependencies
run: | run: |
dnf -y install git cmake ncurses-devel openssl-devel-engine libsodium-devel readline-devel zlib-devel gcc-c++ clang dnf -y install git cmake ncurses-devel openssl-devel libsodium-devel readline-devel zlib-devel gcc-c++ clang
- name: Compile with ${{ matrix.cc }} - name: Compile with ${{ matrix.cc }}
run: | run: |
export CC=${{ matrix.cc }} export CC=${{ matrix.cc }}
-34
View File
@@ -1,34 +0,0 @@
on: [push, pull_request]
permissions:
contents: read
jobs:
build_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: sudo apt update && sudo apt-get -y install cmake gcc g++ ninja-build libncurses5-dev libreadline-dev libsodium-dev libssl-dev make zlib1g-dev liblz4-dev libnl-genl-3-dev
- name: Build
run: |
mkdir build
cd build
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
cmake --build .
- name: Build deb packages
run: |
cd build
cpack -C Release -G DEB
- name: Test
run: |
.ci/appveyor-deb-install-test.sh
sudo apt-get -y install autoconf libtool liblzo2-dev libpam-dev fping unzip libcap-ng-dev # To build OpenVPN
sudo .ci/start-se-openvpn.sh
sudo .ci/run-openvpn-tests.sh
+1 -1
View File
@@ -7,7 +7,7 @@ jobs:
build_and_test: build_and_test:
strategy: strategy:
matrix: matrix:
os: [macos-14, macos-13, macos-12] os: [macos-13, macos-12, macos-11]
name: ${{ matrix.os }} name: ${{ matrix.os }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
-63
View File
@@ -1,63 +0,0 @@
on: [push, pull_request]
permissions:
contents: read
jobs:
build_and_test:
strategy:
matrix:
platform: [
{ ARCHITECTURE: x86, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/bin/clang-cl.exe", VCPKG_TRIPLET: "x86-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars32.bat"},
{ ARCHITECTURE: x64, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/x64/bin/clang-cl.exe", VCPKG_TRIPLET: "x64-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"}
]
runs-on: windows-latest
name: ${{ matrix.platform.ARCHITECTURE }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Cache vcpkg
uses: actions/cache@v4
with:
path: 'build/vcpkg_installed/'
key: vcpkg-${{ matrix.platform.VCPKG_TRIPLET }}
- name: Set version variables
run: |
$v = python version.py
echo "VERSION=$v" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
shell: pwsh
- name: Build
env:
ARCHITECTURE: ${{ matrix.platform.ARCHITECTURE }}
COMPILER_PATH: ${{ matrix.platform.COMPILER_PATH }}
VCPKG_TRIPLET: ${{ matrix.platform.VCPKG_TRIPLET }}
VCVARS_PATH: ${{ matrix.platform.VCVARS_PATH }}
run: |
set BUILD_NUMBER=0
mkdir build
cd build
call "%VCVARS_PATH%"
cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER="%COMPILER_PATH%" -DCMAKE_CXX_COMPILER="%COMPILER_PATH%" -DBUILD_NUMBER=%BUILD_NUMBER% ..
cmake --build .
mkdir installers
vpnsetup /SFXMODE:vpnclient /SFXOUT:"installers\softether-vpnclient-%VERSION%.%BUILD_NUMBER%.%ARCHITECTURE%.exe"
vpnsetup /SFXMODE:vpnserver_vpnbridge /SFXOUT:"installers\softether-vpnserver_vpnbridge-%VERSION%.%BUILD_NUMBER%.%ARCHITECTURE%.exe"
shell: cmd
- name: Test
shell: powershell
run: |
. .ci/appveyor-vpntest.ps1
- uses: actions/upload-artifact@v4
with:
if-no-files-found: error
name: Binaries-${{ matrix.platform.ARCHITECTURE }}
path: |
build/*.exe
build/*.pdb
build/*.se2
- uses: actions/upload-artifact@v4
with:
if-no-files-found: error
name: Installers-${{ matrix.platform.ARCHITECTURE }}
path: build/installers
-94
View File
@@ -1,94 +0,0 @@
name: "Release"
on:
push:
tags:
- '*'
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
permissions:
contents: write
jobs:
release:
runs-on: windows-latest
outputs:
upload_url: "${{ steps.create_release.outputs.upload_url }}"
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
- name: "Create GitHub release"
id: create_release
uses: softprops/action-gh-release@v1
build-windows:
name: ${{ matrix.platform.ARCHITECTURE }}
runs-on: windows-latest
needs: ["release"]
strategy:
matrix:
platform: [
{ ARCHITECTURE: x86, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/bin/clang-cl.exe", VCPKG_TRIPLET: "x86-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars32.bat"},
{ ARCHITECTURE: x64, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/x64/bin/clang-cl.exe", VCPKG_TRIPLET: "x64-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat"}
]
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
with:
submodules: true
- name: Cache vcpkg
uses: actions/cache@v4
with:
path: 'build/vcpkg_installed/'
key: vcpkg-release-${{ matrix.platform.VCPKG_TRIPLET }}
- name: Set version variables
run: |
$b=(Get-Content CMakeSettings.json | Out-String | ConvertFrom-Json).environments.BuildNumber
echo "BUILD_NUMBER=$b" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
$v = python version.py
echo "VERSION=$v" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
shell: pwsh
- name: Build
env:
ARCHITECTURE: ${{ matrix.platform.ARCHITECTURE }}
COMPILER_PATH: ${{ matrix.platform.COMPILER_PATH }}
VCPKG_TRIPLET: ${{ matrix.platform.VCPKG_TRIPLET }}
VCVARS_PATH: ${{ matrix.platform.VCVARS_PATH }}
run: |
mkdir build
cd build
call "%VCVARS_PATH%"
cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER="%COMPILER_PATH%" -DCMAKE_CXX_COMPILER="%COMPILER_PATH%" -DBUILD_NUMBER=%BUILD_NUMBER% ..
cmake --build .
mkdir installers
vpnsetup /SFXMODE:vpnclient /SFXOUT:"installers\softether-vpnclient-%VERSION%.%BUILD_NUMBER%.%ARCHITECTURE%.exe"
vpnsetup /SFXMODE:vpnserver_vpnbridge /SFXOUT:"installers\softether-vpnserver_vpnbridge-%VERSION%.%BUILD_NUMBER%.%ARCHITECTURE%.exe"
shell: cmd
- name: dir
run: |
Get-ChildItem -Recurse build/installers
shell: pwsh
- name: "Upload softether-vpnclient"
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: "${{ github.token }}"
with:
upload_url: "${{ needs.release.outputs.upload_url }}"
asset_path: "build/installers/softether-vpnclient-${{ env.VERSION }}.${{ env.BUILD_NUMBER }}.${{ matrix.platform.ARCHITECTURE }}.exe"
asset_name: "softether-vpnclient-${{ env.VERSION }}.${{ env.BUILD_NUMBER }}.${{ matrix.platform.ARCHITECTURE }}.exe"
asset_content_type: "application/octet-stream"
- name: "Upload softether-vpnserver_vpnbridge"
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: "${{ github.token }}"
with:
upload_url: "${{ needs.release.outputs.upload_url }}"
asset_path: "build/installers/softether-vpnserver_vpnbridge-${{ env.VERSION }}.${{ env.BUILD_NUMBER }}.${{ matrix.platform.ARCHITECTURE }}.exe"
asset_name: "softether-vpnserver_vpnbridge-${{ env.VERSION }}.${{ env.BUILD_NUMBER }}.${{ matrix.platform.ARCHITECTURE }}.exe"
asset_content_type: "application/octet-stream"
-6
View File
@@ -10,9 +10,3 @@
[submodule "src/libhamcore"] [submodule "src/libhamcore"]
path = src/libhamcore path = src/libhamcore
url = https://github.com/SoftEtherVPN/libhamcore.git url = https://github.com/SoftEtherVPN/libhamcore.git
[submodule "src/Mayaqua/3rdparty/oqs-provider"]
path = src/Mayaqua/3rdparty/oqs-provider
url = https://github.com/open-quantum-safe/oqs-provider.git
[submodule "src/Mayaqua/3rdparty/liboqs"]
path = src/Mayaqua/3rdparty/liboqs
url = https://github.com/open-quantum-safe/liboqs.git
+3 -3
View File
@@ -1,9 +1,9 @@
cmake_minimum_required(VERSION 3.15) cmake_minimum_required(VERSION 3.10)
set(BUILD_NUMBER CACHE STRING "The number of the current build.") set(BUILD_NUMBER CACHE STRING "The number of the current build.")
if ("${BUILD_NUMBER}" STREQUAL "") if ("${BUILD_NUMBER}" STREQUAL "")
set(BUILD_NUMBER "5187") set(BUILD_NUMBER "5183")
endif() endif()
if (BUILD_NUMBER LESS 5180) if (BUILD_NUMBER LESS 5180)
@@ -53,7 +53,7 @@ if(UNIX)
# #
# use rpath for locating installed libraries # use rpath for locating installed libraries
# #
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
include(CheckIncludeFile) include(CheckIncludeFile)
+1 -1
View File
@@ -1,5 +1,5 @@
{ {
"environments": [ { "BuildNumber": "5187" } ], "environments": [ { "BuildNumber": "5183" } ],
"configurations": [ "configurations": [
{ {
"name": "x64-native", "name": "x64-native",
+3 -3
View File
@@ -2,8 +2,10 @@
||Badges| ||Badges|
|---|---| |---|---|
|AppVeyor|[![AppVeyor build status](https://ci.appveyor.com/api/projects/status/github/softethervpn/softethervpn?branch=master&svg=true)](https://ci.appveyor.com/project/softethervpn/softethervpn) |
|GitLab CI|[![GitLab CI build status](https://gitlab.com/SoftEther/SoftEtherVPN/badges/master/pipeline.svg)](https://gitlab.com/SoftEther/SoftEtherVPN/pipelines)| |GitLab CI|[![GitLab CI build status](https://gitlab.com/SoftEther/SoftEtherVPN/badges/master/pipeline.svg)](https://gitlab.com/SoftEther/SoftEtherVPN/pipelines)|
|Coverity Scan|[![Coverity Scan build status](https://scan.coverity.com/projects/16304/badge.svg)](https://scan.coverity.com/projects/softethervpn-softethervpn)| |Coverity Scan|[![Coverity Scan build status](https://scan.coverity.com/projects/16304/badge.svg)](https://scan.coverity.com/projects/softethervpn-softethervpn)|
|Azure Pipelines|[![Azure Pipelines build status for Nightly](https://dev.azure.com/SoftEther-VPN/SoftEther%20VPN/_apis/build/status/6?api-version=6.0-preview.1)](https://dev.azure.com/SoftEther-VPN/SoftEther%20VPN/_build?definitionId=6)|
|Cirrus CI|[![Cirrus CI build status](https://api.cirrus-ci.com/github/SoftEtherVPN/SoftEtherVPN.svg)](https://cirrus-ci.com/github/SoftEtherVPN/SoftEtherVPN)| |Cirrus CI|[![Cirrus CI build status](https://api.cirrus-ci.com/github/SoftEtherVPN/SoftEtherVPN.svg)](https://cirrus-ci.com/github/SoftEtherVPN/SoftEtherVPN)|
- [SoftEther VPN](#softether-vpn) - [SoftEther VPN](#softether-vpn)
@@ -201,9 +203,7 @@ Also SoftEther VPN [Stable Edition](https://www.freshports.org/security/softethe
## For Windows ## For Windows
[Releases](https://github.com/SoftEtherVPN/SoftEtherVPN/releases) [Nightly builds](https://dev.azure.com/SoftEther-VPN/SoftEther%20VPN/_build?definitionId=6)
[Nightly builds](https://github.com/SoftEtherVPN/SoftEtherVPN/actions/workflows/windows.yml)
(choose appropriate platform, then find binaries or installers as artifacts) (choose appropriate platform, then find binaries or installers as artifacts)
## From binary installers (stable channel) ## From binary installers (stable channel)
@@ -30,6 +30,7 @@
<ul> <ul>
<li>Older versions of SoftEther VPN before June 2019 don't support JSON-RPC APIs.</li> <li>Older versions of SoftEther VPN before June 2019 don't support JSON-RPC APIs.</li>
<li>If you want to completely disable the JSON-RPC on your VPN Server, set the <code>DisableJsonRpcWebApi</code> variable to <code>true</code> on the <code>vpn_server.config</code>.</li> <li>If you want to completely disable the JSON-RPC on your VPN Server, set the <code>DisableJsonRpcWebApi</code> variable to <code>true</code> on the <code>vpn_server.config</code>.</li>
<li>You may also restrict access to JSON-RPC API to a specific subnet, e.g. your internal network, by setting the <code>JsonRpcWebApiAllowedSubnet</code> variable to, for example, <code>192.168.0.0/16</code>.</li>
</ul> </ul>
<h3 id="json-rpc-specification">JSON-RPC specification</h3> <h3 id="json-rpc-specification">JSON-RPC specification</h3>
<p>You must use HTTPS 1.1 <code>POST</code> method to call each of JSON-RPC APIs.<br /> <p>You must use HTTPS 1.1 <code>POST</code> method to call each of JSON-RPC APIs.<br />
@@ -216,8 +217,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
<li><a href="#getspeciallistener">GetSpecialListener - Get Current Setting of the VPN over ICMP / VPN over DNS Function</a></li> <li><a href="#getspeciallistener">GetSpecialListener - Get Current Setting of the VPN over ICMP / VPN over DNS Function</a></li>
<li><a href="#getazurestatus">GetAzureStatus - Show the current status of VPN Azure function</a></li> <li><a href="#getazurestatus">GetAzureStatus - Show the current status of VPN Azure function</a></li>
<li><a href="#setazurestatus">SetAzureStatus - Enable / Disable VPN Azure Function</a></li> <li><a href="#setazurestatus">SetAzureStatus - Enable / Disable VPN Azure Function</a></li>
<li><a href="#getddnsinternetsetting">GetDDnsInternetSetting - Get the Proxy Settings for Connecting to the DDNS server</a></li> <li><a href="#getddnsinternetsettng">GetDDnsInternetSettng - Get the Proxy Settings for Connecting to the DDNS server</a></li>
<li><a href="#setddnsinternetsetting">SetDDnsInternetSetting - Set the Proxy Settings for Connecting to the DDNS server</a></li> <li><a href="#setddnsinternetsettng">SetDDnsInternetSettng - Set the Proxy Settings for Connecting to the DDNS server</a></li>
<li><a href="#setvgsconfig">SetVgsConfig - Set the VPN Gate Server Configuration</a></li> <li><a href="#setvgsconfig">SetVgsConfig - Set the VPN Gate Server Configuration</a></li>
<li><a href="#getvgsconfig">GetVgsConfig - Get the VPN Gate Server Configuration</a></li> <li><a href="#getvgsconfig">GetVgsConfig - Get the VPN Gate Server Configuration</a></li>
</ul> </ul>
@@ -305,7 +306,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;ServerBuildInt_u32&quot;: 0, &quot;ServerBuildInt_u32&quot;: 0,
&quot;ServerHostName_str&quot;: &quot;serverhostname&quot;, &quot;ServerHostName_str&quot;: &quot;serverhostname&quot;,
&quot;ServerType_u32&quot;: 0, &quot;ServerType_u32&quot;: 0,
&quot;ServerBuildDate_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ServerBuildDate_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ServerFamilyName_str&quot;: &quot;serverfamilyname&quot;, &quot;ServerFamilyName_str&quot;: &quot;serverfamilyname&quot;,
&quot;OsType_u32&quot;: 0, &quot;OsType_u32&quot;: 0,
&quot;OsServicePack_u32&quot;: 0, &quot;OsServicePack_u32&quot;: 0,
@@ -460,9 +461,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Send.BroadcastCount_u64&quot;: 0, &quot;Send.BroadcastCount_u64&quot;: 0,
&quot;Send.UnicastBytes_u64&quot;: 0, &quot;Send.UnicastBytes_u64&quot;: 0,
&quot;Send.UnicastCount_u64&quot;: 0, &quot;Send.UnicastCount_u64&quot;: 0,
&quot;CurrentTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CurrentTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CurrentTick_u64&quot;: 0, &quot;CurrentTick_u64&quot;: 0,
&quot;StartTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;TotalMemory_u64&quot;: 0, &quot;TotalMemory_u64&quot;: 0,
&quot;UsedMemory_u64&quot;: 0, &quot;UsedMemory_u64&quot;: 0,
&quot;FreeMemory_u64&quot;: 0, &quot;FreeMemory_u64&quot;: 0,
@@ -1136,7 +1137,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;result&quot;: { &quot;result&quot;: {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;Controller_bool&quot;: false, &quot;Controller_bool&quot;: false,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Point_u32&quot;: 0, &quot;Point_u32&quot;: 0,
@@ -1283,7 +1284,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;Controller_bool&quot;: false, &quot;Controller_bool&quot;: false,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Point_u32&quot;: 0, &quot;Point_u32&quot;: 0,
@@ -1296,7 +1297,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;Controller_bool&quot;: false, &quot;Controller_bool&quot;: false,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Point_u32&quot;: 0, &quot;Point_u32&quot;: 0,
@@ -1309,7 +1310,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;Controller_bool&quot;: false, &quot;Controller_bool&quot;: false,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Point_u32&quot;: 0, &quot;Point_u32&quot;: 0,
@@ -1422,9 +1423,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Port_u32&quot;: 0, &quot;Port_u32&quot;: 0,
&quot;Online_bool&quot;: false, &quot;Online_bool&quot;: false,
&quot;LastError_u32&quot;: 0, &quot;LastError_u32&quot;: 0,
&quot;StartedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;StartedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;FirstConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;FirstConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CurrentConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CurrentConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumTry_u32&quot;: 0, &quot;NumTry_u32&quot;: 0,
&quot;NumConnected_u32&quot;: 0, &quot;NumConnected_u32&quot;: 0,
&quot;NumFailed_u32&quot;: 0 &quot;NumFailed_u32&quot;: 0
@@ -1918,9 +1919,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;NumSessions_u32&quot;: 0, &quot;NumSessions_u32&quot;: 0,
&quot;NumMacTables_u32&quot;: 0, &quot;NumMacTables_u32&quot;: 0,
&quot;NumIpTables_u32&quot;: 0, &quot;NumIpTables_u32&quot;: 0,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
@@ -1941,9 +1942,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;NumSessions_u32&quot;: 0, &quot;NumSessions_u32&quot;: 0,
&quot;NumMacTables_u32&quot;: 0, &quot;NumMacTables_u32&quot;: 0,
&quot;NumIpTables_u32&quot;: 0, &quot;NumIpTables_u32&quot;: 0,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
@@ -1964,9 +1965,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;NumSessions_u32&quot;: 0, &quot;NumSessions_u32&quot;: 0,
&quot;NumMacTables_u32&quot;: 0, &quot;NumMacTables_u32&quot;: 0,
&quot;NumIpTables_u32&quot;: 0, &quot;NumIpTables_u32&quot;: 0,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
@@ -2309,7 +2310,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Port_u32&quot;: 0, &quot;Port_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Type_u32&quot;: 0 &quot;Type_u32&quot;: 0
}, },
{ {
@@ -2317,7 +2318,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Port_u32&quot;: 0, &quot;Port_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Type_u32&quot;: 0 &quot;Type_u32&quot;: 0
}, },
{ {
@@ -2325,7 +2326,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Port_u32&quot;: 0, &quot;Port_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Type_u32&quot;: 0 &quot;Type_u32&quot;: 0
} }
] ]
@@ -2450,7 +2451,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Port_u32&quot;: 0, &quot;Port_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ServerStr_str&quot;: &quot;serverstr&quot;, &quot;ServerStr_str&quot;: &quot;serverstr&quot;,
&quot;ServerVer_u32&quot;: 0, &quot;ServerVer_u32&quot;: 0,
&quot;ServerBuild_u32&quot;: 0, &quot;ServerBuild_u32&quot;: 0,
@@ -2620,9 +2621,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Send.UnicastBytes_u64&quot;: 0, &quot;Send.UnicastBytes_u64&quot;: 0,
&quot;Send.UnicastCount_u64&quot;: 0, &quot;Send.UnicastCount_u64&quot;: 0,
&quot;SecureNATEnabled_bool&quot;: false, &quot;SecureNATEnabled_bool&quot;: false,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumLogin_u32&quot;: 0 &quot;NumLogin_u32&quot;: 0
} }
} }
@@ -2992,19 +2993,19 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SubjectName_utf&quot;: &quot;subjectname&quot;, &quot;SubjectName_utf&quot;: &quot;subjectname&quot;,
&quot;IssuerName_utf&quot;: &quot;issuername&quot;, &quot;IssuerName_utf&quot;: &quot;issuername&quot;,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SubjectName_utf&quot;: &quot;subjectname&quot;, &quot;SubjectName_utf&quot;: &quot;subjectname&quot;,
&quot;IssuerName_utf&quot;: &quot;issuername&quot;, &quot;IssuerName_utf&quot;: &quot;issuername&quot;,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SubjectName_utf&quot;: &quot;subjectname&quot;, &quot;SubjectName_utf&quot;: &quot;subjectname&quot;,
&quot;IssuerName_utf&quot;: &quot;issuername&quot;, &quot;IssuerName_utf&quot;: &quot;issuername&quot;,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
} }
] ]
} }
@@ -4348,7 +4349,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Online_bool&quot;: false, &quot;Online_bool&quot;: false,
&quot;Connected_bool&quot;: false, &quot;Connected_bool&quot;: false,
&quot;LastError_u32&quot;: 0, &quot;LastError_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;TargetHubName_str&quot;: &quot;targethubname&quot; &quot;TargetHubName_str&quot;: &quot;targethubname&quot;
}, },
@@ -4357,7 +4358,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Online_bool&quot;: false, &quot;Online_bool&quot;: false,
&quot;Connected_bool&quot;: false, &quot;Connected_bool&quot;: false,
&quot;LastError_u32&quot;: 0, &quot;LastError_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;TargetHubName_str&quot;: &quot;targethubname&quot; &quot;TargetHubName_str&quot;: &quot;targethubname&quot;
}, },
@@ -4366,7 +4367,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Online_bool&quot;: false, &quot;Online_bool&quot;: false,
&quot;Connected_bool&quot;: false, &quot;Connected_bool&quot;: false,
&quot;LastError_u32&quot;: 0, &quot;LastError_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;TargetHubName_str&quot;: &quot;targethubname&quot; &quot;TargetHubName_str&quot;: &quot;targethubname&quot;
} }
@@ -4668,9 +4669,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;ServerProductBuild_u32&quot;: 0, &quot;ServerProductBuild_u32&quot;: 0,
&quot;ServerX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;ServerX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;ClientX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;ClientX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;StartTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumConnectionsEatablished_u32&quot;: 0, &quot;NumConnectionsEatablished_u32&quot;: 0,
&quot;HalfConnection_bool&quot;: false, &quot;HalfConnection_bool&quot;: false,
&quot;QoS_bool&quot;: false, &quot;QoS_bool&quot;: false,
@@ -5996,7 +5997,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Name_str&quot;: &quot;name&quot;, &quot;Name_str&quot;: &quot;name&quot;,
&quot;Realname_utf&quot;: &quot;realname&quot;, &quot;Realname_utf&quot;: &quot;realname&quot;,
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;Auth_Password_str&quot;: &quot;auth_password&quot;, &quot;Auth_Password_str&quot;: &quot;auth_password&quot;,
&quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
@@ -6057,9 +6058,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;GroupName_str&quot;: &quot;groupname&quot;, &quot;GroupName_str&quot;: &quot;groupname&quot;,
&quot;Realname_utf&quot;: &quot;realname&quot;, &quot;Realname_utf&quot;: &quot;realname&quot;,
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;Auth_Password_str&quot;: &quot;auth_password&quot;, &quot;Auth_Password_str&quot;: &quot;auth_password&quot;,
&quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
@@ -6247,7 +6248,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
<tr> <tr>
<td><code>Send.UnicastCount_u64</code></td> <td><code>Send.UnicastCount_u64</code></td>
<td><code>number</code> (uint64)</td> <td><code>number</code> (uint64)</td>
<td>Unicast bytes (Send)</td> <td>Unicast count (Send)</td>
</tr> </tr>
<tr> <tr>
<td><code>UsePolicy_bool</code></td> <td><code>UsePolicy_bool</code></td>
@@ -6467,7 +6468,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;GroupName_str&quot;: &quot;groupname&quot;, &quot;GroupName_str&quot;: &quot;groupname&quot;,
&quot;Realname_utf&quot;: &quot;realname&quot;, &quot;Realname_utf&quot;: &quot;realname&quot;,
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;Auth_Password_str&quot;: &quot;auth_password&quot;, &quot;Auth_Password_str&quot;: &quot;auth_password&quot;,
&quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
@@ -6528,9 +6529,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;GroupName_str&quot;: &quot;groupname&quot;, &quot;GroupName_str&quot;: &quot;groupname&quot;,
&quot;Realname_utf&quot;: &quot;realname&quot;, &quot;Realname_utf&quot;: &quot;realname&quot;,
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;Auth_Password_str&quot;: &quot;auth_password&quot;, &quot;Auth_Password_str&quot;: &quot;auth_password&quot;,
&quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
@@ -6948,9 +6949,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;GroupName_str&quot;: &quot;groupname&quot;, &quot;GroupName_str&quot;: &quot;groupname&quot;,
&quot;Realname_utf&quot;: &quot;realname&quot;, &quot;Realname_utf&quot;: &quot;realname&quot;,
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;Auth_Password_str&quot;: &quot;auth_password&quot;, &quot;Auth_Password_str&quot;: &quot;auth_password&quot;,
&quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
@@ -7419,11 +7420,11 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;DenyAccess_bool&quot;: false, &quot;DenyAccess_bool&quot;: false,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;IsExpiresFilled_bool&quot;: false, &quot;IsExpiresFilled_bool&quot;: false,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
&quot;Ex.Recv.BroadcastCount_u64&quot;: 0, &quot;Ex.Recv.BroadcastCount_u64&quot;: 0,
&quot;Ex.Recv.UnicastBytes_u64&quot;: 0, &quot;Ex.Recv.UnicastBytes_u64&quot;: 0,
@@ -7440,11 +7441,11 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;DenyAccess_bool&quot;: false, &quot;DenyAccess_bool&quot;: false,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;IsExpiresFilled_bool&quot;: false, &quot;IsExpiresFilled_bool&quot;: false,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
&quot;Ex.Recv.BroadcastCount_u64&quot;: 0, &quot;Ex.Recv.BroadcastCount_u64&quot;: 0,
&quot;Ex.Recv.UnicastBytes_u64&quot;: 0, &quot;Ex.Recv.UnicastBytes_u64&quot;: 0,
@@ -7461,11 +7462,11 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;DenyAccess_bool&quot;: false, &quot;DenyAccess_bool&quot;: false,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;IsExpiresFilled_bool&quot;: false, &quot;IsExpiresFilled_bool&quot;: false,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
&quot;Ex.Recv.BroadcastCount_u64&quot;: 0, &quot;Ex.Recv.BroadcastCount_u64&quot;: 0,
&quot;Ex.Recv.UnicastBytes_u64&quot;: 0, &quot;Ex.Recv.UnicastBytes_u64&quot;: 0,
@@ -8907,8 +8908,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Client_MonitorMode_bool&quot;: false, &quot;Client_MonitorMode_bool&quot;: false,
&quot;VLanId_u32&quot;: 0, &quot;VLanId_u32&quot;: 0,
&quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;Name_str&quot;: &quot;name&quot;, &quot;Name_str&quot;: &quot;name&quot;,
@@ -8929,8 +8930,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Client_MonitorMode_bool&quot;: false, &quot;Client_MonitorMode_bool&quot;: false,
&quot;VLanId_u32&quot;: 0, &quot;VLanId_u32&quot;: 0,
&quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;Name_str&quot;: &quot;name&quot;, &quot;Name_str&quot;: &quot;name&quot;,
@@ -8951,8 +8952,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Client_MonitorMode_bool&quot;: false, &quot;Client_MonitorMode_bool&quot;: false,
&quot;VLanId_u32&quot;: 0, &quot;VLanId_u32&quot;: 0,
&quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
} }
] ]
} }
@@ -9117,9 +9118,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;ServerProductName_str&quot;: &quot;serverproductname&quot;, &quot;ServerProductName_str&quot;: &quot;serverproductname&quot;,
&quot;ServerProductVer_u32&quot;: 0, &quot;ServerProductVer_u32&quot;: 0,
&quot;ServerProductBuild_u32&quot;: 0, &quot;ServerProductBuild_u32&quot;: 0,
&quot;StartTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumConnectionsEatablished_u32&quot;: 0, &quot;NumConnectionsEatablished_u32&quot;: 0,
&quot;HalfConnection_bool&quot;: false, &quot;HalfConnection_bool&quot;: false,
&quot;QoS_bool&quot;: false, &quot;QoS_bool&quot;: false,
@@ -9496,8 +9497,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;, &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;,
&quot;VlanId_u32&quot;: 0 &quot;VlanId_u32&quot;: 0
@@ -9506,8 +9507,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;, &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;,
&quot;VlanId_u32&quot;: 0 &quot;VlanId_u32&quot;: 0
@@ -9516,8 +9517,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;, &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;,
&quot;VlanId_u32&quot;: 0 &quot;VlanId_u32&quot;: 0
@@ -9663,8 +9664,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DhcpAllocated_bool&quot;: false, &quot;DhcpAllocated_bool&quot;: false,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot; &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;
}, },
@@ -9673,8 +9674,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DhcpAllocated_bool&quot;: false, &quot;DhcpAllocated_bool&quot;: false,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot; &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;
}, },
@@ -9683,8 +9684,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DhcpAllocated_bool&quot;: false, &quot;DhcpAllocated_bool&quot;: false,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot; &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;
} }
@@ -10376,8 +10377,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;, &quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DestHost_str&quot;: &quot;desthost&quot;, &quot;DestHost_str&quot;: &quot;desthost&quot;,
&quot;DestPort_u32&quot;: 0, &quot;DestPort_u32&quot;: 0,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;SendSize_u64&quot;: 0, &quot;SendSize_u64&quot;: 0,
&quot;RecvSize_u64&quot;: 0, &quot;RecvSize_u64&quot;: 0,
&quot;TcpStatus_u32&quot;: 0 &quot;TcpStatus_u32&quot;: 0
@@ -10391,8 +10392,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;, &quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DestHost_str&quot;: &quot;desthost&quot;, &quot;DestHost_str&quot;: &quot;desthost&quot;,
&quot;DestPort_u32&quot;: 0, &quot;DestPort_u32&quot;: 0,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;SendSize_u64&quot;: 0, &quot;SendSize_u64&quot;: 0,
&quot;RecvSize_u64&quot;: 0, &quot;RecvSize_u64&quot;: 0,
&quot;TcpStatus_u32&quot;: 0 &quot;TcpStatus_u32&quot;: 0
@@ -10406,8 +10407,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;, &quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DestHost_str&quot;: &quot;desthost&quot;, &quot;DestHost_str&quot;: &quot;desthost&quot;,
&quot;DestPort_u32&quot;: 0, &quot;DestPort_u32&quot;: 0,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;SendSize_u64&quot;: 0, &quot;SendSize_u64&quot;: 0,
&quot;RecvSize_u64&quot;: 0, &quot;RecvSize_u64&quot;: 0,
&quot;TcpStatus_u32&quot;: 0 &quot;TcpStatus_u32&quot;: 0
@@ -10527,8 +10528,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;DhcpTable&quot;: [ &quot;DhcpTable&quot;: [
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Mask_u32&quot;: 0, &quot;Mask_u32&quot;: 0,
@@ -10536,8 +10537,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
}, },
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Mask_u32&quot;: 0, &quot;Mask_u32&quot;: 0,
@@ -10545,8 +10546,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
}, },
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Mask_u32&quot;: 0, &quot;Mask_u32&quot;: 0,
@@ -13090,19 +13091,19 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;ServerName_str&quot;: &quot;servername&quot;, &quot;ServerName_str&quot;: &quot;servername&quot;,
&quot;FilePath_str&quot;: &quot;filepath&quot;, &quot;FilePath_str&quot;: &quot;filepath&quot;,
&quot;FileSize_u32&quot;: 0, &quot;FileSize_u32&quot;: 0,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;ServerName_str&quot;: &quot;servername&quot;, &quot;ServerName_str&quot;: &quot;servername&quot;,
&quot;FilePath_str&quot;: &quot;filepath&quot;, &quot;FilePath_str&quot;: &quot;filepath&quot;,
&quot;FileSize_u32&quot;: 0, &quot;FileSize_u32&quot;: 0,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;ServerName_str&quot;: &quot;servername&quot;, &quot;ServerName_str&quot;: &quot;servername&quot;,
&quot;FilePath_str&quot;: &quot;filepath&quot;, &quot;FilePath_str&quot;: &quot;filepath&quot;,
&quot;FileSize_u32&quot;: 0, &quot;FileSize_u32&quot;: 0,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
} }
] ]
} }
@@ -14508,15 +14509,15 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
</tbody> </tbody>
</table> </table>
<hr /> <hr />
<p><a id="getddnsinternetsetting"></a></p> <p><a id="getddnsinternetsettng"></a></p>
<h2 id="getddnsinternetsetting-rpc-api-get-the-proxy-settings-for-connecting-to-the-ddns-server">&quot;GetDDnsInternetSetting&quot; RPC API - Get the Proxy Settings for Connecting to the DDNS server</h2> <h2 id="getddnsinternetsettng-rpc-api-get-the-proxy-settings-for-connecting-to-the-ddns-server">&quot;GetDDnsInternetSettng&quot; RPC API - Get the Proxy Settings for Connecting to the DDNS server</h2>
<h3 id="description-131">Description</h3> <h3 id="description-131">Description</h3>
<p>Get the Proxy Settings for Connecting to the DDNS server.</p> <p>Get the Proxy Settings for Connecting to the DDNS server.</p>
<h3 id="input-json-rpc-format-131">Input JSON-RPC Format</h3> <h3 id="input-json-rpc-format-131">Input JSON-RPC Format</h3>
<pre><code class="language-json">{ <pre><code class="language-json">{
&quot;jsonrpc&quot;: &quot;2.0&quot;, &quot;jsonrpc&quot;: &quot;2.0&quot;,
&quot;id&quot;: &quot;rpc_call_id&quot;, &quot;id&quot;: &quot;rpc_call_id&quot;,
&quot;method&quot;: &quot;GetDDnsInternetSetting&quot;, &quot;method&quot;: &quot;GetDDnsInternetSettng&quot;,
&quot;params&quot;: {} &quot;params&quot;: {}
} }
</code></pre> </code></pre>
@@ -14571,15 +14572,15 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
</tbody> </tbody>
</table> </table>
<hr /> <hr />
<p><a id="setddnsinternetsetting"></a></p> <p><a id="setddnsinternetsettng"></a></p>
<h2 id="setddnsinternetsetting-rpc-api-set-the-proxy-settings-for-connecting-to-the-ddns-server">&quot;SetDDnsInternetSetting&quot; RPC API - Set the Proxy Settings for Connecting to the DDNS server</h2> <h2 id="setddnsinternetsettng-rpc-api-set-the-proxy-settings-for-connecting-to-the-ddns-server">&quot;SetDDnsInternetSettng&quot; RPC API - Set the Proxy Settings for Connecting to the DDNS server</h2>
<h3 id="description-132">Description</h3> <h3 id="description-132">Description</h3>
<p>Set the Proxy Settings for Connecting to the DDNS server.</p> <p>Set the Proxy Settings for Connecting to the DDNS server.</p>
<h3 id="input-json-rpc-format-132">Input JSON-RPC Format</h3> <h3 id="input-json-rpc-format-132">Input JSON-RPC Format</h3>
<pre><code class="language-json">{ <pre><code class="language-json">{
&quot;jsonrpc&quot;: &quot;2.0&quot;, &quot;jsonrpc&quot;: &quot;2.0&quot;,
&quot;id&quot;: &quot;rpc_call_id&quot;, &quot;id&quot;: &quot;rpc_call_id&quot;,
&quot;method&quot;: &quot;SetDDnsInternetSetting&quot;, &quot;method&quot;: &quot;SetDDnsInternetSettng&quot;,
&quot;params&quot;: { &quot;params&quot;: {
&quot;ProxyType_u32&quot;: 0, &quot;ProxyType_u32&quot;: 0,
&quot;ProxyHostName_str&quot;: &quot;proxyhostname&quot;, &quot;ProxyHostName_str&quot;: &quot;proxyhostname&quot;,
@@ -14640,8 +14641,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
</tbody> </tbody>
</table> </table>
<hr /> <hr />
<p>Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen.<br /> <p>Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen.<br />
Copyright (c) 2014-2023 <a href="https://www.softether.org/">SoftEther VPN Project</a> under the Apache License 2.0.</p> Copyright (c) 2014-2019 <a href="https://www.softether.org/">SoftEther VPN Project</a> under the Apache License 2.0.</p>
</article> </article>
</body> </body>
@@ -25,6 +25,7 @@ https://<vpn_server_hostname>:<port>/api/
- Older versions of SoftEther VPN before June 2019 don't support JSON-RPC APIs. - Older versions of SoftEther VPN before June 2019 don't support JSON-RPC APIs.
- If you want to completely disable the JSON-RPC on your VPN Server, set the `DisableJsonRpcWebApi` variable to `true` on the `vpn_server.config`. - If you want to completely disable the JSON-RPC on your VPN Server, set the `DisableJsonRpcWebApi` variable to `true` on the `vpn_server.config`.
- You may also restrict access to JSON-RPC API to a specific subnet, e.g. your internal network, by setting the `JsonRpcWebApiAllowedSubnet` variable to, for example, `192.168.0.0/16`.
### JSON-RPC specification ### JSON-RPC specification
@@ -208,8 +209,8 @@ Value | Description
- [GetSpecialListener - Get Current Setting of the VPN over ICMP / VPN over DNS Function](#getspeciallistener) - [GetSpecialListener - Get Current Setting of the VPN over ICMP / VPN over DNS Function](#getspeciallistener)
- [GetAzureStatus - Show the current status of VPN Azure function](#getazurestatus) - [GetAzureStatus - Show the current status of VPN Azure function](#getazurestatus)
- [SetAzureStatus - Enable / Disable VPN Azure Function](#setazurestatus) - [SetAzureStatus - Enable / Disable VPN Azure Function](#setazurestatus)
- [GetDDnsInternetSetting - Get the Proxy Settings for Connecting to the DDNS server](#getddnsinternetsetting) - [GetDDnsInternetSettng - Get the Proxy Settings for Connecting to the DDNS server](#getddnsinternetsettng)
- [SetDDnsInternetSetting - Set the Proxy Settings for Connecting to the DDNS server](#setddnsinternetsetting) - [SetDDnsInternetSettng - Set the Proxy Settings for Connecting to the DDNS server](#setddnsinternetsettng)
- [SetVgsConfig - Set the VPN Gate Server Configuration](#setvgsconfig) - [SetVgsConfig - Set the VPN Gate Server Configuration](#setvgsconfig)
- [GetVgsConfig - Get the VPN Gate Server Configuration](#getvgsconfig) - [GetVgsConfig - Get the VPN Gate Server Configuration](#getvgsconfig)
@@ -283,7 +284,7 @@ Get server information. This allows you to obtain the server information of the
"ServerBuildInt_u32": 0, "ServerBuildInt_u32": 0,
"ServerHostName_str": "serverhostname", "ServerHostName_str": "serverhostname",
"ServerType_u32": 0, "ServerType_u32": 0,
"ServerBuildDate_dt": "2024-08-01T12:24:36.123", "ServerBuildDate_dt": "2020-08-01T12:24:36.123",
"ServerFamilyName_str": "serverfamilyname", "ServerFamilyName_str": "serverfamilyname",
"OsType_u32": 0, "OsType_u32": 0,
"OsServicePack_u32": 0, "OsServicePack_u32": 0,
@@ -368,9 +369,9 @@ Get Current Server Status. This allows you to obtain in real-time the current st
"Send.BroadcastCount_u64": 0, "Send.BroadcastCount_u64": 0,
"Send.UnicastBytes_u64": 0, "Send.UnicastBytes_u64": 0,
"Send.UnicastCount_u64": 0, "Send.UnicastCount_u64": 0,
"CurrentTime_dt": "2024-08-01T12:24:36.123", "CurrentTime_dt": "2020-08-01T12:24:36.123",
"CurrentTick_u64": 0, "CurrentTick_u64": 0,
"StartTime_dt": "2024-08-01T12:24:36.123", "StartTime_dt": "2020-08-01T12:24:36.123",
"TotalMemory_u64": 0, "TotalMemory_u64": 0,
"UsedMemory_u64": 0, "UsedMemory_u64": 0,
"FreeMemory_u64": 0, "FreeMemory_u64": 0,
@@ -768,7 +769,7 @@ Get Cluster Member Information. When the VPN Server is operating as a cluster co
"result": { "result": {
"Id_u32": 0, "Id_u32": 0,
"Controller_bool": false, "Controller_bool": false,
"ConnectedTime_dt": "2024-08-01T12:24:36.123", "ConnectedTime_dt": "2020-08-01T12:24:36.123",
"Ip_ip": "192.168.0.1", "Ip_ip": "192.168.0.1",
"Hostname_str": "hostname", "Hostname_str": "hostname",
"Point_u32": 0, "Point_u32": 0,
@@ -849,7 +850,7 @@ Get List of Cluster Members. Use this API when the VPN Server is operating as a
{ {
"Id_u32": 0, "Id_u32": 0,
"Controller_bool": false, "Controller_bool": false,
"ConnectedTime_dt": "2024-08-01T12:24:36.123", "ConnectedTime_dt": "2020-08-01T12:24:36.123",
"Ip_ip": "192.168.0.1", "Ip_ip": "192.168.0.1",
"Hostname_str": "hostname", "Hostname_str": "hostname",
"Point_u32": 0, "Point_u32": 0,
@@ -862,7 +863,7 @@ Get List of Cluster Members. Use this API when the VPN Server is operating as a
{ {
"Id_u32": 0, "Id_u32": 0,
"Controller_bool": false, "Controller_bool": false,
"ConnectedTime_dt": "2024-08-01T12:24:36.123", "ConnectedTime_dt": "2020-08-01T12:24:36.123",
"Ip_ip": "192.168.0.1", "Ip_ip": "192.168.0.1",
"Hostname_str": "hostname", "Hostname_str": "hostname",
"Point_u32": 0, "Point_u32": 0,
@@ -875,7 +876,7 @@ Get List of Cluster Members. Use this API when the VPN Server is operating as a
{ {
"Id_u32": 0, "Id_u32": 0,
"Controller_bool": false, "Controller_bool": false,
"ConnectedTime_dt": "2024-08-01T12:24:36.123", "ConnectedTime_dt": "2020-08-01T12:24:36.123",
"Ip_ip": "192.168.0.1", "Ip_ip": "192.168.0.1",
"Hostname_str": "hostname", "Hostname_str": "hostname",
"Point_u32": 0, "Point_u32": 0,
@@ -934,9 +935,9 @@ Get Connection Status to Cluster Controller. Use this API when the VPN Server is
"Port_u32": 0, "Port_u32": 0,
"Online_bool": false, "Online_bool": false,
"LastError_u32": 0, "LastError_u32": 0,
"StartedTime_dt": "2024-08-01T12:24:36.123", "StartedTime_dt": "2020-08-01T12:24:36.123",
"FirstConnectedTime_dt": "2024-08-01T12:24:36.123", "FirstConnectedTime_dt": "2020-08-01T12:24:36.123",
"CurrentConnectedTime_dt": "2024-08-01T12:24:36.123", "CurrentConnectedTime_dt": "2020-08-01T12:24:36.123",
"NumTry_u32": 0, "NumTry_u32": 0,
"NumConnected_u32": 0, "NumConnected_u32": 0,
"NumFailed_u32": 0 "NumFailed_u32": 0
@@ -1278,9 +1279,9 @@ Get List of Virtual Hubs. Use this to get a list of existing Virtual Hubs on the
"NumSessions_u32": 0, "NumSessions_u32": 0,
"NumMacTables_u32": 0, "NumMacTables_u32": 0,
"NumIpTables_u32": 0, "NumIpTables_u32": 0,
"LastCommTime_dt": "2024-08-01T12:24:36.123", "LastCommTime_dt": "2020-08-01T12:24:36.123",
"LastLoginTime_dt": "2024-08-01T12:24:36.123", "LastLoginTime_dt": "2020-08-01T12:24:36.123",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"NumLogin_u32": 0, "NumLogin_u32": 0,
"IsTrafficFilled_bool": false, "IsTrafficFilled_bool": false,
"Ex.Recv.BroadcastBytes_u64": 0, "Ex.Recv.BroadcastBytes_u64": 0,
@@ -1301,9 +1302,9 @@ Get List of Virtual Hubs. Use this to get a list of existing Virtual Hubs on the
"NumSessions_u32": 0, "NumSessions_u32": 0,
"NumMacTables_u32": 0, "NumMacTables_u32": 0,
"NumIpTables_u32": 0, "NumIpTables_u32": 0,
"LastCommTime_dt": "2024-08-01T12:24:36.123", "LastCommTime_dt": "2020-08-01T12:24:36.123",
"LastLoginTime_dt": "2024-08-01T12:24:36.123", "LastLoginTime_dt": "2020-08-01T12:24:36.123",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"NumLogin_u32": 0, "NumLogin_u32": 0,
"IsTrafficFilled_bool": false, "IsTrafficFilled_bool": false,
"Ex.Recv.BroadcastBytes_u64": 0, "Ex.Recv.BroadcastBytes_u64": 0,
@@ -1324,9 +1325,9 @@ Get List of Virtual Hubs. Use this to get a list of existing Virtual Hubs on the
"NumSessions_u32": 0, "NumSessions_u32": 0,
"NumMacTables_u32": 0, "NumMacTables_u32": 0,
"NumIpTables_u32": 0, "NumIpTables_u32": 0,
"LastCommTime_dt": "2024-08-01T12:24:36.123", "LastCommTime_dt": "2020-08-01T12:24:36.123",
"LastLoginTime_dt": "2024-08-01T12:24:36.123", "LastLoginTime_dt": "2020-08-01T12:24:36.123",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"NumLogin_u32": 0, "NumLogin_u32": 0,
"IsTrafficFilled_bool": false, "IsTrafficFilled_bool": false,
"Ex.Recv.BroadcastBytes_u64": 0, "Ex.Recv.BroadcastBytes_u64": 0,
@@ -1525,7 +1526,7 @@ Get List of TCP Connections Connecting to the VPN Server. Use this to get a list
"Hostname_str": "hostname", "Hostname_str": "hostname",
"Ip_ip": "192.168.0.1", "Ip_ip": "192.168.0.1",
"Port_u32": 0, "Port_u32": 0,
"ConnectedTime_dt": "2024-08-01T12:24:36.123", "ConnectedTime_dt": "2020-08-01T12:24:36.123",
"Type_u32": 0 "Type_u32": 0
}, },
{ {
@@ -1533,7 +1534,7 @@ Get List of TCP Connections Connecting to the VPN Server. Use this to get a list
"Hostname_str": "hostname", "Hostname_str": "hostname",
"Ip_ip": "192.168.0.1", "Ip_ip": "192.168.0.1",
"Port_u32": 0, "Port_u32": 0,
"ConnectedTime_dt": "2024-08-01T12:24:36.123", "ConnectedTime_dt": "2020-08-01T12:24:36.123",
"Type_u32": 0 "Type_u32": 0
}, },
{ {
@@ -1541,7 +1542,7 @@ Get List of TCP Connections Connecting to the VPN Server. Use this to get a list
"Hostname_str": "hostname", "Hostname_str": "hostname",
"Ip_ip": "192.168.0.1", "Ip_ip": "192.168.0.1",
"Port_u32": 0, "Port_u32": 0,
"ConnectedTime_dt": "2024-08-01T12:24:36.123", "ConnectedTime_dt": "2020-08-01T12:24:36.123",
"Type_u32": 0 "Type_u32": 0
} }
] ]
@@ -1626,7 +1627,7 @@ Get Information of TCP Connections Connecting to the VPN Server. Use this to get
"Hostname_str": "hostname", "Hostname_str": "hostname",
"Ip_ip": "192.168.0.1", "Ip_ip": "192.168.0.1",
"Port_u32": 0, "Port_u32": 0,
"ConnectedTime_dt": "2024-08-01T12:24:36.123", "ConnectedTime_dt": "2020-08-01T12:24:36.123",
"ServerStr_str": "serverstr", "ServerStr_str": "serverstr",
"ServerVer_u32": 0, "ServerVer_u32": 0,
"ServerBuild_u32": 0, "ServerBuild_u32": 0,
@@ -1736,9 +1737,9 @@ Get Current Status of Virtual Hub. Use this to get the current status of the Vir
"Send.UnicastBytes_u64": 0, "Send.UnicastBytes_u64": 0,
"Send.UnicastCount_u64": 0, "Send.UnicastCount_u64": 0,
"SecureNATEnabled_bool": false, "SecureNATEnabled_bool": false,
"LastCommTime_dt": "2024-08-01T12:24:36.123", "LastCommTime_dt": "2020-08-01T12:24:36.123",
"LastLoginTime_dt": "2024-08-01T12:24:36.123", "LastLoginTime_dt": "2020-08-01T12:24:36.123",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"NumLogin_u32": 0 "NumLogin_u32": 0
} }
} }
@@ -1948,19 +1949,19 @@ Get List of Trusted CA Certificates. Here you can manage the certificate authori
"Key_u32": 0, "Key_u32": 0,
"SubjectName_utf": "subjectname", "SubjectName_utf": "subjectname",
"IssuerName_utf": "issuername", "IssuerName_utf": "issuername",
"Expires_dt": "2024-08-01T12:24:36.123" "Expires_dt": "2020-08-01T12:24:36.123"
}, },
{ {
"Key_u32": 0, "Key_u32": 0,
"SubjectName_utf": "subjectname", "SubjectName_utf": "subjectname",
"IssuerName_utf": "issuername", "IssuerName_utf": "issuername",
"Expires_dt": "2024-08-01T12:24:36.123" "Expires_dt": "2020-08-01T12:24:36.123"
}, },
{ {
"Key_u32": 0, "Key_u32": 0,
"SubjectName_utf": "subjectname", "SubjectName_utf": "subjectname",
"IssuerName_utf": "issuername", "IssuerName_utf": "issuername",
"Expires_dt": "2024-08-01T12:24:36.123" "Expires_dt": "2020-08-01T12:24:36.123"
} }
] ]
} }
@@ -2210,7 +2211,7 @@ Name | Type | Description
`NoUdpAcceleration_bool` | `boolean` | Client Option Parameters: Do not use UDP acceleration mode if the value is true `NoUdpAcceleration_bool` | `boolean` | Client Option Parameters: Do not use UDP acceleration mode if the value is true
`AuthType_u32` | `number` (enum) | Authentication type<BR>Values:<BR>`0`: Anonymous authentication<BR>`1`: SHA-0 hashed password authentication<BR>`2`: Plain password authentication<BR>`3`: Certificate authentication `AuthType_u32` | `number` (enum) | Authentication type<BR>Values:<BR>`0`: Anonymous authentication<BR>`1`: SHA-0 hashed password authentication<BR>`2`: Plain password authentication<BR>`3`: Certificate authentication
`Username_str` | `string` (ASCII) | User name `Username_str` | `string` (ASCII) | User name
`HashedPassword_bin` | `string` (Base64 binary) | SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(UpperCase(username_ascii_string) + password_ascii_string). `HashedPassword_bin` | `string` (Base64 binary) | SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(password_ascii_string + UpperCase(username_ascii_string)).
`PlainPassword_str` | `string` (ASCII) | Plaintext Password. Valid only if ClientAuth_AuthType_u32 == PlainPassword (2). `PlainPassword_str` | `string` (ASCII) | Plaintext Password. Valid only if ClientAuth_AuthType_u32 == PlainPassword (2).
`ClientX_bin` | `string` (Base64 binary) | Client certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3). `ClientX_bin` | `string` (Base64 binary) | Client certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
`ClientK_bin` | `string` (Base64 binary) | Client private key of the certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3). `ClientK_bin` | `string` (Base64 binary) | Client private key of the certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
@@ -2537,7 +2538,7 @@ Name | Type | Description
`NoUdpAcceleration_bool` | `boolean` | Client Option Parameters: Do not use UDP acceleration mode if the value is true `NoUdpAcceleration_bool` | `boolean` | Client Option Parameters: Do not use UDP acceleration mode if the value is true
`AuthType_u32` | `number` (enum) | Authentication type<BR>Values:<BR>`0`: Anonymous authentication<BR>`1`: SHA-0 hashed password authentication<BR>`2`: Plain password authentication<BR>`3`: Certificate authentication `AuthType_u32` | `number` (enum) | Authentication type<BR>Values:<BR>`0`: Anonymous authentication<BR>`1`: SHA-0 hashed password authentication<BR>`2`: Plain password authentication<BR>`3`: Certificate authentication
`Username_str` | `string` (ASCII) | User name `Username_str` | `string` (ASCII) | User name
`HashedPassword_bin` | `string` (Base64 binary) | SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(UpperCase(username_ascii_string) + password_ascii_string). `HashedPassword_bin` | `string` (Base64 binary) | SHA-0 Hashed password. Valid only if ClientAuth_AuthType_u32 == SHA0_Hashed_Password (1). The SHA-0 hashed password must be caluclated by the SHA0(password_ascii_string + UpperCase(username_ascii_string)).
`PlainPassword_str` | `string` (ASCII) | Plaintext Password. Valid only if ClientAuth_AuthType_u32 == PlainPassword (2). `PlainPassword_str` | `string` (ASCII) | Plaintext Password. Valid only if ClientAuth_AuthType_u32 == PlainPassword (2).
`ClientX_bin` | `string` (Base64 binary) | Client certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3). `ClientX_bin` | `string` (Base64 binary) | Client certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
`ClientK_bin` | `string` (Base64 binary) | Client private key of the certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3). `ClientK_bin` | `string` (Base64 binary) | Client private key of the certificate. Valid only if ClientAuth_AuthType_u32 == Cert (3).
@@ -2600,7 +2601,7 @@ Get List of Cascade Connections. Use this to get a list of Cascade Connections t
"Online_bool": false, "Online_bool": false,
"Connected_bool": false, "Connected_bool": false,
"LastError_u32": 0, "LastError_u32": 0,
"ConnectedTime_dt": "2024-08-01T12:24:36.123", "ConnectedTime_dt": "2020-08-01T12:24:36.123",
"Hostname_str": "hostname", "Hostname_str": "hostname",
"TargetHubName_str": "targethubname" "TargetHubName_str": "targethubname"
}, },
@@ -2609,7 +2610,7 @@ Get List of Cascade Connections. Use this to get a list of Cascade Connections t
"Online_bool": false, "Online_bool": false,
"Connected_bool": false, "Connected_bool": false,
"LastError_u32": 0, "LastError_u32": 0,
"ConnectedTime_dt": "2024-08-01T12:24:36.123", "ConnectedTime_dt": "2020-08-01T12:24:36.123",
"Hostname_str": "hostname", "Hostname_str": "hostname",
"TargetHubName_str": "targethubname" "TargetHubName_str": "targethubname"
}, },
@@ -2618,7 +2619,7 @@ Get List of Cascade Connections. Use this to get a list of Cascade Connections t
"Online_bool": false, "Online_bool": false,
"Connected_bool": false, "Connected_bool": false,
"LastError_u32": 0, "LastError_u32": 0,
"ConnectedTime_dt": "2024-08-01T12:24:36.123", "ConnectedTime_dt": "2020-08-01T12:24:36.123",
"Hostname_str": "hostname", "Hostname_str": "hostname",
"TargetHubName_str": "targethubname" "TargetHubName_str": "targethubname"
} }
@@ -2834,9 +2835,9 @@ Get Current Cascade Connection Status. When a Cascade Connection registered on t
"ServerProductBuild_u32": 0, "ServerProductBuild_u32": 0,
"ServerX_bin": "SGVsbG8gV29ybGQ=", "ServerX_bin": "SGVsbG8gV29ybGQ=",
"ClientX_bin": "SGVsbG8gV29ybGQ=", "ClientX_bin": "SGVsbG8gV29ybGQ=",
"StartTime_dt": "2024-08-01T12:24:36.123", "StartTime_dt": "2020-08-01T12:24:36.123",
"FirstConnectionEstablisiedTime_dt": "2024-08-01T12:24:36.123", "FirstConnectionEstablisiedTime_dt": "2020-08-01T12:24:36.123",
"CurrentConnectionEstablishTime_dt": "2024-08-01T12:24:36.123", "CurrentConnectionEstablishTime_dt": "2020-08-01T12:24:36.123",
"NumConnectionsEatablished_u32": 0, "NumConnectionsEatablished_u32": 0,
"HalfConnection_bool": false, "HalfConnection_bool": false,
"QoS_bool": false, "QoS_bool": false,
@@ -3566,7 +3567,7 @@ Create a user. Use this to create a new user in the security account database of
"Name_str": "name", "Name_str": "name",
"Realname_utf": "realname", "Realname_utf": "realname",
"Note_utf": "note", "Note_utf": "note",
"ExpireTime_dt": "2024-08-01T12:24:36.123", "ExpireTime_dt": "2020-08-01T12:24:36.123",
"AuthType_u32": 0, "AuthType_u32": 0,
"Auth_Password_str": "auth_password", "Auth_Password_str": "auth_password",
"UserX_bin": "SGVsbG8gV29ybGQ=", "UserX_bin": "SGVsbG8gV29ybGQ=",
@@ -3629,9 +3630,9 @@ Create a user. Use this to create a new user in the security account database of
"GroupName_str": "groupname", "GroupName_str": "groupname",
"Realname_utf": "realname", "Realname_utf": "realname",
"Note_utf": "note", "Note_utf": "note",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"UpdatedTime_dt": "2024-08-01T12:24:36.123", "UpdatedTime_dt": "2020-08-01T12:24:36.123",
"ExpireTime_dt": "2024-08-01T12:24:36.123", "ExpireTime_dt": "2020-08-01T12:24:36.123",
"AuthType_u32": 0, "AuthType_u32": 0,
"Auth_Password_str": "auth_password", "Auth_Password_str": "auth_password",
"UserX_bin": "SGVsbG8gV29ybGQ=", "UserX_bin": "SGVsbG8gV29ybGQ=",
@@ -3779,7 +3780,7 @@ Change User Settings. Use this to change user settings that is registered on the
"GroupName_str": "groupname", "GroupName_str": "groupname",
"Realname_utf": "realname", "Realname_utf": "realname",
"Note_utf": "note", "Note_utf": "note",
"ExpireTime_dt": "2024-08-01T12:24:36.123", "ExpireTime_dt": "2020-08-01T12:24:36.123",
"AuthType_u32": 0, "AuthType_u32": 0,
"Auth_Password_str": "auth_password", "Auth_Password_str": "auth_password",
"UserX_bin": "SGVsbG8gV29ybGQ=", "UserX_bin": "SGVsbG8gV29ybGQ=",
@@ -3842,9 +3843,9 @@ Change User Settings. Use this to change user settings that is registered on the
"GroupName_str": "groupname", "GroupName_str": "groupname",
"Realname_utf": "realname", "Realname_utf": "realname",
"Note_utf": "note", "Note_utf": "note",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"UpdatedTime_dt": "2024-08-01T12:24:36.123", "UpdatedTime_dt": "2020-08-01T12:24:36.123",
"ExpireTime_dt": "2024-08-01T12:24:36.123", "ExpireTime_dt": "2020-08-01T12:24:36.123",
"AuthType_u32": 0, "AuthType_u32": 0,
"Auth_Password_str": "auth_password", "Auth_Password_str": "auth_password",
"UserX_bin": "SGVsbG8gV29ybGQ=", "UserX_bin": "SGVsbG8gV29ybGQ=",
@@ -4004,9 +4005,9 @@ Get User Settings. Use this to get user settings information that is registered
"GroupName_str": "groupname", "GroupName_str": "groupname",
"Realname_utf": "realname", "Realname_utf": "realname",
"Note_utf": "note", "Note_utf": "note",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"UpdatedTime_dt": "2024-08-01T12:24:36.123", "UpdatedTime_dt": "2020-08-01T12:24:36.123",
"ExpireTime_dt": "2024-08-01T12:24:36.123", "ExpireTime_dt": "2020-08-01T12:24:36.123",
"AuthType_u32": 0, "AuthType_u32": 0,
"Auth_Password_str": "auth_password", "Auth_Password_str": "auth_password",
"UserX_bin": "SGVsbG8gV29ybGQ=", "UserX_bin": "SGVsbG8gV29ybGQ=",
@@ -4207,11 +4208,11 @@ Get List of Users. Use this to get a list of users that are registered on the se
"Note_utf": "note", "Note_utf": "note",
"AuthType_u32": 0, "AuthType_u32": 0,
"NumLogin_u32": 0, "NumLogin_u32": 0,
"LastLoginTime_dt": "2024-08-01T12:24:36.123", "LastLoginTime_dt": "2020-08-01T12:24:36.123",
"DenyAccess_bool": false, "DenyAccess_bool": false,
"IsTrafficFilled_bool": false, "IsTrafficFilled_bool": false,
"IsExpiresFilled_bool": false, "IsExpiresFilled_bool": false,
"Expires_dt": "2024-08-01T12:24:36.123", "Expires_dt": "2020-08-01T12:24:36.123",
"Ex.Recv.BroadcastBytes_u64": 0, "Ex.Recv.BroadcastBytes_u64": 0,
"Ex.Recv.BroadcastCount_u64": 0, "Ex.Recv.BroadcastCount_u64": 0,
"Ex.Recv.UnicastBytes_u64": 0, "Ex.Recv.UnicastBytes_u64": 0,
@@ -4228,11 +4229,11 @@ Get List of Users. Use this to get a list of users that are registered on the se
"Note_utf": "note", "Note_utf": "note",
"AuthType_u32": 0, "AuthType_u32": 0,
"NumLogin_u32": 0, "NumLogin_u32": 0,
"LastLoginTime_dt": "2024-08-01T12:24:36.123", "LastLoginTime_dt": "2020-08-01T12:24:36.123",
"DenyAccess_bool": false, "DenyAccess_bool": false,
"IsTrafficFilled_bool": false, "IsTrafficFilled_bool": false,
"IsExpiresFilled_bool": false, "IsExpiresFilled_bool": false,
"Expires_dt": "2024-08-01T12:24:36.123", "Expires_dt": "2020-08-01T12:24:36.123",
"Ex.Recv.BroadcastBytes_u64": 0, "Ex.Recv.BroadcastBytes_u64": 0,
"Ex.Recv.BroadcastCount_u64": 0, "Ex.Recv.BroadcastCount_u64": 0,
"Ex.Recv.UnicastBytes_u64": 0, "Ex.Recv.UnicastBytes_u64": 0,
@@ -4249,11 +4250,11 @@ Get List of Users. Use this to get a list of users that are registered on the se
"Note_utf": "note", "Note_utf": "note",
"AuthType_u32": 0, "AuthType_u32": 0,
"NumLogin_u32": 0, "NumLogin_u32": 0,
"LastLoginTime_dt": "2024-08-01T12:24:36.123", "LastLoginTime_dt": "2020-08-01T12:24:36.123",
"DenyAccess_bool": false, "DenyAccess_bool": false,
"IsTrafficFilled_bool": false, "IsTrafficFilled_bool": false,
"IsExpiresFilled_bool": false, "IsExpiresFilled_bool": false,
"Expires_dt": "2024-08-01T12:24:36.123", "Expires_dt": "2020-08-01T12:24:36.123",
"Ex.Recv.BroadcastBytes_u64": 0, "Ex.Recv.BroadcastBytes_u64": 0,
"Ex.Recv.BroadcastCount_u64": 0, "Ex.Recv.BroadcastCount_u64": 0,
"Ex.Recv.UnicastBytes_u64": 0, "Ex.Recv.UnicastBytes_u64": 0,
@@ -4605,14 +4606,14 @@ Name | Type | Description
`Name_str` | `string` (ASCII) | The group name `Name_str` | `string` (ASCII) | The group name
`Realname_utf` | `string` (UTF8) | Optional real name (full name) of the group, allow using any Unicode characters `Realname_utf` | `string` (UTF8) | Optional real name (full name) of the group, allow using any Unicode characters
`Note_utf` | `string` (UTF8) | Optional, specify a description of the group `Note_utf` | `string` (UTF8) | Optional, specify a description of the group
`Recv.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Recv) `Recv.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Recv)
`Recv.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Recv) `Recv.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Recv)
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast count (Recv) `Recv.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Recv)
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Recv) `Recv.UnicastCount_u64` | `number` (uint64) | Unicast count (Recv)
`Send.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Send) `Send.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Send)
`Send.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Send) `Send.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Send)
`Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send) `Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send)
`Send.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Send) `Send.UnicastCount_u64` | `number` (uint64) | Unicast count (Send)
`UsePolicy_bool` | `boolean` | The flag whether to use security policy `UsePolicy_bool` | `boolean` | The flag whether to use security policy
`policy:Access_bool` | `boolean` | Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server. `policy:Access_bool` | `boolean` | Security policy: Allow Access. The users, which this policy value is true, have permission to make VPN connection to VPN Server.
`policy:DHCPFilter_bool` | `boolean` | Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered. `policy:DHCPFilter_bool` | `boolean` | Security policy: Filter DHCP Packets (IPv4). All IPv4 DHCP packets in sessions defined this policy will be filtered.
@@ -4939,8 +4940,8 @@ Get List of Connected VPN Sessions. Use this to get a list of the sessions conne
"Client_MonitorMode_bool": false, "Client_MonitorMode_bool": false,
"VLanId_u32": 0, "VLanId_u32": 0,
"UniqueId_bin": "SGVsbG8gV29ybGQ=", "UniqueId_bin": "SGVsbG8gV29ybGQ=",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"LastCommTime_dt": "2024-08-01T12:24:36.123" "LastCommTime_dt": "2020-08-01T12:24:36.123"
}, },
{ {
"Name_str": "name", "Name_str": "name",
@@ -4961,8 +4962,8 @@ Get List of Connected VPN Sessions. Use this to get a list of the sessions conne
"Client_MonitorMode_bool": false, "Client_MonitorMode_bool": false,
"VLanId_u32": 0, "VLanId_u32": 0,
"UniqueId_bin": "SGVsbG8gV29ybGQ=", "UniqueId_bin": "SGVsbG8gV29ybGQ=",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"LastCommTime_dt": "2024-08-01T12:24:36.123" "LastCommTime_dt": "2020-08-01T12:24:36.123"
}, },
{ {
"Name_str": "name", "Name_str": "name",
@@ -4983,8 +4984,8 @@ Get List of Connected VPN Sessions. Use this to get a list of the sessions conne
"Client_MonitorMode_bool": false, "Client_MonitorMode_bool": false,
"VLanId_u32": 0, "VLanId_u32": 0,
"UniqueId_bin": "SGVsbG8gV29ybGQ=", "UniqueId_bin": "SGVsbG8gV29ybGQ=",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"LastCommTime_dt": "2024-08-01T12:24:36.123" "LastCommTime_dt": "2020-08-01T12:24:36.123"
} }
] ]
} }
@@ -5059,9 +5060,9 @@ Get Session Status. Use this to specify a session currently connected to the cur
"ServerProductName_str": "serverproductname", "ServerProductName_str": "serverproductname",
"ServerProductVer_u32": 0, "ServerProductVer_u32": 0,
"ServerProductBuild_u32": 0, "ServerProductBuild_u32": 0,
"StartTime_dt": "2024-08-01T12:24:36.123", "StartTime_dt": "2020-08-01T12:24:36.123",
"FirstConnectionEstablisiedTime_dt": "2024-08-01T12:24:36.123", "FirstConnectionEstablisiedTime_dt": "2020-08-01T12:24:36.123",
"CurrentConnectionEstablishTime_dt": "2024-08-01T12:24:36.123", "CurrentConnectionEstablishTime_dt": "2020-08-01T12:24:36.123",
"NumConnectionsEatablished_u32": 0, "NumConnectionsEatablished_u32": 0,
"HalfConnection_bool": false, "HalfConnection_bool": false,
"QoS_bool": false, "QoS_bool": false,
@@ -5222,8 +5223,8 @@ Get the MAC Address Table Database. Use this to get the MAC address table databa
"Key_u32": 0, "Key_u32": 0,
"SessionName_str": "sessionname", "SessionName_str": "sessionname",
"MacAddress_bin": "SGVsbG8gV29ybGQ=", "MacAddress_bin": "SGVsbG8gV29ybGQ=",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"UpdatedTime_dt": "2024-08-01T12:24:36.123", "UpdatedTime_dt": "2020-08-01T12:24:36.123",
"RemoteItem_bool": false, "RemoteItem_bool": false,
"RemoteHostname_str": "remotehostname", "RemoteHostname_str": "remotehostname",
"VlanId_u32": 0 "VlanId_u32": 0
@@ -5232,8 +5233,8 @@ Get the MAC Address Table Database. Use this to get the MAC address table databa
"Key_u32": 0, "Key_u32": 0,
"SessionName_str": "sessionname", "SessionName_str": "sessionname",
"MacAddress_bin": "SGVsbG8gV29ybGQ=", "MacAddress_bin": "SGVsbG8gV29ybGQ=",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"UpdatedTime_dt": "2024-08-01T12:24:36.123", "UpdatedTime_dt": "2020-08-01T12:24:36.123",
"RemoteItem_bool": false, "RemoteItem_bool": false,
"RemoteHostname_str": "remotehostname", "RemoteHostname_str": "remotehostname",
"VlanId_u32": 0 "VlanId_u32": 0
@@ -5242,8 +5243,8 @@ Get the MAC Address Table Database. Use this to get the MAC address table databa
"Key_u32": 0, "Key_u32": 0,
"SessionName_str": "sessionname", "SessionName_str": "sessionname",
"MacAddress_bin": "SGVsbG8gV29ybGQ=", "MacAddress_bin": "SGVsbG8gV29ybGQ=",
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"UpdatedTime_dt": "2024-08-01T12:24:36.123", "UpdatedTime_dt": "2020-08-01T12:24:36.123",
"RemoteItem_bool": false, "RemoteItem_bool": false,
"RemoteHostname_str": "remotehostname", "RemoteHostname_str": "remotehostname",
"VlanId_u32": 0 "VlanId_u32": 0
@@ -5337,8 +5338,8 @@ Get the IP Address Table Database. Use this to get the IP address table database
"SessionName_str": "sessionname", "SessionName_str": "sessionname",
"IpAddress_ip": "192.168.0.1", "IpAddress_ip": "192.168.0.1",
"DhcpAllocated_bool": false, "DhcpAllocated_bool": false,
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"UpdatedTime_dt": "2024-08-01T12:24:36.123", "UpdatedTime_dt": "2020-08-01T12:24:36.123",
"RemoteItem_bool": false, "RemoteItem_bool": false,
"RemoteHostname_str": "remotehostname" "RemoteHostname_str": "remotehostname"
}, },
@@ -5347,8 +5348,8 @@ Get the IP Address Table Database. Use this to get the IP address table database
"SessionName_str": "sessionname", "SessionName_str": "sessionname",
"IpAddress_ip": "192.168.0.1", "IpAddress_ip": "192.168.0.1",
"DhcpAllocated_bool": false, "DhcpAllocated_bool": false,
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"UpdatedTime_dt": "2024-08-01T12:24:36.123", "UpdatedTime_dt": "2020-08-01T12:24:36.123",
"RemoteItem_bool": false, "RemoteItem_bool": false,
"RemoteHostname_str": "remotehostname" "RemoteHostname_str": "remotehostname"
}, },
@@ -5357,8 +5358,8 @@ Get the IP Address Table Database. Use this to get the IP address table database
"SessionName_str": "sessionname", "SessionName_str": "sessionname",
"IpAddress_ip": "192.168.0.1", "IpAddress_ip": "192.168.0.1",
"DhcpAllocated_bool": false, "DhcpAllocated_bool": false,
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"UpdatedTime_dt": "2024-08-01T12:24:36.123", "UpdatedTime_dt": "2020-08-01T12:24:36.123",
"RemoteItem_bool": false, "RemoteItem_bool": false,
"RemoteHostname_str": "remotehostname" "RemoteHostname_str": "remotehostname"
} }
@@ -5778,8 +5779,8 @@ Get Virtual NAT Function Session Table of SecureNAT Function. Use this to get th
"DestIp_ip": "192.168.0.1", "DestIp_ip": "192.168.0.1",
"DestHost_str": "desthost", "DestHost_str": "desthost",
"DestPort_u32": 0, "DestPort_u32": 0,
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"LastCommTime_dt": "2024-08-01T12:24:36.123", "LastCommTime_dt": "2020-08-01T12:24:36.123",
"SendSize_u64": 0, "SendSize_u64": 0,
"RecvSize_u64": 0, "RecvSize_u64": 0,
"TcpStatus_u32": 0 "TcpStatus_u32": 0
@@ -5793,8 +5794,8 @@ Get Virtual NAT Function Session Table of SecureNAT Function. Use this to get th
"DestIp_ip": "192.168.0.1", "DestIp_ip": "192.168.0.1",
"DestHost_str": "desthost", "DestHost_str": "desthost",
"DestPort_u32": 0, "DestPort_u32": 0,
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"LastCommTime_dt": "2024-08-01T12:24:36.123", "LastCommTime_dt": "2020-08-01T12:24:36.123",
"SendSize_u64": 0, "SendSize_u64": 0,
"RecvSize_u64": 0, "RecvSize_u64": 0,
"TcpStatus_u32": 0 "TcpStatus_u32": 0
@@ -5808,8 +5809,8 @@ Get Virtual NAT Function Session Table of SecureNAT Function. Use this to get th
"DestIp_ip": "192.168.0.1", "DestIp_ip": "192.168.0.1",
"DestHost_str": "desthost", "DestHost_str": "desthost",
"DestPort_u32": 0, "DestPort_u32": 0,
"CreatedTime_dt": "2024-08-01T12:24:36.123", "CreatedTime_dt": "2020-08-01T12:24:36.123",
"LastCommTime_dt": "2024-08-01T12:24:36.123", "LastCommTime_dt": "2020-08-01T12:24:36.123",
"SendSize_u64": 0, "SendSize_u64": 0,
"RecvSize_u64": 0, "RecvSize_u64": 0,
"TcpStatus_u32": 0 "TcpStatus_u32": 0
@@ -5867,8 +5868,8 @@ Get Virtual DHCP Server Function Lease Table of SecureNAT Function. Use this to
"DhcpTable": [ "DhcpTable": [
{ {
"Id_u32": 0, "Id_u32": 0,
"LeasedTime_dt": "2024-08-01T12:24:36.123", "LeasedTime_dt": "2020-08-01T12:24:36.123",
"ExpireTime_dt": "2024-08-01T12:24:36.123", "ExpireTime_dt": "2020-08-01T12:24:36.123",
"MacAddress_bin": "SGVsbG8gV29ybGQ=", "MacAddress_bin": "SGVsbG8gV29ybGQ=",
"IpAddress_ip": "192.168.0.1", "IpAddress_ip": "192.168.0.1",
"Mask_u32": 0, "Mask_u32": 0,
@@ -5876,8 +5877,8 @@ Get Virtual DHCP Server Function Lease Table of SecureNAT Function. Use this to
}, },
{ {
"Id_u32": 0, "Id_u32": 0,
"LeasedTime_dt": "2024-08-01T12:24:36.123", "LeasedTime_dt": "2020-08-01T12:24:36.123",
"ExpireTime_dt": "2024-08-01T12:24:36.123", "ExpireTime_dt": "2020-08-01T12:24:36.123",
"MacAddress_bin": "SGVsbG8gV29ybGQ=", "MacAddress_bin": "SGVsbG8gV29ybGQ=",
"IpAddress_ip": "192.168.0.1", "IpAddress_ip": "192.168.0.1",
"Mask_u32": 0, "Mask_u32": 0,
@@ -5885,8 +5886,8 @@ Get Virtual DHCP Server Function Lease Table of SecureNAT Function. Use this to
}, },
{ {
"Id_u32": 0, "Id_u32": 0,
"LeasedTime_dt": "2024-08-01T12:24:36.123", "LeasedTime_dt": "2020-08-01T12:24:36.123",
"ExpireTime_dt": "2024-08-01T12:24:36.123", "ExpireTime_dt": "2020-08-01T12:24:36.123",
"MacAddress_bin": "SGVsbG8gV29ybGQ=", "MacAddress_bin": "SGVsbG8gV29ybGQ=",
"IpAddress_ip": "192.168.0.1", "IpAddress_ip": "192.168.0.1",
"Mask_u32": 0, "Mask_u32": 0,
@@ -7642,19 +7643,19 @@ Get List of Log Files. Use this to display a list of log files outputted by the
"ServerName_str": "servername", "ServerName_str": "servername",
"FilePath_str": "filepath", "FilePath_str": "filepath",
"FileSize_u32": 0, "FileSize_u32": 0,
"UpdatedTime_dt": "2024-08-01T12:24:36.123" "UpdatedTime_dt": "2020-08-01T12:24:36.123"
}, },
{ {
"ServerName_str": "servername", "ServerName_str": "servername",
"FilePath_str": "filepath", "FilePath_str": "filepath",
"FileSize_u32": 0, "FileSize_u32": 0,
"UpdatedTime_dt": "2024-08-01T12:24:36.123" "UpdatedTime_dt": "2020-08-01T12:24:36.123"
}, },
{ {
"ServerName_str": "servername", "ServerName_str": "servername",
"FilePath_str": "filepath", "FilePath_str": "filepath",
"FileSize_u32": 0, "FileSize_u32": 0,
"UpdatedTime_dt": "2024-08-01T12:24:36.123" "UpdatedTime_dt": "2020-08-01T12:24:36.123"
} }
] ]
} }
@@ -8642,8 +8643,8 @@ Name | Type | Description
`IsConnected_bool` | `boolean` | Whether connection to VPN Azure Cloud Server is established `IsConnected_bool` | `boolean` | Whether connection to VPN Azure Cloud Server is established
*** ***
<a id="getddnsinternetsetting"></a> <a id="getddnsinternetsettng"></a>
## "GetDDnsInternetSetting" RPC API - Get the Proxy Settings for Connecting to the DDNS server ## "GetDDnsInternetSettng" RPC API - Get the Proxy Settings for Connecting to the DDNS server
### Description ### Description
Get the Proxy Settings for Connecting to the DDNS server. Get the Proxy Settings for Connecting to the DDNS server.
@@ -8652,7 +8653,7 @@ Get the Proxy Settings for Connecting to the DDNS server.
{ {
"jsonrpc": "2.0", "jsonrpc": "2.0",
"id": "rpc_call_id", "id": "rpc_call_id",
"method": "GetDDnsInternetSetting", "method": "GetDDnsInternetSettng",
"params": {} "params": {}
} }
``` ```
@@ -8683,8 +8684,8 @@ Name | Type | Description
`ProxyPassword_str` | `string` (ASCII) | Proxy server password `ProxyPassword_str` | `string` (ASCII) | Proxy server password
*** ***
<a id="setddnsinternetsetting"></a> <a id="setddnsinternetsettng"></a>
## "SetDDnsInternetSetting" RPC API - Set the Proxy Settings for Connecting to the DDNS server ## "SetDDnsInternetSettng" RPC API - Set the Proxy Settings for Connecting to the DDNS server
### Description ### Description
Set the Proxy Settings for Connecting to the DDNS server. Set the Proxy Settings for Connecting to the DDNS server.
@@ -8693,7 +8694,7 @@ Set the Proxy Settings for Connecting to the DDNS server.
{ {
"jsonrpc": "2.0", "jsonrpc": "2.0",
"id": "rpc_call_id", "id": "rpc_call_id",
"method": "SetDDnsInternetSetting", "method": "SetDDnsInternetSettng",
"params": { "params": {
"ProxyType_u32": 0, "ProxyType_u32": 0,
"ProxyHostName_str": "proxyhostname", "ProxyHostName_str": "proxyhostname",
@@ -8730,6 +8731,6 @@ Name | Type | Description
`ProxyPassword_str` | `string` (ASCII) | Proxy server password `ProxyPassword_str` | `string` (ASCII) | Proxy server password
*** ***
Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen. Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen.
Copyright (c) 2014-2023 [SoftEther VPN Project](https://www.softether.org/) under the Apache License 2.0. Copyright (c) 2014-2019 [SoftEther VPN Project](https://www.softether.org/) under the Apache License 2.0.
@@ -2,10 +2,10 @@
// //
// JsonRpc.cs - JSON-RPC Client Utility Functions // JsonRpc.cs - JSON-RPC Client Utility Functions
// //
// Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen // Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2023 SoftEther VPN Project // Copyright (c) 2014-2019 SoftEther VPN Project
using System; using System;
using System.IO; using System.IO;
@@ -2,10 +2,10 @@
// //
// VPNServerRpc.cs - SoftEther VPN Server's JSON-RPC Stubs // VPNServerRpc.cs - SoftEther VPN Server's JSON-RPC Stubs
// //
// Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen // Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2023 SoftEther VPN Project // Copyright (c) 2014-2019 SoftEther VPN Project
using System.Threading.Tasks; using System.Threading.Tasks;
using SoftEther.JsonRpc; using SoftEther.JsonRpc;
@@ -1357,22 +1357,22 @@ namespace SoftEther.VPNServerRpc
/// <summary> /// <summary>
/// Get the Proxy Settings for Connecting to the DDNS server (Async mode). /// Get the Proxy Settings for Connecting to the DDNS server (Async mode).
/// </summary> /// </summary>
public async Task<VpnInternetSetting> GetDDnsInternetSettingAsync() => await CallAsync<VpnInternetSetting>("GetDDnsInternetSetting", new VpnInternetSetting()); public async Task<VpnInternetSetting> GetDDnsInternetSettngAsync() => await CallAsync<VpnInternetSetting>("GetDDnsInternetSettng", new VpnInternetSetting());
/// <summary> /// <summary>
/// Get the Proxy Settings for Connecting to the DDNS server (Async mode). /// Get the Proxy Settings for Connecting to the DDNS server (Async mode).
/// </summary> /// </summary>
public VpnInternetSetting GetDDnsInternetSetting() => GetDDnsInternetSettingAsync().Result; public VpnInternetSetting GetDDnsInternetSettng() => GetDDnsInternetSettngAsync().Result;
/// <summary> /// <summary>
/// Set the Proxy Settings for Connecting to the DDNS server (Async mode). /// Set the Proxy Settings for Connecting to the DDNS server (Async mode).
/// </summary> /// </summary>
public async Task<VpnInternetSetting> SetDDnsInternetSettingAsync(VpnInternetSetting input_param) => await CallAsync<VpnInternetSetting>("SetDDnsInternetSetting", input_param); public async Task<VpnInternetSetting> SetDDnsInternetSettngAsync(VpnInternetSetting input_param) => await CallAsync<VpnInternetSetting>("SetDDnsInternetSettng", input_param);
/// <summary> /// <summary>
/// Set the Proxy Settings for Connecting to the DDNS server (Sync mode). /// Set the Proxy Settings for Connecting to the DDNS server (Sync mode).
/// </summary> /// </summary>
public VpnInternetSetting SetDDnsInternetSetting(VpnInternetSetting input_param) => SetDDnsInternetSettingAsync(input_param).Result; public VpnInternetSetting SetDDnsInternetSettng(VpnInternetSetting input_param) => SetDDnsInternetSettngAsync(input_param).Result;
/// <summary> /// <summary>
/// Set the VPN Gate Server Configuration (Async mode). This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. /// Set the VPN Gate Server Configuration (Async mode). This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server.
@@ -2,10 +2,10 @@
// //
// VPNServerRpcTypes.cs - Data Type Definition for SoftEther VPN Server JSON-RPC Stubs // VPNServerRpcTypes.cs - Data Type Definition for SoftEther VPN Server JSON-RPC Stubs
// //
// Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen // Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2023 SoftEther VPN Project // Copyright (c) 2014-2019 SoftEther VPN Project
using System; using System;
using Newtonsoft.Json; using Newtonsoft.Json;
@@ -2,10 +2,10 @@
// //
// Program.cs - The Main() entry point // Program.cs - The Main() entry point
// //
// Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen // Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2023 SoftEther VPN Project // Copyright (c) 2014-2019 SoftEther VPN Project
class Program class Program
{ {
@@ -5,10 +5,10 @@
// This sample code shows how to call all available RPC functions. // This sample code shows how to call all available RPC functions.
// You can copy and paste test code to write your own C# codes. // You can copy and paste test code to write your own C# codes.
// //
// Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen // Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2023 SoftEther VPN Project // Copyright (c) 2014-2019 SoftEther VPN Project
using System; using System;
using SoftEther.VPNServerRpc; using SoftEther.VPNServerRpc;
@@ -255,8 +255,8 @@ class VPNRPCTest
Test_GetOpenVpnSstpConfig(); Test_GetOpenVpnSstpConfig();
Test_GetDDnsClientStatus(); Test_GetDDnsClientStatus();
Test_SetDDnsInternetSetting(); Test_SetDDnsInternetSettng();
Test_GetDDnsInternetSetting(); Test_GetDDnsInternetSettng();
Test_ChangeDDnsClientHostname(); Test_ChangeDDnsClientHostname();
Test_RegenerateServerCert(); Test_RegenerateServerCert();
@@ -3641,27 +3641,27 @@ class VPNRPCTest
} }
/// <summary> /// <summary>
/// API test for 'GetDDnsInternetSetting', Get DDNS proxy configuration /// API test for 'GetDDnsInternetSettng', Get DDNS proxy configuration
/// </summary> /// </summary>
public void Test_GetDDnsInternetSetting() public void Test_GetDDnsInternetSettng()
{ {
Console.WriteLine("Begin: Test_GetDDnsInternetSetting"); Console.WriteLine("Begin: Test_GetDDnsInternetSettng");
VpnInternetSetting out_internet_setting = api.GetDDnsInternetSetting(); VpnInternetSetting out_internet_setting = api.GetDDnsInternetSettng();
print_object(out_internet_setting); print_object(out_internet_setting);
Console.WriteLine("End: Test_GetDDnsInternetSetting"); Console.WriteLine("End: Test_GetDDnsInternetSettng");
Console.WriteLine("-----"); Console.WriteLine("-----");
Console.WriteLine(); Console.WriteLine();
} }
/// <summary> /// <summary>
/// API test for 'SetDDnsInternetSetting', Set DDNS proxy configuration /// API test for 'SetDDnsInternetSettng', Set DDNS proxy configuration
/// </summary> /// </summary>
public void Test_SetDDnsInternetSetting() public void Test_SetDDnsInternetSettng()
{ {
Console.WriteLine("Begin: Test_SetDDnsInternetSetting"); Console.WriteLine("Begin: Test_SetDDnsInternetSettng");
VpnInternetSetting in_internet_setting = new VpnInternetSetting() VpnInternetSetting in_internet_setting = new VpnInternetSetting()
{ {
@@ -3671,11 +3671,11 @@ class VPNRPCTest
ProxyUsername_str = "neko", ProxyUsername_str = "neko",
ProxyPassword_str = "dog", ProxyPassword_str = "dog",
}; };
VpnInternetSetting out_internet_setting = api.SetDDnsInternetSetting(in_internet_setting); VpnInternetSetting out_internet_setting = api.SetDDnsInternetSettng(in_internet_setting);
print_object(out_internet_setting); print_object(out_internet_setting);
Console.WriteLine("End: Test_SetDDnsInternetSetting"); Console.WriteLine("End: Test_SetDDnsInternetSettng");
Console.WriteLine("-----"); Console.WriteLine("-----");
Console.WriteLine(); Console.WriteLine();
} }
@@ -560,10 +560,10 @@ function Test_All() {
return [4 /*yield*/, Test_GetDDnsClientStatus()]; return [4 /*yield*/, Test_GetDDnsClientStatus()];
case 157: case 157:
_x.sent(); _x.sent();
return [4 /*yield*/, Test_SetDDnsInternetSetting()]; return [4 /*yield*/, Test_SetDDnsInternetSettng()];
case 158: case 158:
_x.sent(); _x.sent();
return [4 /*yield*/, Test_GetDDnsInternetSetting()]; return [4 /*yield*/, Test_GetDDnsInternetSettng()];
case 159: case 159:
_x.sent(); _x.sent();
return [4 /*yield*/, Test_ChangeDDnsClientHostname()]; return [4 /*yield*/, Test_ChangeDDnsClientHostname()];
@@ -4047,19 +4047,19 @@ function Test_SetAzureStatus() {
}); });
}); });
} }
/** API test for 'GetDDnsInternetSetting', Get DDNS proxy configuration */ /** API test for 'GetDDnsInternetSettng', Get DDNS proxy configuration */
function Test_GetDDnsInternetSetting() { function Test_GetDDnsInternetSettng() {
return __awaiter(this, void 0, void 0, function () { return __awaiter(this, void 0, void 0, function () {
var out_internet_setting; var out_internet_setting;
return __generator(this, function (_a) { return __generator(this, function (_a) {
switch (_a.label) { switch (_a.label) {
case 0: case 0:
console.log("Begin: Test_GetDDnsInternetSetting"); console.log("Begin: Test_GetDDnsInternetSettng");
return [4 /*yield*/, api.GetDDnsInternetSetting()]; return [4 /*yield*/, api.GetDDnsInternetSettng()];
case 1: case 1:
out_internet_setting = _a.sent(); out_internet_setting = _a.sent();
console.log(out_internet_setting); console.log(out_internet_setting);
console.log("End: Test_GetDDnsInternetSetting"); console.log("End: Test_GetDDnsInternetSettng");
console.log("-----"); console.log("-----");
console.log(); console.log();
return [2 /*return*/]; return [2 /*return*/];
@@ -4067,14 +4067,14 @@ function Test_GetDDnsInternetSetting() {
}); });
}); });
} }
/** API test for 'SetDDnsInternetSetting', Set DDNS proxy configuration */ /** API test for 'SetDDnsInternetSettng', Set DDNS proxy configuration */
function Test_SetDDnsInternetSetting() { function Test_SetDDnsInternetSettng() {
return __awaiter(this, void 0, void 0, function () { return __awaiter(this, void 0, void 0, function () {
var in_internet_setting, out_internet_setting; var in_internet_setting, out_internet_setting;
return __generator(this, function (_a) { return __generator(this, function (_a) {
switch (_a.label) { switch (_a.label) {
case 0: case 0:
console.log("Begin: Test_SetDDnsInternetSetting"); console.log("Begin: Test_SetDDnsInternetSettng");
in_internet_setting = new VPN.VpnInternetSetting({ in_internet_setting = new VPN.VpnInternetSetting({
ProxyType_u32: VPN.VpnRpcProxyType.Direct, ProxyType_u32: VPN.VpnRpcProxyType.Direct,
ProxyHostName_str: "1.2.3.4", ProxyHostName_str: "1.2.3.4",
@@ -4082,11 +4082,11 @@ function Test_SetDDnsInternetSetting() {
ProxyUsername_str: "neko", ProxyUsername_str: "neko",
ProxyPassword_str: "dog" ProxyPassword_str: "dog"
}); });
return [4 /*yield*/, api.SetDDnsInternetSetting(in_internet_setting)]; return [4 /*yield*/, api.SetDDnsInternetSettng(in_internet_setting)];
case 1: case 1:
out_internet_setting = _a.sent(); out_internet_setting = _a.sent();
console.log(out_internet_setting); console.log(out_internet_setting);
console.log("End: Test_SetDDnsInternetSetting"); console.log("End: Test_SetDDnsInternetSettng");
console.log("-----"); console.log("-----");
console.log(); console.log();
return [2 /*return*/]; return [2 /*return*/];
@@ -278,9 +278,9 @@ export declare class VpnServerRpc {
/** Enable / Disable VPN Azure Function. Enable or disable the VPN Azure function. VPN Azure makes it easier to establish a VPN Session from your home PC to your office PC. While a VPN connection is established, you can access to any other servers on the private network of your company. You don't need a global IP address on the office PC (VPN Server). It can work behind firewalls or NATs. No network administrator's configuration required. You can use the built-in SSTP-VPN Client of Windows in your home PC. VPN Azure is a cloud VPN service operated by SoftEther Corporation. VPN Azure is free of charge and available to anyone. Visit http://www.vpnazure.net/ to see details and how-to-use instructions. The VPN Azure hostname is same to the hostname of the Dynamic DNS setting, but altering the domain suffix to "vpnazure.net". To change the hostname use the ChangeDDnsClientHostname API. To call this API, you must have VPN Server administrator privileges. This API cannot be invoked on VPN Bridge. You cannot execute this API for Virtual Hubs of VPN Servers operating as a cluster. */ /** Enable / Disable VPN Azure Function. Enable or disable the VPN Azure function. VPN Azure makes it easier to establish a VPN Session from your home PC to your office PC. While a VPN connection is established, you can access to any other servers on the private network of your company. You don't need a global IP address on the office PC (VPN Server). It can work behind firewalls or NATs. No network administrator's configuration required. You can use the built-in SSTP-VPN Client of Windows in your home PC. VPN Azure is a cloud VPN service operated by SoftEther Corporation. VPN Azure is free of charge and available to anyone. Visit http://www.vpnazure.net/ to see details and how-to-use instructions. The VPN Azure hostname is same to the hostname of the Dynamic DNS setting, but altering the domain suffix to "vpnazure.net". To change the hostname use the ChangeDDnsClientHostname API. To call this API, you must have VPN Server administrator privileges. This API cannot be invoked on VPN Bridge. You cannot execute this API for Virtual Hubs of VPN Servers operating as a cluster. */
SetAzureStatus: (in_param: VpnRpcAzureStatus) => Promise<VpnRpcAzureStatus>; SetAzureStatus: (in_param: VpnRpcAzureStatus) => Promise<VpnRpcAzureStatus>;
/** Get the Proxy Settings for Connecting to the DDNS server. */ /** Get the Proxy Settings for Connecting to the DDNS server. */
GetDDnsInternetSetting: () => Promise<VpnInternetSetting>; GetDDnsInternetSettng: () => Promise<VpnInternetSetting>;
/** Set the Proxy Settings for Connecting to the DDNS server. */ /** Set the Proxy Settings for Connecting to the DDNS server. */
SetDDnsInternetSetting: (in_param: VpnInternetSetting) => Promise<VpnInternetSetting>; SetDDnsInternetSettng: (in_param: VpnInternetSetting) => Promise<VpnInternetSetting>;
/** Set the VPN Gate Server Configuration. This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. */ /** Set the VPN Gate Server Configuration. This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. */
SetVgsConfig: (in_param: VpnVgsConfig) => Promise<VpnVgsConfig>; SetVgsConfig: (in_param: VpnVgsConfig) => Promise<VpnVgsConfig>;
/** Get the VPN Gate Server Configuration. This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. */ /** Get the VPN Gate Server Configuration. This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. */
@@ -599,12 +599,12 @@ var VpnServerRpc = /** @class */ (function () {
return _this.CallAsync("SetAzureStatus", in_param); return _this.CallAsync("SetAzureStatus", in_param);
}; };
/** Get the Proxy Settings for Connecting to the DDNS server. */ /** Get the Proxy Settings for Connecting to the DDNS server. */
this.GetDDnsInternetSetting = function () { this.GetDDnsInternetSettng = function () {
return _this.CallAsync("GetDDnsInternetSetting", new VpnInternetSetting()); return _this.CallAsync("GetDDnsInternetSettng", new VpnInternetSetting());
}; };
/** Set the Proxy Settings for Connecting to the DDNS server. */ /** Set the Proxy Settings for Connecting to the DDNS server. */
this.SetDDnsInternetSetting = function (in_param) { this.SetDDnsInternetSettng = function (in_param) {
return _this.CallAsync("SetDDnsInternetSetting", in_param); return _this.CallAsync("SetDDnsInternetSettng", in_param);
}; };
/** Set the VPN Gate Server Configuration. This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. */ /** Set the VPN Gate Server Configuration. This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. */
this.SetVgsConfig = function (in_param) { this.SetVgsConfig = function (in_param) {
@@ -65,23 +65,12 @@
} }
}, },
"braces": { "braces": {
"version": "3.0.3", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true, "dev": true,
"requires": { "requires": {
"fill-range": "^7.1.1" "fill-range": "^7.0.1"
},
"dependencies": {
"fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
}
} }
}, },
"builtin-modules": { "builtin-modules": {
@@ -162,6 +151,15 @@
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
"dev": true "dev": true
}, },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
},
"fs.realpath": { "fs.realpath": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -2,13 +2,13 @@
// Runs on both web browsers and Node.js // Runs on both web browsers and Node.js
// //
// sample.ts // sample.ts
// Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen // Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen
// //
// This sample code shows how to call all available RPC functions. // This sample code shows how to call all available RPC functions.
// You can copy and paste test code to write your own web browser TypeScript / JavaScript codes. // You can copy and paste test code to write your own web browser TypeScript / JavaScript codes.
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2023 SoftEther VPN Project // Copyright (c) 2014-2019 SoftEther VPN Project
// On the web browser uncomment below imports as necessary to support old browsers. // On the web browser uncomment below imports as necessary to support old browsers.
// import "core-js/es6/promise"; // import "core-js/es6/promise";
@@ -216,8 +216,8 @@ async function Test_All(): Promise<void>
await Test_SetOpenVpnSstpConfig(); await Test_SetOpenVpnSstpConfig();
await Test_GetOpenVpnSstpConfig(); await Test_GetOpenVpnSstpConfig();
await Test_GetDDnsClientStatus(); await Test_GetDDnsClientStatus();
await Test_SetDDnsInternetSetting(); await Test_SetDDnsInternetSettng();
await Test_GetDDnsInternetSetting(); await Test_GetDDnsInternetSettng();
await Test_ChangeDDnsClientHostname(); await Test_ChangeDDnsClientHostname();
await Test_RegenerateServerCert(); await Test_RegenerateServerCert();
await Test_MakeOpenVpnConfigFile(); await Test_MakeOpenVpnConfigFile();
@@ -2624,21 +2624,21 @@ async function Test_SetAzureStatus(): Promise<void>
console.log(); console.log();
} }
/** API test for 'GetDDnsInternetSetting', Get DDNS proxy configuration */ /** API test for 'GetDDnsInternetSettng', Get DDNS proxy configuration */
async function Test_GetDDnsInternetSetting(): Promise<void> async function Test_GetDDnsInternetSettng(): Promise<void>
{ {
console.log("Begin: Test_GetDDnsInternetSetting"); console.log("Begin: Test_GetDDnsInternetSettng");
let out_internet_setting: VPN.VpnInternetSetting = await api.GetDDnsInternetSetting(); let out_internet_setting: VPN.VpnInternetSetting = await api.GetDDnsInternetSettng();
console.log(out_internet_setting); console.log(out_internet_setting);
console.log("End: Test_GetDDnsInternetSetting"); console.log("End: Test_GetDDnsInternetSettng");
console.log("-----"); console.log("-----");
console.log(); console.log();
} }
/** API test for 'SetDDnsInternetSetting', Set DDNS proxy configuration */ /** API test for 'SetDDnsInternetSettng', Set DDNS proxy configuration */
async function Test_SetDDnsInternetSetting(): Promise<void> async function Test_SetDDnsInternetSettng(): Promise<void>
{ {
console.log("Begin: Test_SetDDnsInternetSetting"); console.log("Begin: Test_SetDDnsInternetSettng");
let in_internet_setting: VPN.VpnInternetSetting = new VPN.VpnInternetSetting( let in_internet_setting: VPN.VpnInternetSetting = new VPN.VpnInternetSetting(
{ {
ProxyType_u32: VPN.VpnRpcProxyType.Direct, ProxyType_u32: VPN.VpnRpcProxyType.Direct,
@@ -2647,9 +2647,9 @@ async function Test_SetDDnsInternetSetting(): Promise<void>
ProxyUsername_str: "neko", ProxyUsername_str: "neko",
ProxyPassword_str: "dog", ProxyPassword_str: "dog",
}); });
let out_internet_setting: VPN.VpnInternetSetting = await api.SetDDnsInternetSetting(in_internet_setting); let out_internet_setting: VPN.VpnInternetSetting = await api.SetDDnsInternetSettng(in_internet_setting);
console.log(out_internet_setting); console.log(out_internet_setting);
console.log("End: Test_SetDDnsInternetSetting"); console.log("End: Test_SetDDnsInternetSettng");
console.log("-----"); console.log("-----");
console.log(); console.log();
} }
@@ -1,10 +1,10 @@
// SoftEther VPN Server JSON-RPC Stub code for TypeScript // SoftEther VPN Server JSON-RPC Stub code for TypeScript
// //
// vpnrpc.ts // vpnrpc.ts
// Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen // Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2023 SoftEther VPN Project // Copyright (c) 2014-2019 SoftEther VPN Project
// Trivial utility codes // Trivial utility codes
@@ -856,15 +856,15 @@ export class VpnServerRpc
} }
/** Get the Proxy Settings for Connecting to the DDNS server. */ /** Get the Proxy Settings for Connecting to the DDNS server. */
public GetDDnsInternetSetting = (): Promise<VpnInternetSetting> => public GetDDnsInternetSettng = (): Promise<VpnInternetSetting> =>
{ {
return this.CallAsync<VpnInternetSetting>("GetDDnsInternetSetting", new VpnInternetSetting()); return this.CallAsync<VpnInternetSetting>("GetDDnsInternetSettng", new VpnInternetSetting());
} }
/** Set the Proxy Settings for Connecting to the DDNS server. */ /** Set the Proxy Settings for Connecting to the DDNS server. */
public SetDDnsInternetSetting = (in_param: VpnInternetSetting): Promise<VpnInternetSetting> => public SetDDnsInternetSettng = (in_param: VpnInternetSetting): Promise<VpnInternetSetting> =>
{ {
return this.CallAsync<VpnInternetSetting>("SetDDnsInternetSetting", in_param); return this.CallAsync<VpnInternetSetting>("SetDDnsInternetSettng", in_param);
} }
/** Set the VPN Gate Server Configuration. This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. */ /** Set the VPN Gate Server Configuration. This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. */
@@ -2,13 +2,13 @@
// Runs on both web browsers and Node.js // Runs on both web browsers and Node.js
// //
// sample.ts // sample.ts
// Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen // Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen
// //
// This sample code shows how to call all available RPC functions. // This sample code shows how to call all available RPC functions.
// You can copy and paste test code to write your own web browser TypeScript / JavaScript codes. // You can copy and paste test code to write your own web browser TypeScript / JavaScript codes.
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2023 SoftEther VPN Project // Copyright (c) 2014-2019 SoftEther VPN Project
// On the web browser uncomment below imports as necessary to support old browsers. // On the web browser uncomment below imports as necessary to support old browsers.
// import "core-js/es6/promise"; // import "core-js/es6/promise";
@@ -216,8 +216,8 @@ async function Test_All(): Promise<void>
await Test_SetOpenVpnSstpConfig(); await Test_SetOpenVpnSstpConfig();
await Test_GetOpenVpnSstpConfig(); await Test_GetOpenVpnSstpConfig();
await Test_GetDDnsClientStatus(); await Test_GetDDnsClientStatus();
await Test_SetDDnsInternetSetting(); await Test_SetDDnsInternetSettng();
await Test_GetDDnsInternetSetting(); await Test_GetDDnsInternetSettng();
await Test_ChangeDDnsClientHostname(); await Test_ChangeDDnsClientHostname();
await Test_RegenerateServerCert(); await Test_RegenerateServerCert();
await Test_MakeOpenVpnConfigFile(); await Test_MakeOpenVpnConfigFile();
@@ -2624,21 +2624,21 @@ async function Test_SetAzureStatus(): Promise<void>
console.log(); console.log();
} }
/** API test for 'GetDDnsInternetSetting', Get DDNS proxy configuration */ /** API test for 'GetDDnsInternetSettng', Get DDNS proxy configuration */
async function Test_GetDDnsInternetSetting(): Promise<void> async function Test_GetDDnsInternetSettng(): Promise<void>
{ {
console.log("Begin: Test_GetDDnsInternetSetting"); console.log("Begin: Test_GetDDnsInternetSettng");
let out_internet_setting: VPN.VpnInternetSetting = await api.GetDDnsInternetSetting(); let out_internet_setting: VPN.VpnInternetSetting = await api.GetDDnsInternetSettng();
console.log(out_internet_setting); console.log(out_internet_setting);
console.log("End: Test_GetDDnsInternetSetting"); console.log("End: Test_GetDDnsInternetSettng");
console.log("-----"); console.log("-----");
console.log(); console.log();
} }
/** API test for 'SetDDnsInternetSetting', Set DDNS proxy configuration */ /** API test for 'SetDDnsInternetSettng', Set DDNS proxy configuration */
async function Test_SetDDnsInternetSetting(): Promise<void> async function Test_SetDDnsInternetSettng(): Promise<void>
{ {
console.log("Begin: Test_SetDDnsInternetSetting"); console.log("Begin: Test_SetDDnsInternetSettng");
let in_internet_setting: VPN.VpnInternetSetting = new VPN.VpnInternetSetting( let in_internet_setting: VPN.VpnInternetSetting = new VPN.VpnInternetSetting(
{ {
ProxyType_u32: VPN.VpnRpcProxyType.Direct, ProxyType_u32: VPN.VpnRpcProxyType.Direct,
@@ -2647,9 +2647,9 @@ async function Test_SetDDnsInternetSetting(): Promise<void>
ProxyUsername_str: "neko", ProxyUsername_str: "neko",
ProxyPassword_str: "dog", ProxyPassword_str: "dog",
}); });
let out_internet_setting: VPN.VpnInternetSetting = await api.SetDDnsInternetSetting(in_internet_setting); let out_internet_setting: VPN.VpnInternetSetting = await api.SetDDnsInternetSettng(in_internet_setting);
console.log(out_internet_setting); console.log(out_internet_setting);
console.log("End: Test_SetDDnsInternetSetting"); console.log("End: Test_SetDDnsInternetSettng");
console.log("-----"); console.log("-----");
console.log(); console.log();
} }
@@ -1,10 +1,10 @@
// SoftEther VPN Server JSON-RPC Stub code for TypeScript // SoftEther VPN Server JSON-RPC Stub code for TypeScript
// //
// vpnrpc.ts // vpnrpc.ts
// Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen // Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2023 SoftEther VPN Project // Copyright (c) 2014-2019 SoftEther VPN Project
// Trivial utility codes // Trivial utility codes
@@ -856,15 +856,15 @@ export class VpnServerRpc
} }
/** Get the Proxy Settings for Connecting to the DDNS server. */ /** Get the Proxy Settings for Connecting to the DDNS server. */
public GetDDnsInternetSetting = (): Promise<VpnInternetSetting> => public GetDDnsInternetSettng = (): Promise<VpnInternetSetting> =>
{ {
return this.CallAsync<VpnInternetSetting>("GetDDnsInternetSetting", new VpnInternetSetting()); return this.CallAsync<VpnInternetSetting>("GetDDnsInternetSettng", new VpnInternetSetting());
} }
/** Set the Proxy Settings for Connecting to the DDNS server. */ /** Set the Proxy Settings for Connecting to the DDNS server. */
public SetDDnsInternetSetting = (in_param: VpnInternetSetting): Promise<VpnInternetSetting> => public SetDDnsInternetSettng = (in_param: VpnInternetSetting): Promise<VpnInternetSetting> =>
{ {
return this.CallAsync<VpnInternetSetting>("SetDDnsInternetSetting", in_param); return this.CallAsync<VpnInternetSetting>("SetDDnsInternetSettng", in_param);
} }
/** Set the VPN Gate Server Configuration. This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. */ /** Set the VPN Gate Server Configuration. This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. */
@@ -25,6 +25,7 @@ https://<vpn_server_hostname>:<port>/api/
- Older versions of SoftEther VPN before June 2019 don't support JSON-RPC APIs. - Older versions of SoftEther VPN before June 2019 don't support JSON-RPC APIs.
- If you want to completely disable the JSON-RPC on your VPN Server, set the `DisableJsonRpcWebApi` variable to `true` on the `vpn_server.config`. - If you want to completely disable the JSON-RPC on your VPN Server, set the `DisableJsonRpcWebApi` variable to `true` on the `vpn_server.config`.
- You may also restrict access to JSON-RPC API to a specific subnet, e.g. your internal network, by setting the `JsonRpcWebApiAllowedSubnet` variable to, for example, `192.168.0.0/16`.
### JSON-RPC specification ### JSON-RPC specification
@@ -1357,22 +1357,22 @@ namespace SoftEther.VPNServerRpc
/// <summary> /// <summary>
/// Get the Proxy Settings for Connecting to the DDNS server (Async mode). /// Get the Proxy Settings for Connecting to the DDNS server (Async mode).
/// </summary> /// </summary>
public async Task<VpnInternetSetting> GetDDnsInternetSettingAsync() => await CallAsync<VpnInternetSetting>("GetDDnsInternetSetting", new VpnInternetSetting()); public async Task<VpnInternetSetting> GetDDnsInternetSettngAsync() => await CallAsync<VpnInternetSetting>("GetDDnsInternetSettng", new VpnInternetSetting());
/// <summary> /// <summary>
/// Get the Proxy Settings for Connecting to the DDNS server (Async mode). /// Get the Proxy Settings for Connecting to the DDNS server (Async mode).
/// </summary> /// </summary>
public VpnInternetSetting GetDDnsInternetSetting() => GetDDnsInternetSettingAsync().Result; public VpnInternetSetting GetDDnsInternetSettng() => GetDDnsInternetSettngAsync().Result;
/// <summary> /// <summary>
/// Set the Proxy Settings for Connecting to the DDNS server (Async mode). /// Set the Proxy Settings for Connecting to the DDNS server (Async mode).
/// </summary> /// </summary>
public async Task<VpnInternetSetting> SetDDnsInternetSettingAsync(VpnInternetSetting input_param) => await CallAsync<VpnInternetSetting>("SetDDnsInternetSetting", input_param); public async Task<VpnInternetSetting> SetDDnsInternetSettngAsync(VpnInternetSetting input_param) => await CallAsync<VpnInternetSetting>("SetDDnsInternetSettng", input_param);
/// <summary> /// <summary>
/// Set the Proxy Settings for Connecting to the DDNS server (Sync mode). /// Set the Proxy Settings for Connecting to the DDNS server (Sync mode).
/// </summary> /// </summary>
public VpnInternetSetting SetDDnsInternetSetting(VpnInternetSetting input_param) => SetDDnsInternetSettingAsync(input_param).Result; public VpnInternetSetting SetDDnsInternetSettng(VpnInternetSetting input_param) => SetDDnsInternetSettngAsync(input_param).Result;
/// <summary> /// <summary>
/// Set the VPN Gate Server Configuration (Async mode). This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server. /// Set the VPN Gate Server Configuration (Async mode). This API is valid for Win32 binary distribution of the Stable Edition of SoftEther VPN Server.
@@ -255,8 +255,8 @@ class VPNRPCTest
Test_GetOpenVpnSstpConfig(); Test_GetOpenVpnSstpConfig();
Test_GetDDnsClientStatus(); Test_GetDDnsClientStatus();
Test_SetDDnsInternetSetting(); Test_SetDDnsInternetSettng();
Test_GetDDnsInternetSetting(); Test_GetDDnsInternetSettng();
Test_ChangeDDnsClientHostname(); Test_ChangeDDnsClientHostname();
Test_RegenerateServerCert(); Test_RegenerateServerCert();
@@ -3641,27 +3641,27 @@ class VPNRPCTest
} }
/// <summary> /// <summary>
/// API test for 'GetDDnsInternetSetting', Get DDNS proxy configuration /// API test for 'GetDDnsInternetSettng', Get DDNS proxy configuration
/// </summary> /// </summary>
public void Test_GetDDnsInternetSetting() public void Test_GetDDnsInternetSettng()
{ {
Console.WriteLine("Begin: Test_GetDDnsInternetSetting"); Console.WriteLine("Begin: Test_GetDDnsInternetSettng");
VpnInternetSetting out_internet_setting = api.GetDDnsInternetSetting(); VpnInternetSetting out_internet_setting = api.GetDDnsInternetSettng();
print_object(out_internet_setting); print_object(out_internet_setting);
Console.WriteLine("End: Test_GetDDnsInternetSetting"); Console.WriteLine("End: Test_GetDDnsInternetSettng");
Console.WriteLine("-----"); Console.WriteLine("-----");
Console.WriteLine(); Console.WriteLine();
} }
/// <summary> /// <summary>
/// API test for 'SetDDnsInternetSetting', Set DDNS proxy configuration /// API test for 'SetDDnsInternetSettng', Set DDNS proxy configuration
/// </summary> /// </summary>
public void Test_SetDDnsInternetSetting() public void Test_SetDDnsInternetSettng()
{ {
Console.WriteLine("Begin: Test_SetDDnsInternetSetting"); Console.WriteLine("Begin: Test_SetDDnsInternetSettng");
VpnInternetSetting in_internet_setting = new VpnInternetSetting() VpnInternetSetting in_internet_setting = new VpnInternetSetting()
{ {
@@ -3671,11 +3671,11 @@ class VPNRPCTest
ProxyUsername_str = "neko", ProxyUsername_str = "neko",
ProxyPassword_str = "dog", ProxyPassword_str = "dog",
}; };
VpnInternetSetting out_internet_setting = api.SetDDnsInternetSetting(in_internet_setting); VpnInternetSetting out_internet_setting = api.SetDDnsInternetSettng(in_internet_setting);
print_object(out_internet_setting); print_object(out_internet_setting);
Console.WriteLine("End: Test_SetDDnsInternetSetting"); Console.WriteLine("End: Test_SetDDnsInternetSettng");
Console.WriteLine("-----"); Console.WriteLine("-----");
Console.WriteLine(); Console.WriteLine();
} }
+4 -4
View File
@@ -1636,8 +1636,8 @@ PACK *AdminDispatch(RPC *rpc, char *name, PACK *p)
DECLARE_RPC("GetSpecialListener", RPC_SPECIAL_LISTENER, StGetSpecialListener, InRpcSpecialListener, OutRpcSpecialListener) DECLARE_RPC("GetSpecialListener", RPC_SPECIAL_LISTENER, StGetSpecialListener, InRpcSpecialListener, OutRpcSpecialListener)
DECLARE_RPC("GetAzureStatus", RPC_AZURE_STATUS, StGetAzureStatus, InRpcAzureStatus, OutRpcAzureStatus) DECLARE_RPC("GetAzureStatus", RPC_AZURE_STATUS, StGetAzureStatus, InRpcAzureStatus, OutRpcAzureStatus)
DECLARE_RPC("SetAzureStatus", RPC_AZURE_STATUS, StSetAzureStatus, InRpcAzureStatus, OutRpcAzureStatus) DECLARE_RPC("SetAzureStatus", RPC_AZURE_STATUS, StSetAzureStatus, InRpcAzureStatus, OutRpcAzureStatus)
DECLARE_RPC("GetDDnsInternetSetting", INTERNET_SETTING, StGetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting) DECLARE_RPC("GetDDnsInternetSettng", INTERNET_SETTING, StGetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting)
DECLARE_RPC("SetDDnsInternetSetting", INTERNET_SETTING, StSetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting) DECLARE_RPC("SetDDnsInternetSettng", INTERNET_SETTING, StSetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting)
// RPC function declaration: till here // RPC function declaration: till here
@@ -1823,8 +1823,8 @@ DECLARE_SC("SetSpecialListener", RPC_SPECIAL_LISTENER, ScSetSpecialListener, InR
DECLARE_SC("GetSpecialListener", RPC_SPECIAL_LISTENER, ScGetSpecialListener, InRpcSpecialListener, OutRpcSpecialListener) DECLARE_SC("GetSpecialListener", RPC_SPECIAL_LISTENER, ScGetSpecialListener, InRpcSpecialListener, OutRpcSpecialListener)
DECLARE_SC("GetAzureStatus", RPC_AZURE_STATUS, ScGetAzureStatus, InRpcAzureStatus, OutRpcAzureStatus) DECLARE_SC("GetAzureStatus", RPC_AZURE_STATUS, ScGetAzureStatus, InRpcAzureStatus, OutRpcAzureStatus)
DECLARE_SC("SetAzureStatus", RPC_AZURE_STATUS, ScSetAzureStatus, InRpcAzureStatus, OutRpcAzureStatus) DECLARE_SC("SetAzureStatus", RPC_AZURE_STATUS, ScSetAzureStatus, InRpcAzureStatus, OutRpcAzureStatus)
DECLARE_SC("GetDDnsInternetSetting", INTERNET_SETTING, ScGetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting) DECLARE_SC("GetDDnsInternetSettng", INTERNET_SETTING, ScGetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting)
DECLARE_SC("SetDDnsInternetSetting", INTERNET_SETTING, ScSetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting) DECLARE_SC("SetDDnsInternetSettng", INTERNET_SETTING, ScSetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting)
// RPC call function declaration: till here // RPC call function declaration: till here
// Setting VPN Gate Server Configuration // Setting VPN Gate Server Configuration
-5
View File
@@ -805,12 +805,7 @@ bool EthIsChangeMtuSupported(ETH *e)
return false; return false;
} }
// FreeBSD seriously dislikes MTU changes; disable if compiled on that platform
#ifndef __FreeBSD__
return true; return true;
#else
return false;
#endif
#else // defined(UNIX_LINUX) || defined(UNIX_BSD) || defined(UNIX_SOLARIS) #else // defined(UNIX_LINUX) || defined(UNIX_BSD) || defined(UNIX_SOLARIS)
return false; return false;
#endif // defined(UNIX_LINUX) || defined(UNIX_BSD) || defined(UNIX_SOLARIS) #endif // defined(UNIX_LINUX) || defined(UNIX_BSD) || defined(UNIX_SOLARIS)
+1 -10
View File
@@ -1517,9 +1517,7 @@ void IPCProcessL3EventsEx(IPC *ipc, UINT64 now)
// We save the router advertisement data for later use // We save the router advertisement data for later use
IPCIPv6AddRouterPrefixes(ipc, &p->ICMPv6HeaderPacketInfo.OptionList, src_mac, &ip_src); IPCIPv6AddRouterPrefixes(ipc, &p->ICMPv6HeaderPacketInfo.OptionList, src_mac, &ip_src);
IPCIPv6AssociateOnNDTEx(ipc, &ip_src, src_mac, true); IPCIPv6AssociateOnNDTEx(ipc, &ip_src, src_mac, true);
if (p->ICMPv6HeaderPacketInfo.OptionList.SourceLinkLayer != NULL) {
IPCIPv6AssociateOnNDTEx(ipc, &ip_src, p->ICMPv6HeaderPacketInfo.OptionList.SourceLinkLayer->Address, true); IPCIPv6AssociateOnNDTEx(ipc, &ip_src, p->ICMPv6HeaderPacketInfo.OptionList.SourceLinkLayer->Address, true);
}
ndtProcessed = true; ndtProcessed = true;
header_size = sizeof(ICMPV6_ROUTER_ADVERTISEMENT_HEADER); header_size = sizeof(ICMPV6_ROUTER_ADVERTISEMENT_HEADER);
break; break;
@@ -2356,14 +2354,7 @@ void IPCIPv6AddRouterPrefixes(IPC *ipc, ICMPV6_OPTION_LIST *recvPrefix, UCHAR *m
IntToSubnetMask6(&newRA->RoutedMask, recvPrefix->Prefix[i]->SubnetLength); IntToSubnetMask6(&newRA->RoutedMask, recvPrefix->Prefix[i]->SubnetLength);
CopyIP(&newRA->RouterAddress, ip); CopyIP(&newRA->RouterAddress, ip);
Copy(newRA->RouterMacAddress, macAddress, 6); Copy(newRA->RouterMacAddress, macAddress, 6);
if (recvPrefix->SourceLinkLayer != NULL)
{
Copy(newRA->RouterLinkLayerAddress, recvPrefix->SourceLinkLayer->Address, 6); Copy(newRA->RouterLinkLayerAddress, recvPrefix->SourceLinkLayer->Address, 6);
}
else
{
Zero(newRA->RouterLinkLayerAddress, 6);
}
Add(ipc->IPv6RouterAdvs, newRA); Add(ipc->IPv6RouterAdvs, newRA);
} }
} }
@@ -2666,7 +2657,7 @@ void IPCIPv6SendUnicast(IPC *ipc, void *data, UINT size, IP *next_ip)
} }
destMac = ra.RouterMacAddress; destMac = ra.RouterMacAddress;
if (!IsMacUnicast(destMac) && !IsMacInvalid(ra.RouterLinkLayerAddress)) if (!IsMacUnicast(destMac) && !IsMacInvalid(ra.RouterMacAddress))
{ {
destMac = ra.RouterLinkLayerAddress; destMac = ra.RouterLinkLayerAddress;
} }
+30 -4
View File
@@ -463,13 +463,39 @@ void ProcIPsecEspPacketRecv(IKE_SERVER *ike, UDPPACKET *p)
seq = READ_UINT(src + sizeof(UINT)); seq = READ_UINT(src + sizeof(UINT));
// Search and retrieve the IPsec SA from SPI // Search and retrieve the IPsec SA from SPI
// thank to @phillibert report, responding to bad SA might lead to amplification
// according to RFC4303 we should drop such packets
ipsec_sa = SearchClientToServerIPsecSaBySpi(ike, spi); ipsec_sa = SearchClientToServerIPsecSaBySpi(ike, spi);
if (ipsec_sa == NULL) if (ipsec_sa == NULL)
{ {
// Invalid SPI
UINT64 init_cookie = Rand64();
UINT64 resp_cookie = 0;
IKE_CLIENT *c = NULL;
IKE_CLIENT t;
Copy(&t.ClientIP, &p->SrcIP, sizeof(IP));
t.ClientPort = p->SrcPort;
Copy(&t.ServerIP, &p->DstIP, sizeof(IP));
t.ServerPort = p->DestPort;
t.CurrentIkeSa = NULL;
if (p->DestPort == IPSEC_PORT_IPSEC_ESP_RAW)
{
t.ClientPort = t.ServerPort = IPSEC_PORT_IPSEC_ISAKMP;
}
c = Search(ike->ClientList, &t);
if (c != NULL && c->CurrentIkeSa != NULL)
{
init_cookie = c->CurrentIkeSa->InitiatorCookie;
resp_cookie = c->CurrentIkeSa->ResponderCookie;
}
SendInformationalExchangePacketEx(ike, (c == NULL ? &t : c), IkeNewNoticeErrorInvalidSpiPayload(spi), false,
init_cookie, resp_cookie);
SendDeleteIPsecSaPacket(ike, (c == NULL ? &t : c), spi);
return; return;
} }
+2 -2
View File
@@ -2138,9 +2138,9 @@ void L2TPProcessInterrupts(L2TP_SERVER *l2tp)
UINT64 l2tpTimeout = L2TP_TUNNEL_TIMEOUT; UINT64 l2tpTimeout = L2TP_TUNNEL_TIMEOUT;
// If we got on ANY session a higher timeout than the default L2TP tunnel timeout, increase it // If we got on ANY session a higher timeout than the default L2TP tunnel timeout, increase it
for (j = 0; j < LIST_NUM(t->SessionList); j++) for (i = 0; i < LIST_NUM(t->SessionList); i++)
{ {
L2TP_SESSION* s = LIST_DATA(t->SessionList, j); L2TP_SESSION* s = LIST_DATA(t->SessionList, i);
if (s->TubeRecv != NULL && s->TubeRecv->DataTimeout > l2tpTimeout) if (s->TubeRecv != NULL && s->TubeRecv->DataTimeout > l2tpTimeout)
{ {
+15 -18
View File
@@ -5740,6 +5740,7 @@ bool ServerDownloadSignature(CONNECTION *c, char **error_detail_str)
UINT num = 0, max = 19; UINT num = 0, max = 19;
SERVER *server; SERVER *server;
char *vpn_http_target = HTTP_VPN_TARGET2; char *vpn_http_target = HTTP_VPN_TARGET2;
bool disableJsonRpcWebApi;
// Validate arguments // Validate arguments
if (c == NULL) if (c == NULL)
{ {
@@ -5750,6 +5751,15 @@ bool ServerDownloadSignature(CONNECTION *c, char **error_detail_str)
s = c->FirstSock; s = c->FirstSock;
disableJsonRpcWebApi = server->DisableJsonRpcWebApi;
if (!disableJsonRpcWebApi && !IsZeroIP(&server->JsonRpcWebApiAllowedSubnetAddr)
&& !IsZeroIP(&server->JsonRpcWebApiAllowedSubnetMask)) {
// restrict JSON-RPC Web API to specified subnet only
if (!IsInSameNetwork(&s->RemoteIP, &server->JsonRpcWebApiAllowedSubnetAddr, &server->JsonRpcWebApiAllowedSubnetMask)) {
disableJsonRpcWebApi = true;
}
}
while (true) while (true)
{ {
bool not_found_error = false; bool not_found_error = false;
@@ -5782,7 +5792,7 @@ bool ServerDownloadSignature(CONNECTION *c, char **error_detail_str)
// Receive the data since it's POST // Receive the data since it's POST
data_size = GetContentLength(h); data_size = GetContentLength(h);
if (server->DisableJsonRpcWebApi == false) if (disableJsonRpcWebApi == false)
{ {
if (StrCmpi(h->Target, "/api") == 0 || StrCmpi(h->Target, "/api/") == 0) if (StrCmpi(h->Target, "/api") == 0 || StrCmpi(h->Target, "/api/") == 0)
{ {
@@ -5868,7 +5878,7 @@ bool ServerDownloadSignature(CONNECTION *c, char **error_detail_str)
} }
else if (StrCmpi(h->Method, "OPTIONS") == 0) else if (StrCmpi(h->Method, "OPTIONS") == 0)
{ {
if (server->DisableJsonRpcWebApi == false) if (disableJsonRpcWebApi == false)
{ {
if (StrCmpi(h->Target, "/api") == 0 || StrCmpi(h->Target, "/api/") == 0 || StartWith(h->Target, "/admin")) if (StrCmpi(h->Target, "/api") == 0 || StrCmpi(h->Target, "/api/") == 0 || StartWith(h->Target, "/admin"))
{ {
@@ -5939,7 +5949,7 @@ bool ServerDownloadSignature(CONNECTION *c, char **error_detail_str)
BUF *b = NULL; BUF *b = NULL;
*error_detail_str = "HTTP_ROOT"; *error_detail_str = "HTTP_ROOT";
if (server->DisableJsonRpcWebApi == false) if (disableJsonRpcWebApi == false)
{ {
b = ReadDump("|wwwroot/index.html"); b = ReadDump("|wwwroot/index.html");
} }
@@ -6019,7 +6029,7 @@ bool ServerDownloadSignature(CONNECTION *c, char **error_detail_str)
if (b == false) if (b == false)
{ {
if (server->DisableJsonRpcWebApi == false) if (disableJsonRpcWebApi == false)
{ {
if (StartWith(h->Target, "/api?") || StartWith(h->Target, "/api/") || StrCmpi(h->Target, "/api") == 0) if (StartWith(h->Target, "/api?") || StartWith(h->Target, "/api/") || StrCmpi(h->Target, "/api") == 0)
{ {
@@ -6773,6 +6783,7 @@ PACK *PackLoginWithOpenVPNCertificate(char *hubname, char *username, X *x)
p = NewPack(); p = NewPack();
PackAddStr(p, "method", "login"); PackAddStr(p, "method", "login");
PackAddStr(p, "hubname", hubname);
if (IsEmptyStr(username)) if (IsEmptyStr(username))
{ {
@@ -6781,26 +6792,12 @@ PACK *PackLoginWithOpenVPNCertificate(char *hubname, char *username, X *x)
FreePack(p); FreePack(p);
return NULL; return NULL;
} }
UniToStr(cn_username, sizeof(cn_username), x->subject_name->CommonName); UniToStr(cn_username, sizeof(cn_username), x->subject_name->CommonName);
if (strchr(cn_username, '@') != NULL)
{
PackAddStr(p, "username", strtok(cn_username, "@"));
PackAddStr(p, "hubname", strtok(NULL, ""));
}
else
{
PackAddStr(p, "username", cn_username); PackAddStr(p, "username", cn_username);
PackAddStr(p, "hubname", hubname);
}
} }
else else
{ {
PackAddStr(p, "username", username); PackAddStr(p, "username", username);
PackAddStr(p, "hubname", hubname);
} }
PackAddInt(p, "authtype", AUTHTYPE_OPENVPN_CERT); PackAddInt(p, "authtype", AUTHTYPE_OPENVPN_CERT);
+15
View File
@@ -30,6 +30,7 @@
#include "Mayaqua/Internat.h" #include "Mayaqua/Internat.h"
#include "Mayaqua/Memory.h" #include "Mayaqua/Memory.h"
#include "Mayaqua/Microsoft.h" #include "Mayaqua/Microsoft.h"
#include "Mayaqua/Network.h"
#include "Mayaqua/Object.h" #include "Mayaqua/Object.h"
#include "Mayaqua/OS.h" #include "Mayaqua/OS.h"
#include "Mayaqua/Pack.h" #include "Mayaqua/Pack.h"
@@ -6032,6 +6033,15 @@ void SiLoadServerCfg(SERVER *s, FOLDER *f)
// Disable JSON-RPC Web API // Disable JSON-RPC Web API
s->DisableJsonRpcWebApi = CfgGetBool(f, "DisableJsonRpcWebApi"); s->DisableJsonRpcWebApi = CfgGetBool(f, "DisableJsonRpcWebApi");
char tmpaddr[MAX_PATH];
if (CfgGetStr(f, "JsonRpcWebApiAllowedSubnet", tmpaddr, sizeof(tmpaddr))) {
IP _subnet, _mask;
if (ParseIpAndMask46(tmpaddr, &_subnet, &_mask)) {
s->JsonRpcWebApiAllowedSubnetAddr = _subnet;
s->JsonRpcWebApiAllowedSubnetMask = _mask;
}
}
// Bits of Diffie-Hellman parameters // Bits of Diffie-Hellman parameters
c->DhParamBits = CfgGetInt(f, "DhParamBits"); c->DhParamBits = CfgGetInt(f, "DhParamBits");
if (c->DhParamBits == 0) if (c->DhParamBits == 0)
@@ -6365,6 +6375,11 @@ void SiWriteServerCfg(FOLDER *f, SERVER *s)
// Disable JSON-RPC Web API // Disable JSON-RPC Web API
CfgAddBool(f, "DisableJsonRpcWebApi", s->DisableJsonRpcWebApi); CfgAddBool(f, "DisableJsonRpcWebApi", s->DisableJsonRpcWebApi);
char tmpaddr[MAX_PATH];
IPAndMaskToStr(tmpaddr, sizeof(tmpaddr),
&s->JsonRpcWebApiAllowedSubnetAddr, &s->JsonRpcWebApiAllowedSubnetMask);
CfgAddStr(f, "JsonRpcWebApiAllowedSubnet", tmpaddr);
} }
Unlock(c->lock); Unlock(c->lock);
} }
+3
View File
@@ -276,6 +276,9 @@ struct SERVER
IP ListenIP; // Listen IP IP ListenIP; // Listen IP
bool StrictSyslogDatetimeFormat; // Make syslog datetime format strict RFC3164 bool StrictSyslogDatetimeFormat; // Make syslog datetime format strict RFC3164
bool DisableJsonRpcWebApi; // Disable JSON-RPC Web API bool DisableJsonRpcWebApi; // Disable JSON-RPC Web API
IP JsonRpcWebApiAllowedSubnetAddr; // If set, allow access to JSON-RPC Web API from
IP JsonRpcWebApiAllowedSubnetMask; // this subnet only
}; };
+9 -54
View File
@@ -9340,48 +9340,20 @@ UINT ServeDhcpDiscoverEx(VH *v, UCHAR *mac, UINT request_ip, bool is_static_ip)
return 0; return 0;
} }
UINT ret = 0;
DHCP_LEASE *d = SearchDhcpLeaseByIp(v, request_ip); DHCP_LEASE *d = SearchDhcpLeaseByIp(v, request_ip);
if (d != NULL) if (d != NULL)
{ {
// If an entry for the same IP address already exists, // The requested IP address is used already
// check whether it is a request from the same MAC address return 0;
if (Cmp(mac, d->MacAddress, 6) == 0)
{
// Examine whether the specified IP address is within the range of static assignment
if (Endian32(v->DhcpIpStart) > Endian32(request_ip) ||
Endian32(request_ip) > Endian32(v->DhcpIpEnd))
{
// Accept if within the range of static assignment
ret = request_ip;
}
}
else {
// Duplicated IPV4 address found. The specified IP address is not available for use
char ipstr[MAX_HOST_NAME_LEN + 1] = { 0 };
char macstr[128] = { 0 };
IPToStr32(ipstr, sizeof(ipstr), request_ip);
MacToStr(macstr, sizeof(macstr), d->MacAddress);
Debug("Virtual DHC Server: Duplicated IP address detected. Static IP: %s, with the MAC: %s\n", ipstr, macstr);
}
}
else
{
// Examine whether the specified IP address is within the range of static assignment
if (Endian32(v->DhcpIpStart) > Endian32(request_ip) ||
Endian32(request_ip) > Endian32(v->DhcpIpEnd))
{
// Accept if within the range of static assignment
ret = request_ip;
}
else
{
// The specified IP address is not available for use
}
} }
return ret; // For static IP, the requested IP address must NOT be within the range of the DHCP pool
if (Endian32(request_ip) < Endian32(v->DhcpIpStart) || Endian32(request_ip) > Endian32(v->DhcpIpEnd))
{
return request_ip;
}
return 0;
} }
// Take an appropriate IP addresses that can be assigned newly // Take an appropriate IP addresses that can be assigned newly
@@ -9568,11 +9540,6 @@ void VirtualDhcpServer(VH *v, PKT *p)
{ {
ip = ServeDhcpRequestEx(v, p->MacAddressSrc, opt->RequestedIp, ip_static); ip = ServeDhcpRequestEx(v, p->MacAddressSrc, opt->RequestedIp, ip_static);
} }
// If the IP address in user's note is changed, then reply to DHCP_REQUEST with DHCP_NAK
if (p->L3.IPv4Header->SrcIP && ip != p->L3.IPv4Header->SrcIP)
{
ip = 0;
}
} }
if (ip != 0 || opt->Opcode == DHCP_INFORM) if (ip != 0 || opt->Opcode == DHCP_INFORM)
@@ -9585,14 +9552,6 @@ void VirtualDhcpServer(VH *v, PKT *p)
char client_mac[MAX_SIZE]; char client_mac[MAX_SIZE];
char client_ip[MAX_SIZE]; char client_ip[MAX_SIZE];
// If there is any entry with the same MAC address, then remove it
d = SearchDhcpLeaseByMac(v, p->MacAddressSrc);
if (d != NULL)
{
FreeDhcpLease(d);
Delete(v->DhcpLeaseList, d);
}
// Remove old records with the same IP address // Remove old records with the same IP address
d = SearchDhcpLeaseByIp(v, ip); d = SearchDhcpLeaseByIp(v, ip);
if (d != NULL) if (d != NULL)
@@ -9750,9 +9709,6 @@ void VirtualDhcpServer(VH *v, PKT *p)
} }
} }
else else
{
// Reply of DHCP_REQUEST must be either DHCP_ACK or DHCP_NAK
if (opt->Opcode == DHCP_REQUEST)
{ {
// There is no IP address that can be provided // There is no IP address that can be provided
DHCP_OPTION_LIST ret; DHCP_OPTION_LIST ret;
@@ -9787,7 +9743,6 @@ void VirtualDhcpServer(VH *v, PKT *p)
} }
} }
} }
}
// Release the memory // Release the memory
Free(opt); Free(opt);
-2
View File
@@ -1,2 +0,0 @@
set(oqs_FOUND TRUE)
add_library(OQS::oqs ALIAS oqs)
-16
View File
@@ -18,22 +18,6 @@ set_target_properties(mayaqua
find_package(OpenSSL REQUIRED) find_package(OpenSSL REQUIRED)
if(OPENSSL_VERSION VERSION_LESS "3") # Disable oqsprovider when OpenSSL version < 3
add_definitions(-DSKIP_OQS_PROVIDER)
else()
set(OQS_BUILD_ONLY_LIB ON CACHE BOOL "Set liboqs to build only the library (no tests)")
set(BUILD_TESTING OFF CACHE BOOL "By setting this to OFF, no tests or examples will be compiled.")
set(OQS_PROVIDER_BUILD_STATIC ON CACHE BOOL "Build a static library instead of a shared library") # Build oqsprovider as a static library (defaults to shared)
list(PREPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/src/Mayaqua/3rdparty/")
add_subdirectory(3rdparty/liboqs)
add_subdirectory(3rdparty/oqs-provider)
target_include_directories(oqsprovider PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/3rdparty/liboqs/include)
set_property(TARGET oqsprovider PROPERTY POSITION_INDEPENDENT_CODE ON)
target_link_libraries(mayaqua PRIVATE oqsprovider)
endif()
include(CheckSymbolExists) include(CheckSymbolExists)
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
-30
View File
@@ -20,9 +20,7 @@
#include <openssl/ssl.h> #include <openssl/ssl.h>
#include <openssl/err.h> #include <openssl/err.h>
#include <openssl/rand.h> #include <openssl/rand.h>
#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h> #include <openssl/engine.h>
#endif
#include <openssl/bio.h> #include <openssl/bio.h>
#include <openssl/x509.h> #include <openssl/x509.h>
#include <openssl/pkcs7.h> #include <openssl/pkcs7.h>
@@ -42,10 +40,6 @@
#include <openssl/x509v3.h> #include <openssl/x509v3.h>
#if OPENSSL_VERSION_NUMBER >= 0x30000000L #if OPENSSL_VERSION_NUMBER >= 0x30000000L
#include <openssl/provider.h> #include <openssl/provider.h>
// Static oqsprovider initialization function
#ifndef SKIP_OQS_PROVIDER
extern OSSL_provider_init_fn oqs_provider_init;
#endif
#endif #endif
#ifdef _MSC_VER #ifdef _MSC_VER
@@ -94,7 +88,6 @@ int ssl_clientcert_index = 0;
#if OPENSSL_VERSION_NUMBER >= 0x30000000L #if OPENSSL_VERSION_NUMBER >= 0x30000000L
static OSSL_PROVIDER *ossl_provider_legacy = NULL; static OSSL_PROVIDER *ossl_provider_legacy = NULL;
static OSSL_PROVIDER *ossl_provider_default = NULL; static OSSL_PROVIDER *ossl_provider_default = NULL;
static OSSL_PROVIDER *ossl_provider_oqsprovider = NULL;
#endif #endif
LOCK **ssl_lock_obj = NULL; LOCK **ssl_lock_obj = NULL;
@@ -351,11 +344,6 @@ MD *NewMdEx(char *name, bool hmac)
#else #else
m->Ctx = EVP_MD_CTX_create(); m->Ctx = EVP_MD_CTX_create();
#endif #endif
if (m->Ctx == NULL)
{
return NULL;
}
if (EVP_DigestInit_ex(m->Ctx, m->Md, NULL) == false) if (EVP_DigestInit_ex(m->Ctx, m->Md, NULL) == false)
{ {
Debug("NewMdEx(): EVP_DigestInit_ex() failed with error: %s\n", OpenSSL_Error()); Debug("NewMdEx(): EVP_DigestInit_ex() failed with error: %s\n", OpenSSL_Error());
@@ -3986,12 +3974,6 @@ void FreeCryptLibrary()
OSSL_PROVIDER_unload(ossl_provider_legacy); OSSL_PROVIDER_unload(ossl_provider_legacy);
ossl_provider_legacy = NULL; ossl_provider_legacy = NULL;
} }
if (ossl_provider_oqsprovider != NULL)
{
OSSL_PROVIDER_unload(ossl_provider_oqsprovider);
ossl_provider_oqsprovider = NULL;
}
#endif #endif
} }
@@ -4014,13 +3996,6 @@ void InitCryptLibrary()
#if OPENSSL_VERSION_NUMBER >= 0x30000000L #if OPENSSL_VERSION_NUMBER >= 0x30000000L
ossl_provider_default = OSSL_PROVIDER_load(NULL, "legacy"); ossl_provider_default = OSSL_PROVIDER_load(NULL, "legacy");
ossl_provider_legacy = OSSL_PROVIDER_load(NULL, "default"); ossl_provider_legacy = OSSL_PROVIDER_load(NULL, "default");
char *oqs_provider_name = "oqsprovider";
#ifndef SKIP_OQS_PROVIDER
// Registers "oqsprovider" as a provider -- necessary because oqsprovider is built in now.
OSSL_PROVIDER_add_builtin(NULL, oqs_provider_name, oqs_provider_init);
#endif
ossl_provider_oqsprovider = OSSL_PROVIDER_load(NULL, oqs_provider_name);
#endif #endif
ssl_clientcert_index = SSL_get_ex_new_index(0, "struct SslClientCertInfo *", NULL, NULL, NULL); ssl_clientcert_index = SSL_get_ex_new_index(0, "struct SslClientCertInfo *", NULL, NULL, NULL);
@@ -4609,11 +4584,6 @@ DH_CTX *DhNew(char *prime, UINT g)
dh = ZeroMalloc(sizeof(DH_CTX)); dh = ZeroMalloc(sizeof(DH_CTX));
dh->dh = DH_new(); dh->dh = DH_new();
if (dh->dh == NULL)
{
return NULL;
}
#if OPENSSL_VERSION_NUMBER >= 0x10100000L #if OPENSSL_VERSION_NUMBER >= 0x10100000L
dhp = BinToBigNum(buf->Buf, buf->Size); dhp = BinToBigNum(buf->Buf, buf->Size);
dhg = BN_new(); dhg = BN_new();
-1
View File
@@ -2568,7 +2568,6 @@ MS_ADAPTER_LIST *MsCreateAdapterListInnerExVista(bool no_info)
UniStrCpy(a->TitleW, sizeof(a->TitleW), title); UniStrCpy(a->TitleW, sizeof(a->TitleW), title);
UniToStr(a->Title, sizeof(a->Title), title); UniToStr(a->Title, sizeof(a->Title), title);
a->Index = r->InterfaceIndex; a->Index = r->InterfaceIndex;
a->MediaConnectState = r->MediaConnectState;
a->Type = r->Type; a->Type = r->Type;
a->Status = ConvertMidStatusVistaToXp(r->OperStatus); a->Status = ConvertMidStatusVistaToXp(r->OperStatus);
a->Mtu = r->Mtu; a->Mtu = r->Mtu;
-1
View File
@@ -281,7 +281,6 @@ typedef struct MS_ADAPTER
char Title[MAX_PATH]; // Display name char Title[MAX_PATH]; // Display name
wchar_t TitleW[MAX_PATH]; // Display Name (Unicode) wchar_t TitleW[MAX_PATH]; // Display Name (Unicode)
UINT Index; // Index UINT Index; // Index
UINT MediaConnectState; // Media Connect State
UINT Type; // Type UINT Type; // Type
UINT Status; // Status UINT Status; // Status
UINT Mtu; // MTU UINT Mtu; // MTU
+20 -77
View File
@@ -540,13 +540,6 @@ LIST *Win32GetNicList()
if (a->Type == 6 && a->AddressSize == 6) if (a->Type == 6 && a->AddressSize == 6)
{ {
// If the connection state of the interface is unknown, then exclude it.
// Unknown means that the device is not plugged into the local host.
if (a->MediaConnectState == MediaConnectStateUnknown)
{
continue;
}
NIC_ENTRY *e = ZeroMalloc(sizeof(NIC_ENTRY)); NIC_ENTRY *e = ZeroMalloc(sizeof(NIC_ENTRY));
StrCpy(e->IfName, sizeof(e->IfName), a->Title); StrCpy(e->IfName, sizeof(e->IfName), a->Title);
@@ -6993,6 +6986,18 @@ void IPToStr6Inner(char *str, IP *ip)
} }
} }
// Format IP and subnet mask as "<ip>/<masksize>"
void IPAndMaskToStr(char *str, UINT size, IP *ip, IP *subnet)
{
int iplen;
UINT masksize;
IPToStr(str, size, ip);
iplen = StrLen(str);
masksize = SubnetMaskToInt(subnet);
Format(str + iplen, size - iplen, "/%d", masksize);
}
// Convert the string to an IP address // Convert the string to an IP address
bool StrToIP6(IP *ip, char *str) bool StrToIP6(IP *ip, char *str)
{ {
@@ -11860,12 +11865,6 @@ bool StartSSLEx3(SOCK *sock, X *x, K *priv, LIST *chain, UINT ssl_timeout, char
#endif #endif
sock->ssl = SSL_new(ssl_ctx); sock->ssl = SSL_new(ssl_ctx);
if (sock->ssl == NULL)
{
return false;
}
SSL_set_fd(sock->ssl, (int)sock->socket); SSL_set_fd(sock->ssl, (int)sock->socket);
#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME #ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
@@ -11911,10 +11910,6 @@ bool StartSSLEx3(SOCK *sock, X *x, K *priv, LIST *chain, UINT ssl_timeout, char
Unlock(openssl_lock); Unlock(openssl_lock);
} }
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
SSL_set1_groups_list(sock->ssl, PQ_GROUP_LIST);
#endif
if (sock->ServerMode) if (sock->ServerMode)
{ {
// Lock(ssl_connect_lock); // Lock(ssl_connect_lock);
@@ -12295,15 +12290,9 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
Debug("%s %u SecureRecv() Disconnect\n", __FILE__, __LINE__); Debug("%s %u SecureRecv() Disconnect\n", __FILE__, __LINE__);
return 0; return 0;
} }
ERR_clear_error();
ret = SSL_peek(ssl, &c, sizeof(c)); ret = SSL_peek(ssl, &c, sizeof(c));
} }
Unlock(sock->ssl_lock); Unlock(sock->ssl_lock);
#if OPENSSL_VERSION_NUMBER < 0x30000000L
// 2021/09/10: After OpenSSL 3.x.x, both 0 and negative values might mean retryable.
// See: https://github.com/openssl/openssl/blob/435981cbadad2c58c35bacd30ca5d8b4c9bea72f/doc/man3/SSL_read.pod
// > Old documentation indicated a difference between 0 and -1, and that -1 was retryable.
// > You should instead call SSL_get_error() to find out if it's retryable.
if (ret == 0) if (ret == 0)
{ {
// The communication have been disconnected // The communication have been disconnected
@@ -12311,8 +12300,7 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
Debug("%s %u SecureRecv() Disconnect\n", __FILE__, __LINE__); Debug("%s %u SecureRecv() Disconnect\n", __FILE__, __LINE__);
return 0; return 0;
} }
#endif if (ret < 0)
if (ret <= 0)
{ {
// An error has occurred // An error has occurred
e = SSL_get_error(ssl, ret); e = SSL_get_error(ssl, ret);
@@ -12327,11 +12315,7 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
#endif #endif
) )
{ {
UINT ssl_err_no; Debug("%s %u SSL Fatal Error on ASYNC socket !!!\n", __FILE__, __LINE__);
while (ssl_err_no = ERR_get_error()){
Debug("%s %u SSL_ERROR_SSL on ASYNC socket !!! ssl_err_no = %u: '%s'\n", __FILE__, __LINE__, ssl_err_no, ERR_error_string(ssl_err_no, NULL));
};
Disconnect(sock); Disconnect(sock);
return 0; return 0;
} }
@@ -12363,7 +12347,6 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
ttparam = NewSocketTimeout(sock); ttparam = NewSocketTimeout(sock);
#endif // UNIX_SOLARIS #endif // UNIX_SOLARIS
ERR_clear_error();
ret = SSL_read(ssl, data, size); ret = SSL_read(ssl, data, size);
// Stop the timeout thread // Stop the timeout thread
@@ -12379,11 +12362,7 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
} }
#endif // OS_UNIX #endif // OS_UNIX
#if OPENSSL_VERSION_NUMBER < 0x30000000L if (ret < 0)
if (ret < 0) // OpenSSL version < 3.0.0
#else
if (ret <= 0) // OpenSSL version >= 3.0.0
#endif
{ {
e = SSL_get_error(ssl, ret); e = SSL_get_error(ssl, ret);
} }
@@ -12406,12 +12385,6 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
return (UINT)ret; return (UINT)ret;
} }
#if OPENSSL_VERSION_NUMBER < 0x30000000L
// 2021/09/10: After OpenSSL 3.x.x, both 0 and negative values might mean retryable.
// See: https://github.com/openssl/openssl/blob/435981cbadad2c58c35bacd30ca5d8b4c9bea72f/doc/man3/SSL_read.pod
// > Old documentation indicated a difference between 0 and -1, and that -1 was retryable.
// > You should instead call SSL_get_error() to find out if it's retryable.
if (ret == 0) if (ret == 0)
{ {
// Disconnect the communication // Disconnect the communication
@@ -12419,8 +12392,6 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
//Debug("%s %u SecureRecv() Disconnect\n", __FILE__, __LINE__); //Debug("%s %u SecureRecv() Disconnect\n", __FILE__, __LINE__);
return 0; return 0;
} }
#endif
if (sock->AsyncMode) if (sock->AsyncMode)
{ {
if (e == SSL_ERROR_WANT_READ || e == SSL_ERROR_WANT_WRITE || e == SSL_ERROR_SSL) if (e == SSL_ERROR_WANT_READ || e == SSL_ERROR_WANT_WRITE || e == SSL_ERROR_SSL)
@@ -12434,11 +12405,7 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
#endif #endif
) )
{ {
UINT ssl_err_no; Debug("%s %u SSL Fatal Error on ASYNC socket !!!\n", __FILE__, __LINE__);
while (ssl_err_no = ERR_get_error()) {
Debug("%s %u SSL_ERROR_SSL on ASYNC socket !!! ssl_err_no = %u: '%s'\n", __FILE__, __LINE__, ssl_err_no, ERR_error_string(ssl_err_no, NULL));
};
Disconnect(sock); Disconnect(sock);
return 0; return 0;
} }
@@ -12447,8 +12414,8 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
return SOCK_LATER; return SOCK_LATER;
} }
} }
Debug("%s %u e=%u SecureRecv() Disconnect\n", __FILE__, __LINE__, e);
Disconnect(sock); Disconnect(sock);
Debug("%s %u SecureRecv() Disconnect\n", __FILE__, __LINE__);
return 0; return 0;
} }
@@ -12475,13 +12442,8 @@ UINT SecureSend(SOCK *sock, void *data, UINT size)
return 0; return 0;
} }
ERR_clear_error();
ret = SSL_write(ssl, data, size); ret = SSL_write(ssl, data, size);
#if OPENSSL_VERSION_NUMBER < 0x30000000L if (ret < 0)
if (ret < 0) // OpenSSL version < 3.0.0
#else
if (ret <= 0) // OpenSSL version >= 3.0.0
#endif
{ {
e = SSL_get_error(ssl, ret); e = SSL_get_error(ssl, ret);
} }
@@ -12503,8 +12465,6 @@ UINT SecureSend(SOCK *sock, void *data, UINT size)
sock->WriteBlocked = false; sock->WriteBlocked = false;
return (UINT)ret; return (UINT)ret;
} }
#if OPENSSL_VERSION_NUMBER < 0x30000000L
if (ret == 0) if (ret == 0)
{ {
// Disconnect // Disconnect
@@ -12512,29 +12472,18 @@ UINT SecureSend(SOCK *sock, void *data, UINT size)
Disconnect(sock); Disconnect(sock);
return 0; return 0;
} }
#endif
if (sock->AsyncMode) if (sock->AsyncMode)
{ {
// Confirmation of the error value // Confirmation of the error value
if (e == SSL_ERROR_WANT_READ || e == SSL_ERROR_WANT_WRITE || e == SSL_ERROR_SSL) if (e == SSL_ERROR_WANT_READ || e == SSL_ERROR_WANT_WRITE || e == SSL_ERROR_SSL)
{ {
if (e == SSL_ERROR_SSL)
{
UINT ssl_err_no;
while (ssl_err_no = ERR_get_error()) {
Debug("%s %u SSL_ERROR_SSL on ASYNC socket !!! ssl_err_no = %u: '%s'\n", __FILE__, __LINE__, ssl_err_no, ERR_error_string(ssl_err_no, NULL));
};
Disconnect(sock);
return 0;
}
sock->WriteBlocked = true; sock->WriteBlocked = true;
return SOCK_LATER; return SOCK_LATER;
} }
Debug("%s %u e=%u\n", __FILE__, __LINE__, e);
} }
Debug("%s %u e=%u SecureSend() Disconnect\n", __FILE__, __LINE__, e); //Debug("%s %u SecureSend() Disconnect\n", __FILE__, __LINE__);
Disconnect(sock); Disconnect(sock);
return 0; return 0;
} }
@@ -16256,12 +16205,6 @@ UINT GetOSSecurityLevel()
UINT security_level_new = 0, security_level_set_ssl_version = 0; UINT security_level_new = 0, security_level_set_ssl_version = 0;
struct ssl_ctx_st *ctx = SSL_CTX_new(SSLv23_method()); struct ssl_ctx_st *ctx = SSL_CTX_new(SSLv23_method());
if (ctx == NULL)
{
return security_level_new;
}
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) #if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
security_level_new = SSL_CTX_get_security_level(ctx); security_level_new = SSL_CTX_get_security_level(ctx);
#endif #endif
+1 -4
View File
@@ -59,10 +59,6 @@ struct DYN_VALUE
#define DEFAULT_CIPHER_LIST "ECDHE+AESGCM:ECDHE+CHACHA20:DHE+AESGCM:DHE+CHACHA20:ECDHE+AES256:DHE+AES256:RSA+AES" #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"
#endif
// SSL logging function // SSL logging function
//#define ENABLE_SSL_LOGGING //#define ENABLE_SSL_LOGGING
#define SSL_LOGGING_DIRNAME "@ssl_log" #define SSL_LOGGING_DIRNAME "@ssl_log"
@@ -1293,6 +1289,7 @@ void IPToStr6(char *str, UINT size, IP *ip);
void IP6AddrToStr(char *str, UINT size, IPV6_ADDR *addr); void IP6AddrToStr(char *str, UINT size, IPV6_ADDR *addr);
void IPToStr6Array(char *str, UINT size, UCHAR *bytes); void IPToStr6Array(char *str, UINT size, UCHAR *bytes);
void IPToStr6Inner(char *str, IP *ip); void IPToStr6Inner(char *str, IP *ip);
void IPAndMaskToStr(char *str, UINT size, IP *ip, IP *subnet);
void IntToSubnetMask6(IP *ip, UINT i); void IntToSubnetMask6(IP *ip, UINT i);
void IPAnd6(IP *dst, IP *a, IP *b); void IPAnd6(IP *dst, IP *a, IP *b);
void GetAllRouterMulticastAddress6(IP *ip); void GetAllRouterMulticastAddress6(IP *ip);
+2 -5
View File
@@ -4168,7 +4168,6 @@ BUF *DhcpModify(DHCP_MODIFY_OPTION *m, void *data, UINT size)
LIST *opt_list2 = NULL; LIST *opt_list2 = NULL;
UINT src_size = size; UINT src_size = size;
UINT i; UINT i;
UINT dhcp_min_size;
// Validate arguments // Validate arguments
if (m == NULL || data == NULL || size == 0) if (m == NULL || data == NULL || size == 0)
{ {
@@ -4271,13 +4270,11 @@ BUF *DhcpModify(DHCP_MODIFY_OPTION *m, void *data, UINT size)
// Rewrite if anything changes. Do not rewrite if there is no change // Rewrite if anything changes. Do not rewrite if there is no change
ret_ok = true; ret_ok = true;
// If src_size is greater than DHCP_MIN_SIZE, then use the src_size as minimum size of DHCP. if (ret->Size < DHCP_MIN_SIZE)
dhcp_min_size = MAX(src_size, DHCP_MIN_SIZE);
if (ret->Size < dhcp_min_size)
{ {
// Padding // Padding
UCHAR *pad_buf; UCHAR *pad_buf;
UINT pad_size = dhcp_min_size - ret->Size; UINT pad_size = DHCP_MIN_SIZE - ret->Size;
pad_buf = ZeroMalloc(pad_size); pad_buf = ZeroMalloc(pad_size);
+6 -6
View File
@@ -2421,8 +2421,8 @@ STATIC17 Другие конфигурации:
R_NO_ROUTING Не вносить изменения в таблицу маршрутизации R_NO_ROUTING Не вносить изменения в таблицу маршрутизации
STATIC18 Если у вас нет опыта работы с сетью и безопасностью, то оставьте настройки в этом окне по умолчанию. STATIC18 Если у вас нет опыта работы с сетью и безопасностью, то оставьте настройки в этом окне по умолчанию.
STATIC19 Функции VoIP/QoS обрабатывают пакеты (например VoIP) с высоким приоритетом для более быстрой передачи. STATIC19 Функции VoIP/QoS обрабатывают пакеты (например VoIP) с высоким приоритетом для более быстрой передачи.
STATIC20 IP адрес источника: STATIC20 Source IP Address:
STATIC21 Номер порта: STATIC21 Source Port Number:
R_DISABLE_QOS Отключить функции VoIP / QoS R_DISABLE_QOS Отключить функции VoIP / QoS
IDOK &OK IDOK &OK
IDCANCEL Отмена IDCANCEL Отмена
@@ -2524,7 +2524,7 @@ STATIC2 Имя Virtual &Hub:
STATIC3 &Пользователь: STATIC3 &Пользователь:
STATIC4 &Старый пароль: STATIC4 &Старый пароль:
STATIC5 &Новый пароль: STATIC5 &Новый пароль:
STATIC6 &Подтвердить пароль: STATIC6 &Подтвердить новый пароль:
IDOK &OK IDOK &OK
IDCANCEL Отмена IDCANCEL Отмена
S_STATIC Примечание: Вы не сможете изменить пароль пользователя, если выбран тип авторизации "RADIUS или авторизация в домене". S_STATIC Примечание: Вы не сможете изменить пароль пользователя, если выбран тип авторизации "RADIUS или авторизация в домене".
@@ -2558,9 +2558,9 @@ STATIC8 Прокси-сервер:
STATIC9 Вы можете подключиться к VPN-серверу через прокси-сервер. STATIC9 Вы можете подключиться к VPN-серверу через прокси-сервер.
STATIC10 Тип прокси: STATIC10 Тип прокси:
R_DIRECT_TCP &Прямое TCP/IP соединение (без прокси) R_DIRECT_TCP &Прямое TCP/IP соединение (без прокси)
R_HTTPS Через HTTP прокси-сервер R_HTTPS Подключиться через HTTP прокси-сервер
R_SOCKS Через SOCKS прокси-сервер R_SOCKS Подключиться через SOCKS прокси-сервер
R_SOCKS5 Через SOCKS5 прокси-сервер R_SOCKS5 Подключиться через SOCKS5 прокси-сервер
B_PROXY_CONFIG Настройки прокси-сервера B_PROXY_CONFIG Настройки прокси-сервера
STATIC11 Выберите режим администрирования и введите пароль STATIC11 Выберите режим администрирования и введите пароль
STATIC12 Вы можете подключиться к VPN-серверу, используя либо режим администратора сервера, либо режим Virtual Hub администратора. \r\n\r\nРежим администратора сервера позволяет вам управлять VPN-сервером и всеми Virtual Hub. \r\n\r\nРежим Virtual Hub администратора позволяет вам управлять только одним Virtual Hub, на который у вас есть права. STATIC12 Вы можете подключиться к VPN-серверу, используя либо режим администратора сервера, либо режим Virtual Hub администратора. \r\n\r\nРежим администратора сервера позволяет вам управлять VPN-сервером и всеми Virtual Hub. \r\n\r\nРежим Virtual Hub администратора позволяет вам управлять только одним Virtual Hub, на который у вас есть права.
+98 -98
View File
@@ -216,8 +216,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
<li><a href="#getspeciallistener">GetSpecialListener - Get Current Setting of the VPN over ICMP / VPN over DNS Function</a></li> <li><a href="#getspeciallistener">GetSpecialListener - Get Current Setting of the VPN over ICMP / VPN over DNS Function</a></li>
<li><a href="#getazurestatus">GetAzureStatus - Show the current status of VPN Azure function</a></li> <li><a href="#getazurestatus">GetAzureStatus - Show the current status of VPN Azure function</a></li>
<li><a href="#setazurestatus">SetAzureStatus - Enable / Disable VPN Azure Function</a></li> <li><a href="#setazurestatus">SetAzureStatus - Enable / Disable VPN Azure Function</a></li>
<li><a href="#getddnsinternetsetting">GetDDnsInternetSetting - Get the Proxy Settings for Connecting to the DDNS server</a></li> <li><a href="#getddnsinternetsettng">GetDDnsInternetSettng - Get the Proxy Settings for Connecting to the DDNS server</a></li>
<li><a href="#setddnsinternetsetting">SetDDnsInternetSetting - Set the Proxy Settings for Connecting to the DDNS server</a></li> <li><a href="#setddnsinternetsettng">SetDDnsInternetSettng - Set the Proxy Settings for Connecting to the DDNS server</a></li>
<li><a href="#setvgsconfig">SetVgsConfig - Set the VPN Gate Server Configuration</a></li> <li><a href="#setvgsconfig">SetVgsConfig - Set the VPN Gate Server Configuration</a></li>
<li><a href="#getvgsconfig">GetVgsConfig - Get the VPN Gate Server Configuration</a></li> <li><a href="#getvgsconfig">GetVgsConfig - Get the VPN Gate Server Configuration</a></li>
</ul> </ul>
@@ -305,7 +305,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;ServerBuildInt_u32&quot;: 0, &quot;ServerBuildInt_u32&quot;: 0,
&quot;ServerHostName_str&quot;: &quot;serverhostname&quot;, &quot;ServerHostName_str&quot;: &quot;serverhostname&quot;,
&quot;ServerType_u32&quot;: 0, &quot;ServerType_u32&quot;: 0,
&quot;ServerBuildDate_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ServerBuildDate_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ServerFamilyName_str&quot;: &quot;serverfamilyname&quot;, &quot;ServerFamilyName_str&quot;: &quot;serverfamilyname&quot;,
&quot;OsType_u32&quot;: 0, &quot;OsType_u32&quot;: 0,
&quot;OsServicePack_u32&quot;: 0, &quot;OsServicePack_u32&quot;: 0,
@@ -460,9 +460,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Send.BroadcastCount_u64&quot;: 0, &quot;Send.BroadcastCount_u64&quot;: 0,
&quot;Send.UnicastBytes_u64&quot;: 0, &quot;Send.UnicastBytes_u64&quot;: 0,
&quot;Send.UnicastCount_u64&quot;: 0, &quot;Send.UnicastCount_u64&quot;: 0,
&quot;CurrentTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CurrentTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CurrentTick_u64&quot;: 0, &quot;CurrentTick_u64&quot;: 0,
&quot;StartTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;TotalMemory_u64&quot;: 0, &quot;TotalMemory_u64&quot;: 0,
&quot;UsedMemory_u64&quot;: 0, &quot;UsedMemory_u64&quot;: 0,
&quot;FreeMemory_u64&quot;: 0, &quot;FreeMemory_u64&quot;: 0,
@@ -1136,7 +1136,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;result&quot;: { &quot;result&quot;: {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;Controller_bool&quot;: false, &quot;Controller_bool&quot;: false,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Point_u32&quot;: 0, &quot;Point_u32&quot;: 0,
@@ -1283,7 +1283,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;Controller_bool&quot;: false, &quot;Controller_bool&quot;: false,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Point_u32&quot;: 0, &quot;Point_u32&quot;: 0,
@@ -1296,7 +1296,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;Controller_bool&quot;: false, &quot;Controller_bool&quot;: false,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Point_u32&quot;: 0, &quot;Point_u32&quot;: 0,
@@ -1309,7 +1309,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;Controller_bool&quot;: false, &quot;Controller_bool&quot;: false,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Point_u32&quot;: 0, &quot;Point_u32&quot;: 0,
@@ -1422,9 +1422,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Port_u32&quot;: 0, &quot;Port_u32&quot;: 0,
&quot;Online_bool&quot;: false, &quot;Online_bool&quot;: false,
&quot;LastError_u32&quot;: 0, &quot;LastError_u32&quot;: 0,
&quot;StartedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;StartedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;FirstConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;FirstConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CurrentConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CurrentConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumTry_u32&quot;: 0, &quot;NumTry_u32&quot;: 0,
&quot;NumConnected_u32&quot;: 0, &quot;NumConnected_u32&quot;: 0,
&quot;NumFailed_u32&quot;: 0 &quot;NumFailed_u32&quot;: 0
@@ -1918,9 +1918,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;NumSessions_u32&quot;: 0, &quot;NumSessions_u32&quot;: 0,
&quot;NumMacTables_u32&quot;: 0, &quot;NumMacTables_u32&quot;: 0,
&quot;NumIpTables_u32&quot;: 0, &quot;NumIpTables_u32&quot;: 0,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
@@ -1941,9 +1941,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;NumSessions_u32&quot;: 0, &quot;NumSessions_u32&quot;: 0,
&quot;NumMacTables_u32&quot;: 0, &quot;NumMacTables_u32&quot;: 0,
&quot;NumIpTables_u32&quot;: 0, &quot;NumIpTables_u32&quot;: 0,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
@@ -1964,9 +1964,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;NumSessions_u32&quot;: 0, &quot;NumSessions_u32&quot;: 0,
&quot;NumMacTables_u32&quot;: 0, &quot;NumMacTables_u32&quot;: 0,
&quot;NumIpTables_u32&quot;: 0, &quot;NumIpTables_u32&quot;: 0,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
@@ -2309,7 +2309,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Port_u32&quot;: 0, &quot;Port_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Type_u32&quot;: 0 &quot;Type_u32&quot;: 0
}, },
{ {
@@ -2317,7 +2317,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Port_u32&quot;: 0, &quot;Port_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Type_u32&quot;: 0 &quot;Type_u32&quot;: 0
}, },
{ {
@@ -2325,7 +2325,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Port_u32&quot;: 0, &quot;Port_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Type_u32&quot;: 0 &quot;Type_u32&quot;: 0
} }
] ]
@@ -2450,7 +2450,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;Ip_ip&quot;: &quot;192.168.0.1&quot;, &quot;Ip_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Port_u32&quot;: 0, &quot;Port_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ServerStr_str&quot;: &quot;serverstr&quot;, &quot;ServerStr_str&quot;: &quot;serverstr&quot;,
&quot;ServerVer_u32&quot;: 0, &quot;ServerVer_u32&quot;: 0,
&quot;ServerBuild_u32&quot;: 0, &quot;ServerBuild_u32&quot;: 0,
@@ -2620,9 +2620,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Send.UnicastBytes_u64&quot;: 0, &quot;Send.UnicastBytes_u64&quot;: 0,
&quot;Send.UnicastCount_u64&quot;: 0, &quot;Send.UnicastCount_u64&quot;: 0,
&quot;SecureNATEnabled_bool&quot;: false, &quot;SecureNATEnabled_bool&quot;: false,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumLogin_u32&quot;: 0 &quot;NumLogin_u32&quot;: 0
} }
} }
@@ -2992,19 +2992,19 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SubjectName_utf&quot;: &quot;subjectname&quot;, &quot;SubjectName_utf&quot;: &quot;subjectname&quot;,
&quot;IssuerName_utf&quot;: &quot;issuername&quot;, &quot;IssuerName_utf&quot;: &quot;issuername&quot;,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SubjectName_utf&quot;: &quot;subjectname&quot;, &quot;SubjectName_utf&quot;: &quot;subjectname&quot;,
&quot;IssuerName_utf&quot;: &quot;issuername&quot;, &quot;IssuerName_utf&quot;: &quot;issuername&quot;,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SubjectName_utf&quot;: &quot;subjectname&quot;, &quot;SubjectName_utf&quot;: &quot;subjectname&quot;,
&quot;IssuerName_utf&quot;: &quot;issuername&quot;, &quot;IssuerName_utf&quot;: &quot;issuername&quot;,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
} }
] ]
} }
@@ -4348,7 +4348,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Online_bool&quot;: false, &quot;Online_bool&quot;: false,
&quot;Connected_bool&quot;: false, &quot;Connected_bool&quot;: false,
&quot;LastError_u32&quot;: 0, &quot;LastError_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;TargetHubName_str&quot;: &quot;targethubname&quot; &quot;TargetHubName_str&quot;: &quot;targethubname&quot;
}, },
@@ -4357,7 +4357,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Online_bool&quot;: false, &quot;Online_bool&quot;: false,
&quot;Connected_bool&quot;: false, &quot;Connected_bool&quot;: false,
&quot;LastError_u32&quot;: 0, &quot;LastError_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;TargetHubName_str&quot;: &quot;targethubname&quot; &quot;TargetHubName_str&quot;: &quot;targethubname&quot;
}, },
@@ -4366,7 +4366,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Online_bool&quot;: false, &quot;Online_bool&quot;: false,
&quot;Connected_bool&quot;: false, &quot;Connected_bool&quot;: false,
&quot;LastError_u32&quot;: 0, &quot;LastError_u32&quot;: 0,
&quot;ConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Hostname_str&quot;: &quot;hostname&quot;, &quot;Hostname_str&quot;: &quot;hostname&quot;,
&quot;TargetHubName_str&quot;: &quot;targethubname&quot; &quot;TargetHubName_str&quot;: &quot;targethubname&quot;
} }
@@ -4668,9 +4668,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;ServerProductBuild_u32&quot;: 0, &quot;ServerProductBuild_u32&quot;: 0,
&quot;ServerX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;ServerX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;ClientX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;ClientX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;StartTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumConnectionsEatablished_u32&quot;: 0, &quot;NumConnectionsEatablished_u32&quot;: 0,
&quot;HalfConnection_bool&quot;: false, &quot;HalfConnection_bool&quot;: false,
&quot;QoS_bool&quot;: false, &quot;QoS_bool&quot;: false,
@@ -5996,7 +5996,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Name_str&quot;: &quot;name&quot;, &quot;Name_str&quot;: &quot;name&quot;,
&quot;Realname_utf&quot;: &quot;realname&quot;, &quot;Realname_utf&quot;: &quot;realname&quot;,
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;Auth_Password_str&quot;: &quot;auth_password&quot;, &quot;Auth_Password_str&quot;: &quot;auth_password&quot;,
&quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
@@ -6057,9 +6057,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;GroupName_str&quot;: &quot;groupname&quot;, &quot;GroupName_str&quot;: &quot;groupname&quot;,
&quot;Realname_utf&quot;: &quot;realname&quot;, &quot;Realname_utf&quot;: &quot;realname&quot;,
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;Auth_Password_str&quot;: &quot;auth_password&quot;, &quot;Auth_Password_str&quot;: &quot;auth_password&quot;,
&quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
@@ -6467,7 +6467,7 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;GroupName_str&quot;: &quot;groupname&quot;, &quot;GroupName_str&quot;: &quot;groupname&quot;,
&quot;Realname_utf&quot;: &quot;realname&quot;, &quot;Realname_utf&quot;: &quot;realname&quot;,
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;Auth_Password_str&quot;: &quot;auth_password&quot;, &quot;Auth_Password_str&quot;: &quot;auth_password&quot;,
&quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
@@ -6528,9 +6528,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;GroupName_str&quot;: &quot;groupname&quot;, &quot;GroupName_str&quot;: &quot;groupname&quot;,
&quot;Realname_utf&quot;: &quot;realname&quot;, &quot;Realname_utf&quot;: &quot;realname&quot;,
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;Auth_Password_str&quot;: &quot;auth_password&quot;, &quot;Auth_Password_str&quot;: &quot;auth_password&quot;,
&quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
@@ -6948,9 +6948,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;GroupName_str&quot;: &quot;groupname&quot;, &quot;GroupName_str&quot;: &quot;groupname&quot;,
&quot;Realname_utf&quot;: &quot;realname&quot;, &quot;Realname_utf&quot;: &quot;realname&quot;,
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;Auth_Password_str&quot;: &quot;auth_password&quot;, &quot;Auth_Password_str&quot;: &quot;auth_password&quot;,
&quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UserX_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
@@ -7419,11 +7419,11 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;DenyAccess_bool&quot;: false, &quot;DenyAccess_bool&quot;: false,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;IsExpiresFilled_bool&quot;: false, &quot;IsExpiresFilled_bool&quot;: false,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
&quot;Ex.Recv.BroadcastCount_u64&quot;: 0, &quot;Ex.Recv.BroadcastCount_u64&quot;: 0,
&quot;Ex.Recv.UnicastBytes_u64&quot;: 0, &quot;Ex.Recv.UnicastBytes_u64&quot;: 0,
@@ -7440,11 +7440,11 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;DenyAccess_bool&quot;: false, &quot;DenyAccess_bool&quot;: false,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;IsExpiresFilled_bool&quot;: false, &quot;IsExpiresFilled_bool&quot;: false,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
&quot;Ex.Recv.BroadcastCount_u64&quot;: 0, &quot;Ex.Recv.BroadcastCount_u64&quot;: 0,
&quot;Ex.Recv.UnicastBytes_u64&quot;: 0, &quot;Ex.Recv.UnicastBytes_u64&quot;: 0,
@@ -7461,11 +7461,11 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Note_utf&quot;: &quot;note&quot;, &quot;Note_utf&quot;: &quot;note&quot;,
&quot;AuthType_u32&quot;: 0, &quot;AuthType_u32&quot;: 0,
&quot;NumLogin_u32&quot;: 0, &quot;NumLogin_u32&quot;: 0,
&quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;DenyAccess_bool&quot;: false, &quot;DenyAccess_bool&quot;: false,
&quot;IsTrafficFilled_bool&quot;: false, &quot;IsTrafficFilled_bool&quot;: false,
&quot;IsExpiresFilled_bool&quot;: false, &quot;IsExpiresFilled_bool&quot;: false,
&quot;Expires_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;Ex.Recv.BroadcastBytes_u64&quot;: 0, &quot;Ex.Recv.BroadcastBytes_u64&quot;: 0,
&quot;Ex.Recv.BroadcastCount_u64&quot;: 0, &quot;Ex.Recv.BroadcastCount_u64&quot;: 0,
&quot;Ex.Recv.UnicastBytes_u64&quot;: 0, &quot;Ex.Recv.UnicastBytes_u64&quot;: 0,
@@ -8907,8 +8907,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Client_MonitorMode_bool&quot;: false, &quot;Client_MonitorMode_bool&quot;: false,
&quot;VLanId_u32&quot;: 0, &quot;VLanId_u32&quot;: 0,
&quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;Name_str&quot;: &quot;name&quot;, &quot;Name_str&quot;: &quot;name&quot;,
@@ -8929,8 +8929,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Client_MonitorMode_bool&quot;: false, &quot;Client_MonitorMode_bool&quot;: false,
&quot;VLanId_u32&quot;: 0, &quot;VLanId_u32&quot;: 0,
&quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;Name_str&quot;: &quot;name&quot;, &quot;Name_str&quot;: &quot;name&quot;,
@@ -8951,8 +8951,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Client_MonitorMode_bool&quot;: false, &quot;Client_MonitorMode_bool&quot;: false,
&quot;VLanId_u32&quot;: 0, &quot;VLanId_u32&quot;: 0,
&quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;UniqueId_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
} }
] ]
} }
@@ -9117,9 +9117,9 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;ServerProductName_str&quot;: &quot;serverproductname&quot;, &quot;ServerProductName_str&quot;: &quot;serverproductname&quot;,
&quot;ServerProductVer_u32&quot;: 0, &quot;ServerProductVer_u32&quot;: 0,
&quot;ServerProductBuild_u32&quot;: 0, &quot;ServerProductBuild_u32&quot;: 0,
&quot;StartTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;NumConnectionsEatablished_u32&quot;: 0, &quot;NumConnectionsEatablished_u32&quot;: 0,
&quot;HalfConnection_bool&quot;: false, &quot;HalfConnection_bool&quot;: false,
&quot;QoS_bool&quot;: false, &quot;QoS_bool&quot;: false,
@@ -9496,8 +9496,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;, &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;,
&quot;VlanId_u32&quot;: 0 &quot;VlanId_u32&quot;: 0
@@ -9506,8 +9506,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;, &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;,
&quot;VlanId_u32&quot;: 0 &quot;VlanId_u32&quot;: 0
@@ -9516,8 +9516,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;Key_u32&quot;: 0, &quot;Key_u32&quot;: 0,
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;, &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;,
&quot;VlanId_u32&quot;: 0 &quot;VlanId_u32&quot;: 0
@@ -9663,8 +9663,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DhcpAllocated_bool&quot;: false, &quot;DhcpAllocated_bool&quot;: false,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot; &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;
}, },
@@ -9673,8 +9673,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DhcpAllocated_bool&quot;: false, &quot;DhcpAllocated_bool&quot;: false,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot; &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;
}, },
@@ -9683,8 +9683,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;SessionName_str&quot;: &quot;sessionname&quot;, &quot;SessionName_str&quot;: &quot;sessionname&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DhcpAllocated_bool&quot;: false, &quot;DhcpAllocated_bool&quot;: false,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;RemoteItem_bool&quot;: false, &quot;RemoteItem_bool&quot;: false,
&quot;RemoteHostname_str&quot;: &quot;remotehostname&quot; &quot;RemoteHostname_str&quot;: &quot;remotehostname&quot;
} }
@@ -10376,8 +10376,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;, &quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DestHost_str&quot;: &quot;desthost&quot;, &quot;DestHost_str&quot;: &quot;desthost&quot;,
&quot;DestPort_u32&quot;: 0, &quot;DestPort_u32&quot;: 0,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;SendSize_u64&quot;: 0, &quot;SendSize_u64&quot;: 0,
&quot;RecvSize_u64&quot;: 0, &quot;RecvSize_u64&quot;: 0,
&quot;TcpStatus_u32&quot;: 0 &quot;TcpStatus_u32&quot;: 0
@@ -10391,8 +10391,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;, &quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DestHost_str&quot;: &quot;desthost&quot;, &quot;DestHost_str&quot;: &quot;desthost&quot;,
&quot;DestPort_u32&quot;: 0, &quot;DestPort_u32&quot;: 0,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;SendSize_u64&quot;: 0, &quot;SendSize_u64&quot;: 0,
&quot;RecvSize_u64&quot;: 0, &quot;RecvSize_u64&quot;: 0,
&quot;TcpStatus_u32&quot;: 0 &quot;TcpStatus_u32&quot;: 0
@@ -10406,8 +10406,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;, &quot;DestIp_ip&quot;: &quot;192.168.0.1&quot;,
&quot;DestHost_str&quot;: &quot;desthost&quot;, &quot;DestHost_str&quot;: &quot;desthost&quot;,
&quot;DestPort_u32&quot;: 0, &quot;DestPort_u32&quot;: 0,
&quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;SendSize_u64&quot;: 0, &quot;SendSize_u64&quot;: 0,
&quot;RecvSize_u64&quot;: 0, &quot;RecvSize_u64&quot;: 0,
&quot;TcpStatus_u32&quot;: 0 &quot;TcpStatus_u32&quot;: 0
@@ -10527,8 +10527,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;DhcpTable&quot;: [ &quot;DhcpTable&quot;: [
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Mask_u32&quot;: 0, &quot;Mask_u32&quot;: 0,
@@ -10536,8 +10536,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
}, },
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Mask_u32&quot;: 0, &quot;Mask_u32&quot;: 0,
@@ -10545,8 +10545,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
}, },
{ {
&quot;Id_u32&quot;: 0, &quot;Id_u32&quot;: 0,
&quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;,
&quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;, &quot;MacAddress_bin&quot;: &quot;SGVsbG8gV29ybGQ=&quot;,
&quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;, &quot;IpAddress_ip&quot;: &quot;192.168.0.1&quot;,
&quot;Mask_u32&quot;: 0, &quot;Mask_u32&quot;: 0,
@@ -13090,19 +13090,19 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
&quot;ServerName_str&quot;: &quot;servername&quot;, &quot;ServerName_str&quot;: &quot;servername&quot;,
&quot;FilePath_str&quot;: &quot;filepath&quot;, &quot;FilePath_str&quot;: &quot;filepath&quot;,
&quot;FileSize_u32&quot;: 0, &quot;FileSize_u32&quot;: 0,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;ServerName_str&quot;: &quot;servername&quot;, &quot;ServerName_str&quot;: &quot;servername&quot;,
&quot;FilePath_str&quot;: &quot;filepath&quot;, &quot;FilePath_str&quot;: &quot;filepath&quot;,
&quot;FileSize_u32&quot;: 0, &quot;FileSize_u32&quot;: 0,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
}, },
{ {
&quot;ServerName_str&quot;: &quot;servername&quot;, &quot;ServerName_str&quot;: &quot;servername&quot;,
&quot;FilePath_str&quot;: &quot;filepath&quot;, &quot;FilePath_str&quot;: &quot;filepath&quot;,
&quot;FileSize_u32&quot;: 0, &quot;FileSize_u32&quot;: 0,
&quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;
} }
] ]
} }
@@ -14508,15 +14508,15 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
</tbody> </tbody>
</table> </table>
<hr /> <hr />
<p><a id="getddnsinternetsetting"></a></p> <p><a id="getddnsinternetsettng"></a></p>
<h2 id="getddnsinternetsetting-rpc-api-get-the-proxy-settings-for-connecting-to-the-ddns-server">&quot;GetDDnsInternetSetting&quot; RPC API - Get the Proxy Settings for Connecting to the DDNS server</h2> <h2 id="getddnsinternetsettng-rpc-api-get-the-proxy-settings-for-connecting-to-the-ddns-server">&quot;GetDDnsInternetSettng&quot; RPC API - Get the Proxy Settings for Connecting to the DDNS server</h2>
<h3 id="description-131">Description</h3> <h3 id="description-131">Description</h3>
<p>Get the Proxy Settings for Connecting to the DDNS server.</p> <p>Get the Proxy Settings for Connecting to the DDNS server.</p>
<h3 id="input-json-rpc-format-131">Input JSON-RPC Format</h3> <h3 id="input-json-rpc-format-131">Input JSON-RPC Format</h3>
<pre><code class="language-json">{ <pre><code class="language-json">{
&quot;jsonrpc&quot;: &quot;2.0&quot;, &quot;jsonrpc&quot;: &quot;2.0&quot;,
&quot;id&quot;: &quot;rpc_call_id&quot;, &quot;id&quot;: &quot;rpc_call_id&quot;,
&quot;method&quot;: &quot;GetDDnsInternetSetting&quot;, &quot;method&quot;: &quot;GetDDnsInternetSettng&quot;,
&quot;params&quot;: {} &quot;params&quot;: {}
} }
</code></pre> </code></pre>
@@ -14571,15 +14571,15 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
</tbody> </tbody>
</table> </table>
<hr /> <hr />
<p><a id="setddnsinternetsetting"></a></p> <p><a id="setddnsinternetsettng"></a></p>
<h2 id="setddnsinternetsetting-rpc-api-set-the-proxy-settings-for-connecting-to-the-ddns-server">&quot;SetDDnsInternetSetting&quot; RPC API - Set the Proxy Settings for Connecting to the DDNS server</h2> <h2 id="setddnsinternetsettng-rpc-api-set-the-proxy-settings-for-connecting-to-the-ddns-server">&quot;SetDDnsInternetSettng&quot; RPC API - Set the Proxy Settings for Connecting to the DDNS server</h2>
<h3 id="description-132">Description</h3> <h3 id="description-132">Description</h3>
<p>Set the Proxy Settings for Connecting to the DDNS server.</p> <p>Set the Proxy Settings for Connecting to the DDNS server.</p>
<h3 id="input-json-rpc-format-132">Input JSON-RPC Format</h3> <h3 id="input-json-rpc-format-132">Input JSON-RPC Format</h3>
<pre><code class="language-json">{ <pre><code class="language-json">{
&quot;jsonrpc&quot;: &quot;2.0&quot;, &quot;jsonrpc&quot;: &quot;2.0&quot;,
&quot;id&quot;: &quot;rpc_call_id&quot;, &quot;id&quot;: &quot;rpc_call_id&quot;,
&quot;method&quot;: &quot;SetDDnsInternetSetting&quot;, &quot;method&quot;: &quot;SetDDnsInternetSettng&quot;,
&quot;params&quot;: { &quot;params&quot;: {
&quot;ProxyType_u32&quot;: 0, &quot;ProxyType_u32&quot;: 0,
&quot;ProxyHostName_str&quot;: &quot;proxyhostname&quot;, &quot;ProxyHostName_str&quot;: &quot;proxyhostname&quot;,
@@ -14640,8 +14640,8 @@ All APIs are based on the <a href="https://www.jsonrpc.org/specification">JSON-R
</tbody> </tbody>
</table> </table>
<hr /> <hr />
<p>Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen.<br /> <p>Automatically generated at 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen.<br />
Copyright (c) 2014-2023 <a href="https://www.softether.org/">SoftEther VPN Project</a> under the Apache License 2.0.</p> Copyright (c) 2014-2019 <a href="https://www.softether.org/">SoftEther VPN Project</a> under the Apache License 2.0.</p>
</article> </article>
</body> </body>
File diff suppressed because one or more lines are too long
+222 -230
View File
@@ -31,58 +31,78 @@
"dev": true "dev": true
}, },
"@jridgewell/gen-mapping": { "@jridgewell/gen-mapping": {
"version": "0.3.5", "version": "0.3.2",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
"dev": true, "dev": true,
"requires": { "requires": {
"@jridgewell/set-array": "^1.2.1", "@jridgewell/set-array": "^1.0.1",
"@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/sourcemap-codec": "^1.4.10",
"@jridgewell/trace-mapping": "^0.3.24" "@jridgewell/trace-mapping": "^0.3.9"
} }
}, },
"@jridgewell/resolve-uri": { "@jridgewell/resolve-uri": {
"version": "3.1.2", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
"dev": true "dev": true
}, },
"@jridgewell/set-array": { "@jridgewell/set-array": {
"version": "1.2.1", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
"dev": true "dev": true
}, },
"@jridgewell/source-map": { "@jridgewell/source-map": {
"version": "0.3.6", "version": "0.3.2",
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
"integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.25" "@jridgewell/trace-mapping": "^0.3.9"
} }
}, },
"@jridgewell/sourcemap-codec": { "@jridgewell/sourcemap-codec": {
"version": "1.5.0", "version": "1.4.14",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
"dev": true "dev": true
}, },
"@jridgewell/trace-mapping": { "@jridgewell/trace-mapping": {
"version": "0.3.25", "version": "0.3.17",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
"dev": true, "dev": true,
"requires": { "requires": {
"@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/resolve-uri": "3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14" "@jridgewell/sourcemap-codec": "1.4.14"
}
},
"@types/eslint": {
"version": "8.21.2",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.2.tgz",
"integrity": "sha512-EMpxUyystd3uZVByZap1DACsMXvb82ypQnGn89e1Y0a+LYu3JJscUd/gqhRsVFDkaD2MIiWo0MT8EfXr3DGRKw==",
"dev": true,
"requires": {
"@types/estree": "*",
"@types/json-schema": "*"
}
},
"@types/eslint-scope": {
"version": "3.7.4",
"resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
"integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
"dev": true,
"requires": {
"@types/eslint": "*",
"@types/estree": "*"
} }
}, },
"@types/estree": { "@types/estree": {
"version": "1.0.5", "version": "0.0.51",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
"dev": true "dev": true
}, },
"@types/jquery": { "@types/jquery": {
@@ -95,19 +115,16 @@
} }
}, },
"@types/json-schema": { "@types/json-schema": {
"version": "7.0.15", "version": "7.0.11",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
"dev": true "dev": true
}, },
"@types/node": { "@types/node": {
"version": "22.5.1", "version": "18.15.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz",
"integrity": "sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==", "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
"dev": true, "dev": true
"requires": {
"undici-types": "~6.19.2"
}
}, },
"@types/sizzle": { "@types/sizzle": {
"version": "2.3.2", "version": "2.3.2",
@@ -116,148 +133,148 @@
"dev": true "dev": true
}, },
"@webassemblyjs/ast": { "@webassemblyjs/ast": {
"version": "1.12.1", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
"integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-numbers": "1.11.1",
"@webassemblyjs/helper-wasm-bytecode": "1.11.6" "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
} }
}, },
"@webassemblyjs/floating-point-hex-parser": { "@webassemblyjs/floating-point-hex-parser": {
"version": "1.11.6", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
"integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
"dev": true "dev": true
}, },
"@webassemblyjs/helper-api-error": { "@webassemblyjs/helper-api-error": {
"version": "1.11.6", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
"integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
"dev": true "dev": true
}, },
"@webassemblyjs/helper-buffer": { "@webassemblyjs/helper-buffer": {
"version": "1.12.1", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
"integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
"dev": true "dev": true
}, },
"@webassemblyjs/helper-numbers": { "@webassemblyjs/helper-numbers": {
"version": "1.11.6", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
"integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/floating-point-hex-parser": "1.11.1",
"@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.1",
"@xtuc/long": "4.2.2" "@xtuc/long": "4.2.2"
} }
}, },
"@webassemblyjs/helper-wasm-bytecode": { "@webassemblyjs/helper-wasm-bytecode": {
"version": "1.11.6", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
"integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
"dev": true "dev": true
}, },
"@webassemblyjs/helper-wasm-section": { "@webassemblyjs/helper-wasm-section": {
"version": "1.12.1", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
"integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.12.1", "@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-buffer": "1.11.1",
"@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
"@webassemblyjs/wasm-gen": "1.12.1" "@webassemblyjs/wasm-gen": "1.11.1"
} }
}, },
"@webassemblyjs/ieee754": { "@webassemblyjs/ieee754": {
"version": "1.11.6", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
"integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@xtuc/ieee754": "^1.2.0" "@xtuc/ieee754": "^1.2.0"
} }
}, },
"@webassemblyjs/leb128": { "@webassemblyjs/leb128": {
"version": "1.11.6", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
"integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@xtuc/long": "4.2.2" "@xtuc/long": "4.2.2"
} }
}, },
"@webassemblyjs/utf8": { "@webassemblyjs/utf8": {
"version": "1.11.6", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
"integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
"dev": true "dev": true
}, },
"@webassemblyjs/wasm-edit": { "@webassemblyjs/wasm-edit": {
"version": "1.12.1", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
"integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.12.1", "@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-buffer": "1.11.1",
"@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
"@webassemblyjs/helper-wasm-section": "1.12.1", "@webassemblyjs/helper-wasm-section": "1.11.1",
"@webassemblyjs/wasm-gen": "1.12.1", "@webassemblyjs/wasm-gen": "1.11.1",
"@webassemblyjs/wasm-opt": "1.12.1", "@webassemblyjs/wasm-opt": "1.11.1",
"@webassemblyjs/wasm-parser": "1.12.1", "@webassemblyjs/wasm-parser": "1.11.1",
"@webassemblyjs/wast-printer": "1.12.1" "@webassemblyjs/wast-printer": "1.11.1"
} }
}, },
"@webassemblyjs/wasm-gen": { "@webassemblyjs/wasm-gen": {
"version": "1.12.1", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
"integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.12.1", "@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
"@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/ieee754": "1.11.1",
"@webassemblyjs/leb128": "1.11.6", "@webassemblyjs/leb128": "1.11.1",
"@webassemblyjs/utf8": "1.11.6" "@webassemblyjs/utf8": "1.11.1"
} }
}, },
"@webassemblyjs/wasm-opt": { "@webassemblyjs/wasm-opt": {
"version": "1.12.1", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
"integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.12.1", "@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-buffer": "1.11.1",
"@webassemblyjs/wasm-gen": "1.12.1", "@webassemblyjs/wasm-gen": "1.11.1",
"@webassemblyjs/wasm-parser": "1.12.1" "@webassemblyjs/wasm-parser": "1.11.1"
} }
}, },
"@webassemblyjs/wasm-parser": { "@webassemblyjs/wasm-parser": {
"version": "1.12.1", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
"integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.12.1", "@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.1",
"@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
"@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/ieee754": "1.11.1",
"@webassemblyjs/leb128": "1.11.6", "@webassemblyjs/leb128": "1.11.1",
"@webassemblyjs/utf8": "1.11.6" "@webassemblyjs/utf8": "1.11.1"
} }
}, },
"@webassemblyjs/wast-printer": { "@webassemblyjs/wast-printer": {
"version": "1.12.1", "version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
"integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.12.1", "@webassemblyjs/ast": "1.11.1",
"@xtuc/long": "4.2.2" "@xtuc/long": "4.2.2"
} }
}, },
@@ -292,15 +309,15 @@
"dev": true "dev": true
}, },
"acorn": { "acorn": {
"version": "8.12.1", "version": "8.8.2",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
"integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
"dev": true "dev": true
}, },
"acorn-import-attributes": { "acorn-import-assertions": {
"version": "1.9.5", "version": "1.8.0",
"resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
"integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
"dev": true "dev": true
}, },
"ajv": { "ajv": {
@@ -356,35 +373,24 @@
} }
}, },
"braces": { "braces": {
"version": "3.0.3", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true, "dev": true,
"requires": { "requires": {
"fill-range": "^7.1.1" "fill-range": "^7.0.1"
},
"dependencies": {
"fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
}
} }
}, },
"browserslist": { "browserslist": {
"version": "4.23.3", "version": "4.21.5",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
"integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
"dev": true, "dev": true,
"requires": { "requires": {
"caniuse-lite": "^1.0.30001646", "caniuse-lite": "^1.0.30001449",
"electron-to-chromium": "^1.5.4", "electron-to-chromium": "^1.4.284",
"node-releases": "^2.0.18", "node-releases": "^2.0.8",
"update-browserslist-db": "^1.1.0" "update-browserslist-db": "^1.0.10"
} }
}, },
"buffer-from": { "buffer-from": {
@@ -400,9 +406,9 @@
"dev": true "dev": true
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001655", "version": "1.0.30001466",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001466.tgz",
"integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", "integrity": "sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==",
"dev": true "dev": true
}, },
"chalk": { "chalk": {
@@ -417,9 +423,9 @@
} }
}, },
"chrome-trace-event": { "chrome-trace-event": {
"version": "1.0.4", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
"integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
"dev": true "dev": true
}, },
"clone-deep": { "clone-deep": {
@@ -489,9 +495,9 @@
"dev": true "dev": true
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.5.13", "version": "1.4.330",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.330.tgz",
"integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", "integrity": "sha512-PqyefhybrVdjAJ45HaPLtuVaehiSw7C3ya0aad+rvmV53IVyXmYRk3pwIOb2TxTDTnmgQdn46NjMMaysx79/6Q==",
"dev": true "dev": true
}, },
"enhanced-resolve": { "enhanced-resolve": {
@@ -511,15 +517,15 @@
"dev": true "dev": true
}, },
"es-module-lexer": { "es-module-lexer": {
"version": "1.5.4", "version": "0.9.3",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
"integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
"dev": true "dev": true
}, },
"escalade": { "escalade": {
"version": "3.2.0", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
"dev": true "dev": true
}, },
"escape-string-regexp": { "escape-string-regexp": {
@@ -597,6 +603,15 @@
"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
"dev": true "dev": true
}, },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
},
"find-up": { "find-up": {
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
@@ -884,9 +899,9 @@
"dev": true "dev": true
}, },
"node-releases": { "node-releases": {
"version": "2.0.18", "version": "2.0.10",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
"integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
"dev": true "dev": true
}, },
"once": { "once": {
@@ -947,9 +962,9 @@
"dev": true "dev": true
}, },
"picocolors": { "picocolors": {
"version": "1.0.1", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true "dev": true
}, },
"picomatch": { "picomatch": {
@@ -968,9 +983,9 @@
} }
}, },
"punycode": { "punycode": {
"version": "2.3.1", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
"dev": true "dev": true
}, },
"randombytes": { "randombytes": {
@@ -1035,9 +1050,9 @@
"dev": true "dev": true
}, },
"schema-utils": { "schema-utils": {
"version": "3.3.0", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
"integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/json-schema": "^7.0.8", "@types/json-schema": "^7.0.8",
@@ -1052,9 +1067,9 @@
"dev": true "dev": true
}, },
"serialize-javascript": { "serialize-javascript": {
"version": "6.0.2", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
"integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
"dev": true, "dev": true,
"requires": { "requires": {
"randombytes": "^2.1.0" "randombytes": "^2.1.0"
@@ -1128,28 +1143,28 @@
"dev": true "dev": true
}, },
"terser": { "terser": {
"version": "5.31.6", "version": "5.16.6",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz",
"integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "integrity": "sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@jridgewell/source-map": "^0.3.3", "@jridgewell/source-map": "^0.3.2",
"acorn": "^8.8.2", "acorn": "^8.5.0",
"commander": "^2.20.0", "commander": "^2.20.0",
"source-map-support": "~0.5.20" "source-map-support": "~0.5.20"
} }
}, },
"terser-webpack-plugin": { "terser-webpack-plugin": {
"version": "5.3.10", "version": "5.3.7",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz",
"integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@jridgewell/trace-mapping": "^0.3.20", "@jridgewell/trace-mapping": "^0.3.17",
"jest-worker": "^27.4.5", "jest-worker": "^27.4.5",
"schema-utils": "^3.1.1", "schema-utils": "^3.1.1",
"serialize-javascript": "^6.0.1", "serialize-javascript": "^6.0.1",
"terser": "^5.26.0" "terser": "^5.16.5"
} }
}, },
"to-regex-range": { "to-regex-range": {
@@ -1275,20 +1290,14 @@
"integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==", "integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==",
"dev": true "dev": true
}, },
"undici-types": {
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"update-browserslist-db": { "update-browserslist-db": {
"version": "1.1.0", "version": "1.0.10",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
"integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"escalade": "^3.1.2", "escalade": "^3.1.1",
"picocolors": "^1.0.1" "picocolors": "^1.0.0"
} }
}, },
"uri-js": { "uri-js": {
@@ -1307,9 +1316,9 @@
"dev": true "dev": true
}, },
"watchpack": { "watchpack": {
"version": "2.4.2", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
"integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
"dev": true, "dev": true,
"requires": { "requires": {
"glob-to-regexp": "^0.4.1", "glob-to-regexp": "^0.4.1",
@@ -1317,52 +1326,35 @@
} }
}, },
"webpack": { "webpack": {
"version": "5.94.0", "version": "5.76.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.0.tgz",
"integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "integrity": "sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/estree": "^1.0.5", "@types/eslint-scope": "^3.7.3",
"@webassemblyjs/ast": "^1.12.1", "@types/estree": "^0.0.51",
"@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-parser": "^1.12.1", "@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.7.1", "acorn": "^8.7.1",
"acorn-import-attributes": "^1.9.5", "acorn-import-assertions": "^1.7.6",
"browserslist": "^4.21.10", "browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2", "chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.17.1", "enhanced-resolve": "^5.10.0",
"es-module-lexer": "^1.2.1", "es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1", "eslint-scope": "5.1.1",
"events": "^3.2.0", "events": "^3.2.0",
"glob-to-regexp": "^0.4.1", "glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.2.11", "graceful-fs": "^4.2.9",
"json-parse-even-better-errors": "^2.3.1", "json-parse-even-better-errors": "^2.3.1",
"loader-runner": "^4.2.0", "loader-runner": "^4.2.0",
"mime-types": "^2.1.27", "mime-types": "^2.1.27",
"neo-async": "^2.6.2", "neo-async": "^2.6.2",
"schema-utils": "^3.2.0", "schema-utils": "^3.1.0",
"tapable": "^2.1.1", "tapable": "^2.1.1",
"terser-webpack-plugin": "^5.3.10", "terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.4.1", "watchpack": "^2.4.0",
"webpack-sources": "^3.2.3" "webpack-sources": "^3.2.3"
},
"dependencies": {
"enhanced-resolve": {
"version": "5.17.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
}
},
"graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true
}
} }
}, },
"webpack-cli": { "webpack-cli": {