1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2026-04-20 22:09:26 +03:00

Compare commits

...

97 Commits

Author SHA1 Message Date
Alexey Kryuchkov 9a0bcab641 Merge a366bdbf02 into 015f93f7b7 2024-12-16 10:14:11 +08:00
Ilya Shipitsin 015f93f7b7 Merge pull request #2082 from chipitsine/master
stbchecker: modernize .net version
2024-12-15 01:18:01 +01:00
Ilia Shipitsin cdd3bddcc6 stbchecker: modernize .net version 2024-12-15 00:55:46 +01:00
Ilya Shipitsin 0a1f0913d9 Merge pull request #2081 from chipitsine/master
CI: modernize macos versions
2024-12-15 00:49:45 +01:00
Ilia Shipitsin 18cbd4627a CI: modernize macos versions 2024-12-15 00:25:35 +01:00
Ilya Shipitsin e475d70c0b Merge pull request #2056 from nynauy/nynauy-systemd-patch
Correct and simplify systemd service files
2024-09-24 16:47:23 +02:00
Ilya Shipitsin e94240d9a0 Merge pull request #2033 from siddharth-narayan/nt-fix
Fix "Not on NT" error message and add uihelp to vpncmd
2024-09-21 21:59:10 +02:00
nynauy 023eb3465d Correct and simplify systemd service files
Remove unnecessary wrappers and change to start services directly. Also remove misused "EnvironmentFile" and unrecommended "KillMode=process".
2024-09-17 07:03:19 +08:00
Ilya Shipitsin 5d1ce1a2cd Merge pull request #2051 from chipitsine/master
bump version for upcoming 5187 release
2024-09-09 21:57:51 +02:00
Ilia Shipitsin d8569ad31a bump version for upcoming 5187 release 2024-09-09 21:12:38 +02:00
Ilya Shipitsin e3e0c33e3b Merge pull request #2044 from Evengard/fix2043
Incorrect variable used while iterating through sessions which makes the loop stuck
2024-09-09 21:06:40 +02:00
Ilya Shipitsin 9f01143c83 Merge pull request #2045 from SoftEtherVPN/dependabot/npm_and_yarn/src/bin/hamcore/wwwroot/admin/default/webpack-5.94.0
Bump webpack from 5.76.0 to 5.94.0 in /src/bin/hamcore/wwwroot/admin/default
2024-08-30 15:54:45 +02:00
dependabot[bot] 93df1ee631 Bump webpack in /src/bin/hamcore/wwwroot/admin/default
Bumps [webpack](https://github.com/webpack/webpack) from 5.76.0 to 5.94.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.76.0...v5.94.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-30 10:46:29 +00:00
Evengard 8f0deb576c Incorrect variable used while iterating through sessions which makes the loop stuck 2024-08-25 15:36:50 +03:00
siddharth-narayan 27d233a522 Merge branch 'SoftEtherVPN:master' into nt-fix 2024-08-15 04:28:13 -04:00
Siddharth 128fefc63e Add UI helper to vpncmd on Windows 2024-08-15 04:26:15 -04:00
Ilya Shipitsin 31fed5a28f Merge pull request #2036 from icy17/null-check3
Fix potential NULL pointer dereference
2024-08-14 22:08:43 +02:00
Ilya Shipitsin a8ce56b28b Merge pull request #2041 from e-kud/update-cmake
Update minimal cmake version to 3.15
2024-08-13 00:25:22 +02:00
Evgeny Kudryashov 08e24917b8 Update minimal cmake version to 3.15
* 3.12 is required for add_compile_definitions
* 3.15 is required for CMP0091 policy
2024-08-12 22:26:51 +02:00
icy17 e2017772c7 Fix potential NULL pointer dereference 2024-08-01 15:43:34 +08:00
Ilya Shipitsin a836b3bd5e Merge pull request #2022 from siddharth-narayan/built-in-post-quantum
Add built in post quantum functionality
2024-07-19 20:05:47 +02:00
Siddharth 3a25c6bf73 Fix incorrect "Not on NT" error messages 2024-07-17 15:16:11 -07:00
Siddharth 67fe99e1dc Move duplicated code to one place 2024-07-16 02:33:16 -04:00
Ilya Shipitsin 4e8f797036 Merge pull request #2019 from LinearAlpha/patch-1
URL for Nightly builds  for windows is updated
2024-07-10 21:43:09 +02:00
Ilia Shipitsin b1bdc03cd7 adjust nightly/releases links 2024-07-10 21:34:31 +02:00
Siddharth d4d20e4443 Remove testing code 2024-07-04 13:56:13 -04:00
Ilya Shipitsin c76f11a523 Merge pull request #2026 from siddharth-narayan/fedora-fix-engine
Fix openssl engine support on Fedora Rawhide
2024-07-04 19:26:11 +02:00
Siddharth a45219bb78 Revert "Fix engine include errors on Fedora Rawhide"
This reverts commit 1d57ccf94a.
2024-07-04 13:15:50 -04:00
siddharth-narayan 25585a1e3d Guard engine.h include 2024-07-04 13:05:30 -04:00
siddharth-narayan 4370efcc90 replace openssl-devel with openssl-devel-engine 2024-07-04 13:02:16 -04:00
Siddharth 1d57ccf94a Fix engine include errors on Fedora Rawhide 2024-07-04 06:55:06 -04:00
siddharth-narayan 04912037c0 Merge branch 'SoftEtherVPN:master' into built-in-post-quantum 2024-07-03 20:12:21 -04:00
Ilya Shipitsin b8fbb3e3d8 Merge pull request #2025 from chipitsine/fedora_pull_request
CI: enable Fedora Rawgide on pull requests
2024-07-03 23:43:19 +02:00
Ilia Shipitsin 98a8d5249d CI: enable Fedora Rawgide on pull requests 2024-07-03 23:21:44 +02:00
Ilya Shipitsin dd2a53e049 Merge pull request #2024 from chipitsine/master
bump version for upcoming 5186 release
2024-07-03 21:16:01 +02:00
Ilia Shipitsin 7ce9c088ff bump version for upcoming 5186 release 2024-07-03 19:20:14 +02:00
Siddharth 1f9ce6f9c2 Skip oqsprovider build when OpenSSL version is less than 3.0 2024-06-28 17:05:52 -04:00
Siddharth 28ded982a7 Remove empty OpenSSL version guard 2024-06-28 14:18:48 -04:00
siddharth-narayan de9c566f33 Merge branch 'SoftEtherVPN:master' into built-in-post-quantum 2024-06-28 13:43:55 -04:00
Siddharth 0af6c96d88 Skip tests for oqsprovider 2024-06-28 04:01:30 -04:00
Siddharth c2c1388f8c Update liboqs and oqs-provider git submodules 2024-06-28 04:00:51 -04:00
Siddharth d15f92c9b2 Make oqsprovider not build tests 2024-06-28 04:00:51 -04:00
Siddharth 7dc3f2240c Add liboqs with find_package 2024-06-26 20:55:09 -04:00
Ilya Shipitsin c2a7aa5481 Merge pull request from GHSA-j35p-p8pj-vqxq
src/Cedar/Proto_IKE.c: ignore packets with no IPSec SA
2024-06-22 18:57:28 +02:00
Ilia Shipitsin 6f57449164 src/Cedar/Proto_IKE.c: ignore packets with no IPSec SA
many thanks to Jonathan Phillibert from Amazon Web Services
for investigating and reporting that responding to such packets
might lead to traffic amplification
2024-06-22 18:53:35 +02:00
Minpyo Kim 48f6bc57cc URL for Nightly builds is updated
Based on issue #1993, the build has been moved from Azure to Github.
2024-06-22 23:43:23 +09:00
Siddharth eb66e7d360 That's not how you comment in C! 2024-06-21 15:16:27 -04:00
Siddharth 13e6369db3 Add liboqs because it isn't normally packaged 2024-06-21 15:14:49 -04:00
Siddharth 102485a4b8 Add oqsprovider statically (built in) by default 2024-06-20 22:08:38 -04:00
Ilya Shipitsin bc31a5cfd3 Merge pull request #2002 from siddharth-narayan/quantum-safe-key-agreement
Add Post Quantum key agreement
2024-06-18 22:41:52 +02:00
Siddharth 68964ab0d7 Guard variables with OpenSSL version 2024-06-18 16:09:10 -04:00
siddharth-narayan bf3c50fde4 Merge branch 'SoftEtherVPN:master' into quantum-safe-key-agreement 2024-06-18 14:55:45 -04:00
Siddharth b06486b37d Remove unecessary provider include 2024-06-18 00:01:58 -04:00
Ilya Shipitsin 26c61b3213 Merge pull request #2014 from SoftEtherVPN/dependabot/npm_and_yarn/src/bin/hamcore/wwwroot/admin/default/braces-3.0.3
Bump braces from 3.0.2 to 3.0.3 in /src/bin/hamcore/wwwroot/admin/default
2024-06-17 17:45:14 +02:00
Ilya Shipitsin 1bea86ef94 Merge pull request #2006 from hiura2023/master
Change ssl error handler: Having to read all of the errors using ERR_get_error.
2024-06-17 17:36:55 +02:00
dependabot[bot] 6825234e0a Bump braces in /src/bin/hamcore/wwwroot/admin/default
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 15:36:07 +00:00
Ilya Shipitsin a794726a07 Merge pull request #2011 from SoftEtherVPN/dependabot/npm_and_yarn/developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package/braces-3.0.3
Bump braces from 3.0.2 to 3.0.3 in /developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package
2024-06-17 17:35:33 +02:00
dependabot[bot] dae352104c Bump braces
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-16 09:58:05 +00:00
Ilya Shipitsin 4fe5352931 Merge pull request #2007 from metalefty/freebsd-ci
CI: Update to FreeBSD 14.0-RELEASE
2024-06-09 17:23:48 +02:00
Koichiro Iwao ebe52afa9a CI: Update to FreeBSD 14.0-RELEASE
since FreeBSD 13.2 image is no longer available on the CI platform.
2024-06-09 21:33:46 +09:00
hiura2023 c06e5ad1dd Merge branch 'SoftEtherVPN:master' into master 2024-06-08 02:30:04 +09:00
hiura b2ec1bd5dd Change ssl error handler: Having to read all of the errors using ERR_get_error 2024-06-08 02:28:28 +09:00
Ilya Shipitsin bfaff4fdb0 Merge pull request #1994 from hiura2023/master
Fix Virtual DHCP Server: Correct IP reassignment
2024-05-27 13:13:40 +02:00
hiura 08213b7f0e CHANGE ERROR HANDLER FOR SSL ERROR: Change of indent 2024-05-26 23:50:05 +09:00
hiura 98852b77d9 CHANGE ERROR HANDLER FOR SSL ERROR: 2024-05-26 23:36:21 +09:00
Ilya Shipitsin 645a078f8e Merge pull request #2003 from djony/master
Minor russian traslation update
2024-05-22 18:40:57 +02:00
djony af2196468a Update strtable_ru.stb 2024-05-22 17:40:11 +03:00
djony 42647480b0 Update strtable_ru.stb 2024-05-22 17:02:03 +03:00
djony 60496ac7fb Merge branch 'SoftEtherVPN:master' into master 2024-05-22 16:26:44 +03:00
siddharth-narayan 63ffab9ee4 Merge branch 'SoftEtherVPN:master' into quantum-safe-key-agreement 2024-05-20 23:20:52 -04:00
Siddharth 2fe4ca0f8c Fix incorrect PQ_GROUP_LIST string 2024-05-20 21:46:57 -04:00
Siddharth a50d8910ba Add PQ Groups and the provider for them 2024-05-20 19:48:23 -04:00
Ilya Shipitsin 315ffffeec Merge pull request #2001 from chipitsine/ci_drop_macos_11
CI: drop macos-11
2024-05-20 23:37:52 +02:00
Ilia Shipitsin 141060101d CI: drop macos-11
more details: https://github.blog/changelog/2024-05-20-actions-upcoming-changes-to-github-hosted-macos-runners/
2024-05-20 21:50:07 +02:00
hiura 5a88b34ddb Fix Virtual DHCP Server: Correct IP reassignment 2024-05-08 10:55:00 +09:00
Ilya Shipitsin 7006539732 Merge pull request #1992 from chipitsine/macos_14
CI: add macos-14
2024-05-04 22:16:00 +02:00
Ilya Shipitsin 8ad34b2012 Merge pull request #1991 from chipitsine/master
bump version for upcoming 5185 release
2024-05-04 22:04:21 +02:00
Ilia Shipitsin 186d48fba2 CI: add macos-14 2024-05-04 21:25:39 +02:00
Ilia Shipitsin 37231ac006 bump version for upcoming 5185 release 2024-05-04 21:23:00 +02:00
Ilya Shipitsin 9378c341f7 Merge pull request #1989 from hiura2023/master
Fix Virtual DHCP Server: Correct DHCP Sequence
2024-05-04 20:47:48 +02:00
Ilya Shipitsin 99e277aa71 Merge pull request #1986 from panakuma/fix-cmake-lib-dir
Change var of CMAKE_INSTALL_RPATH
2024-05-04 20:45:49 +02:00
hiura2023 bcb896b178 Merge branch 'SoftEtherVPN:master' into master 2024-05-03 17:19:47 +09:00
hiura 6e5395cc8d Fix Virtual DHCP Server: Correct DHCP renewal request 2024-05-03 17:18:13 +09:00
Ilya Shipitsin 9ce27f363e Merge pull request #1990 from SoftEtherVPN/fix1972
Fix memory access error when IPv6 prefix reading, should resolve #1972
2024-04-28 17:25:16 +02:00
Evengard d568cc1727 Fix another memory access error again because of a missing MAC address in IPv6 headers 2024-04-27 21:57:36 +03:00
Evengard c9b5e25c87 Fix memory access error when IPv6 prefix reading, should resolve #1972 2024-04-27 02:01:48 +03:00
hiura 7f074d0c0b Fix Virtual DHCP Server: Correct HDCP Sequence 2024-04-26 12:42:27 +09:00
panakuma f8c5fa5384 Change var of CMAKE_INSTALL_RPATH 2024-04-20 00:48:24 +09:00
Ilya Shipitsin 74f7269ef6 Merge pull request #1679 from tickerguy/tickerguy-patch-1
BridgeUnix.c: Disable MTU changes on FreeBSD
2024-04-19 16:46:16 +02:00
Ilya Shipitsin 41f83c9e32 Merge pull request #1840 from RoelvandeWiel/issue1838
Changed 'settng' to 'setting' and regenerated the RPC docs
2024-04-17 20:53:42 +02:00
Ilya Shipitsin f66866fda1 Merge pull request #1984 from chipitsine/prepare_5184
bump version for upcoming 5184 release
2024-04-17 14:54:54 +02:00
Ilia Shipitsin 071a87297b bump version for upcoming 5184 release 2024-04-17 13:20:04 +02:00
djony 5e63124bb5 Update strtable_ru.stb 2023-08-27 22:20:11 +03:00
djony 716ae59f1f Update strtable_ru.stb 2023-08-27 22:11:51 +03: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
Roel van de Wiel 36505e3896 Changed 'settng' to 'setting' and regenerated the RPC docs 2023-05-10 15:09:57 +02:00
tickerguy 0643ae70f5 Update BridgeUnix.c
On FreeBSD the stock code will attempt to expand the interface MTU any time a packet is to be sent that exceeds the current MTU.  This results in a down/up on the interface that is wildly disruptive to existing services on that adapter and, eventually, is likely to run into MTU limits and start logging failures, even with jumbo-frame capable adapters.  Thus if compiling on a FreeBSD machine disable this capability.  Tested against 12.3-STABLE and 13.1-STABLE on v4.38-9760 from the FreeBSD ports tree but likely applies here as well; see bug report https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267178
2022-10-19 12:39:32 -04:00
52 changed files with 982 additions and 774 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ FreeBSD_task:
SSL: SSL:
matrix: matrix:
freebsd_instance: freebsd_instance:
image_family: freebsd-13-2 image_family: freebsd-14-0
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
+2 -1
View File
@@ -4,6 +4,7 @@ on:
schedule: schedule:
- cron: "0 0 25 * *" - cron: "0 0 25 * *"
push: push:
pull_request:
workflow_dispatch: workflow_dispatch:
permissions: permissions:
@@ -24,7 +25,7 @@ jobs:
submodules: true submodules: true
- name: Install dependencies - name: Install dependencies
run: | run: |
dnf -y install git cmake ncurses-devel openssl-devel libsodium-devel readline-devel zlib-devel gcc-c++ clang dnf -y install git cmake ncurses-devel openssl-devel-engine 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 }}
+1 -1
View File
@@ -7,7 +7,7 @@ jobs:
build_and_test: build_and_test:
strategy: strategy:
matrix: matrix:
os: [macos-13, macos-12, macos-11] os: [macos-15, macos-14, macos-13]
name: ${{ matrix.os }} name: ${{ matrix.os }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
+6
View File
@@ -10,3 +10,9 @@
[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.10) cmake_minimum_required(VERSION 3.15)
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 "5183") set(BUILD_NUMBER "5187")
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}/lib") set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
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": "5183" } ], "environments": [ { "BuildNumber": "5187" } ],
"configurations": [ "configurations": [
{ {
"name": "x64-native", "name": "x64-native",
+3 -1
View File
@@ -201,7 +201,9 @@ Also SoftEther VPN [Stable Edition](https://www.freshports.org/security/softethe
## For Windows ## For Windows
[Nightly builds](https://dev.azure.com/SoftEther-VPN/SoftEther%20VPN/_build?definitionId=6) [Releases](https://github.com/SoftEtherVPN/SoftEtherVPN/releases)
[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)
+1 -1
View File
@@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
@@ -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="#getddnsinternetsettng">GetDDnsInternetSettng - Get the Proxy Settings for Connecting to the DDNS server</a></li> <li><a href="#getddnsinternetsetting">GetDDnsInternetSetting - Get 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="#setddnsinternetsetting">SetDDnsInternetSetting - 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;2020-08-01T12:24:36.123&quot;, &quot;ServerBuildDate_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CurrentTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CurrentTick_u64&quot;: 0, &quot;CurrentTick_u64&quot;: 0,
&quot;StartTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;StartedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;FirstConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;FirstConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CurrentConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CurrentConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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 count (Send)</td> <td>Unicast bytes (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;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2024-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="getddnsinternetsettng"></a></p> <p><a id="getddnsinternetsetting"></a></p>
<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> <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>
<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;GetDDnsInternetSettng&quot;, &quot;method&quot;: &quot;GetDDnsInternetSetting&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="setddnsinternetsettng"></a></p> <p><a id="setddnsinternetsetting"></a></p>
<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> <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>
<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;SetDDnsInternetSettng&quot;, &quot;method&quot;: &quot;SetDDnsInternetSetting&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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen.<br /> <p>Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen.<br />
Copyright (c) 2014-2019 <a href="https://www.softether.org/">SoftEther VPN Project</a> under the Apache License 2.0.</p> Copyright (c) 2014-2023 <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)
- [GetDDnsInternetSettng - Get the Proxy Settings for Connecting to the DDNS server](#getddnsinternetsettng) - [GetDDnsInternetSetting - Get the Proxy Settings for Connecting to the DDNS server](#getddnsinternetsetting)
- [SetDDnsInternetSettng - Set the Proxy Settings for Connecting to the DDNS server](#setddnsinternetsettng) - [SetDDnsInternetSetting - Set the Proxy Settings for Connecting to the DDNS server](#setddnsinternetsetting)
- [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": "2020-08-01T12:24:36.123", "ServerBuildDate_dt": "2024-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": "2020-08-01T12:24:36.123", "CurrentTime_dt": "2024-08-01T12:24:36.123",
"CurrentTick_u64": 0, "CurrentTick_u64": 0,
"StartTime_dt": "2020-08-01T12:24:36.123", "StartTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "StartedTime_dt": "2024-08-01T12:24:36.123",
"FirstConnectedTime_dt": "2020-08-01T12:24:36.123", "FirstConnectedTime_dt": "2024-08-01T12:24:36.123",
"CurrentConnectedTime_dt": "2020-08-01T12:24:36.123", "CurrentConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "LastCommTime_dt": "2024-08-01T12:24:36.123",
"LastLoginTime_dt": "2020-08-01T12:24:36.123", "LastLoginTime_dt": "2024-08-01T12:24:36.123",
"CreatedTime_dt": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "LastCommTime_dt": "2024-08-01T12:24:36.123",
"LastLoginTime_dt": "2020-08-01T12:24:36.123", "LastLoginTime_dt": "2024-08-01T12:24:36.123",
"CreatedTime_dt": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "LastCommTime_dt": "2024-08-01T12:24:36.123",
"LastLoginTime_dt": "2020-08-01T12:24:36.123", "LastLoginTime_dt": "2024-08-01T12:24:36.123",
"CreatedTime_dt": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "LastCommTime_dt": "2024-08-01T12:24:36.123",
"LastLoginTime_dt": "2020-08-01T12:24:36.123", "LastLoginTime_dt": "2024-08-01T12:24:36.123",
"CreatedTime_dt": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-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": "2020-08-01T12:24:36.123" "Expires_dt": "2024-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": "2020-08-01T12:24:36.123" "Expires_dt": "2024-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": "2020-08-01T12:24:36.123" "Expires_dt": "2024-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(password_ascii_string + UpperCase(username_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(UpperCase(username_ascii_string) + password_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(password_ascii_string + UpperCase(username_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(UpperCase(username_ascii_string) + password_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": "2020-08-01T12:24:36.123", "ConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ConnectedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "StartTime_dt": "2024-08-01T12:24:36.123",
"FirstConnectionEstablisiedTime_dt": "2020-08-01T12:24:36.123", "FirstConnectionEstablisiedTime_dt": "2024-08-01T12:24:36.123",
"CurrentConnectionEstablishTime_dt": "2020-08-01T12:24:36.123", "CurrentConnectionEstablishTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ExpireTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"UpdatedTime_dt": "2020-08-01T12:24:36.123", "UpdatedTime_dt": "2024-08-01T12:24:36.123",
"ExpireTime_dt": "2020-08-01T12:24:36.123", "ExpireTime_dt": "2024-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": "2020-08-01T12:24:36.123", "ExpireTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"UpdatedTime_dt": "2020-08-01T12:24:36.123", "UpdatedTime_dt": "2024-08-01T12:24:36.123",
"ExpireTime_dt": "2020-08-01T12:24:36.123", "ExpireTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"UpdatedTime_dt": "2020-08-01T12:24:36.123", "UpdatedTime_dt": "2024-08-01T12:24:36.123",
"ExpireTime_dt": "2020-08-01T12:24:36.123", "ExpireTime_dt": "2024-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": "2020-08-01T12:24:36.123", "LastLoginTime_dt": "2024-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": "2020-08-01T12:24:36.123", "Expires_dt": "2024-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": "2020-08-01T12:24:36.123", "LastLoginTime_dt": "2024-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": "2020-08-01T12:24:36.123", "Expires_dt": "2024-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": "2020-08-01T12:24:36.123", "LastLoginTime_dt": "2024-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": "2020-08-01T12:24:36.123", "Expires_dt": "2024-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) | Broadcast bytes (Recv) `Recv.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Recv)
`Recv.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Recv) `Recv.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Recv)
`Recv.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Recv) `Recv.UnicastBytes_u64` | `number` (uint64) | Unicast count (Recv)
`Recv.UnicastCount_u64` | `number` (uint64) | Unicast count (Recv) `Recv.UnicastCount_u64` | `number` (uint64) | Unicast bytes (Recv)
`Send.BroadcastBytes_u64` | `number` (uint64) | Broadcast bytes (Send) `Send.BroadcastBytes_u64` | `number` (uint64) | Number of broadcast packets (Send)
`Send.BroadcastCount_u64` | `number` (uint64) | Number of broadcast packets (Send) `Send.BroadcastCount_u64` | `number` (uint64) | Broadcast bytes (Send)
`Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send) `Send.UnicastBytes_u64` | `number` (uint64) | Unicast bytes (Send)
`Send.UnicastCount_u64` | `number` (uint64) | Unicast count (Send) `Send.UnicastCount_u64` | `number` (uint64) | Unicast bytes (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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"LastCommTime_dt": "2020-08-01T12:24:36.123" "LastCommTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"LastCommTime_dt": "2020-08-01T12:24:36.123" "LastCommTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"LastCommTime_dt": "2020-08-01T12:24:36.123" "LastCommTime_dt": "2024-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": "2020-08-01T12:24:36.123", "StartTime_dt": "2024-08-01T12:24:36.123",
"FirstConnectionEstablisiedTime_dt": "2020-08-01T12:24:36.123", "FirstConnectionEstablisiedTime_dt": "2024-08-01T12:24:36.123",
"CurrentConnectionEstablishTime_dt": "2020-08-01T12:24:36.123", "CurrentConnectionEstablishTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"UpdatedTime_dt": "2020-08-01T12:24:36.123", "UpdatedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"UpdatedTime_dt": "2020-08-01T12:24:36.123", "UpdatedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"UpdatedTime_dt": "2020-08-01T12:24:36.123", "UpdatedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"UpdatedTime_dt": "2020-08-01T12:24:36.123", "UpdatedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"UpdatedTime_dt": "2020-08-01T12:24:36.123", "UpdatedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"UpdatedTime_dt": "2020-08-01T12:24:36.123", "UpdatedTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"LastCommTime_dt": "2020-08-01T12:24:36.123", "LastCommTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"LastCommTime_dt": "2020-08-01T12:24:36.123", "LastCommTime_dt": "2024-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": "2020-08-01T12:24:36.123", "CreatedTime_dt": "2024-08-01T12:24:36.123",
"LastCommTime_dt": "2020-08-01T12:24:36.123", "LastCommTime_dt": "2024-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": "2020-08-01T12:24:36.123", "LeasedTime_dt": "2024-08-01T12:24:36.123",
"ExpireTime_dt": "2020-08-01T12:24:36.123", "ExpireTime_dt": "2024-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": "2020-08-01T12:24:36.123", "LeasedTime_dt": "2024-08-01T12:24:36.123",
"ExpireTime_dt": "2020-08-01T12:24:36.123", "ExpireTime_dt": "2024-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": "2020-08-01T12:24:36.123", "LeasedTime_dt": "2024-08-01T12:24:36.123",
"ExpireTime_dt": "2020-08-01T12:24:36.123", "ExpireTime_dt": "2024-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": "2020-08-01T12:24:36.123" "UpdatedTime_dt": "2024-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": "2020-08-01T12:24:36.123" "UpdatedTime_dt": "2024-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": "2020-08-01T12:24:36.123" "UpdatedTime_dt": "2024-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="getddnsinternetsettng"></a> <a id="getddnsinternetsetting"></a>
## "GetDDnsInternetSettng" RPC API - Get the Proxy Settings for Connecting to the DDNS server ## "GetDDnsInternetSetting" 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": "GetDDnsInternetSettng", "method": "GetDDnsInternetSetting",
"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="setddnsinternetsettng"></a> <a id="setddnsinternetsetting"></a>
## "SetDDnsInternetSettng" RPC API - Set the Proxy Settings for Connecting to the DDNS server ## "SetDDnsInternetSetting" 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": "SetDDnsInternetSettng", "method": "SetDDnsInternetSetting",
"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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen. Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen.
Copyright (c) 2014-2019 [SoftEther VPN Project](https://www.softether.org/) under the Apache License 2.0. Copyright (c) 2014-2023 [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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen // Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2019 SoftEther VPN Project // Copyright (c) 2014-2023 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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen // Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2019 SoftEther VPN Project // Copyright (c) 2014-2023 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> GetDDnsInternetSettngAsync() => await CallAsync<VpnInternetSetting>("GetDDnsInternetSettng", new VpnInternetSetting()); public async Task<VpnInternetSetting> GetDDnsInternetSettingAsync() => await CallAsync<VpnInternetSetting>("GetDDnsInternetSetting", 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 GetDDnsInternetSettng() => GetDDnsInternetSettngAsync().Result; public VpnInternetSetting GetDDnsInternetSetting() => GetDDnsInternetSettingAsync().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> SetDDnsInternetSettngAsync(VpnInternetSetting input_param) => await CallAsync<VpnInternetSetting>("SetDDnsInternetSettng", input_param); public async Task<VpnInternetSetting> SetDDnsInternetSettingAsync(VpnInternetSetting input_param) => await CallAsync<VpnInternetSetting>("SetDDnsInternetSetting", 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 SetDDnsInternetSettng(VpnInternetSetting input_param) => SetDDnsInternetSettngAsync(input_param).Result; public VpnInternetSetting SetDDnsInternetSetting(VpnInternetSetting input_param) => SetDDnsInternetSettingAsync(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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen // Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2019 SoftEther VPN Project // Copyright (c) 2014-2023 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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen // Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2019 SoftEther VPN Project // Copyright (c) 2014-2023 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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen // Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2019 SoftEther VPN Project // Copyright (c) 2014-2023 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_SetDDnsInternetSettng(); Test_SetDDnsInternetSetting();
Test_GetDDnsInternetSettng(); Test_GetDDnsInternetSetting();
Test_ChangeDDnsClientHostname(); Test_ChangeDDnsClientHostname();
Test_RegenerateServerCert(); Test_RegenerateServerCert();
@@ -3641,27 +3641,27 @@ class VPNRPCTest
} }
/// <summary> /// <summary>
/// API test for 'GetDDnsInternetSettng', Get DDNS proxy configuration /// API test for 'GetDDnsInternetSetting', Get DDNS proxy configuration
/// </summary> /// </summary>
public void Test_GetDDnsInternetSettng() public void Test_GetDDnsInternetSetting()
{ {
Console.WriteLine("Begin: Test_GetDDnsInternetSettng"); Console.WriteLine("Begin: Test_GetDDnsInternetSetting");
VpnInternetSetting out_internet_setting = api.GetDDnsInternetSettng(); VpnInternetSetting out_internet_setting = api.GetDDnsInternetSetting();
print_object(out_internet_setting); print_object(out_internet_setting);
Console.WriteLine("End: Test_GetDDnsInternetSettng"); Console.WriteLine("End: Test_GetDDnsInternetSetting");
Console.WriteLine("-----"); Console.WriteLine("-----");
Console.WriteLine(); Console.WriteLine();
} }
/// <summary> /// <summary>
/// API test for 'SetDDnsInternetSettng', Set DDNS proxy configuration /// API test for 'SetDDnsInternetSetting', Set DDNS proxy configuration
/// </summary> /// </summary>
public void Test_SetDDnsInternetSettng() public void Test_SetDDnsInternetSetting()
{ {
Console.WriteLine("Begin: Test_SetDDnsInternetSettng"); Console.WriteLine("Begin: Test_SetDDnsInternetSetting");
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.SetDDnsInternetSettng(in_internet_setting); VpnInternetSetting out_internet_setting = api.SetDDnsInternetSetting(in_internet_setting);
print_object(out_internet_setting); print_object(out_internet_setting);
Console.WriteLine("End: Test_SetDDnsInternetSettng"); Console.WriteLine("End: Test_SetDDnsInternetSetting");
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_SetDDnsInternetSettng()]; return [4 /*yield*/, Test_SetDDnsInternetSetting()];
case 158: case 158:
_x.sent(); _x.sent();
return [4 /*yield*/, Test_GetDDnsInternetSettng()]; return [4 /*yield*/, Test_GetDDnsInternetSetting()];
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 'GetDDnsInternetSettng', Get DDNS proxy configuration */ /** API test for 'GetDDnsInternetSetting', Get DDNS proxy configuration */
function Test_GetDDnsInternetSettng() { function Test_GetDDnsInternetSetting() {
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_GetDDnsInternetSettng"); console.log("Begin: Test_GetDDnsInternetSetting");
return [4 /*yield*/, api.GetDDnsInternetSettng()]; return [4 /*yield*/, api.GetDDnsInternetSetting()];
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_GetDDnsInternetSettng"); console.log("End: Test_GetDDnsInternetSetting");
console.log("-----"); console.log("-----");
console.log(); console.log();
return [2 /*return*/]; return [2 /*return*/];
@@ -4067,14 +4067,14 @@ function Test_GetDDnsInternetSettng() {
}); });
}); });
} }
/** API test for 'SetDDnsInternetSettng', Set DDNS proxy configuration */ /** API test for 'SetDDnsInternetSetting', Set DDNS proxy configuration */
function Test_SetDDnsInternetSettng() { function Test_SetDDnsInternetSetting() {
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_SetDDnsInternetSettng"); console.log("Begin: Test_SetDDnsInternetSetting");
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_SetDDnsInternetSettng() {
ProxyUsername_str: "neko", ProxyUsername_str: "neko",
ProxyPassword_str: "dog" ProxyPassword_str: "dog"
}); });
return [4 /*yield*/, api.SetDDnsInternetSettng(in_internet_setting)]; return [4 /*yield*/, api.SetDDnsInternetSetting(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_SetDDnsInternetSettng"); console.log("End: Test_SetDDnsInternetSetting");
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. */
GetDDnsInternetSettng: () => Promise<VpnInternetSetting>; GetDDnsInternetSetting: () => Promise<VpnInternetSetting>;
/** Set the Proxy Settings for Connecting to the DDNS server. */ /** Set the Proxy Settings for Connecting to the DDNS server. */
SetDDnsInternetSettng: (in_param: VpnInternetSetting) => Promise<VpnInternetSetting>; SetDDnsInternetSetting: (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.GetDDnsInternetSettng = function () { this.GetDDnsInternetSetting = function () {
return _this.CallAsync("GetDDnsInternetSettng", new VpnInternetSetting()); return _this.CallAsync("GetDDnsInternetSetting", new VpnInternetSetting());
}; };
/** Set the Proxy Settings for Connecting to the DDNS server. */ /** Set the Proxy Settings for Connecting to the DDNS server. */
this.SetDDnsInternetSettng = function (in_param) { this.SetDDnsInternetSetting = function (in_param) {
return _this.CallAsync("SetDDnsInternetSettng", in_param); return _this.CallAsync("SetDDnsInternetSetting", 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,12 +65,23 @@
} }
}, },
"braces": { "braces": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true, "dev": true,
"requires": { "requires": {
"fill-range": "^7.0.1" "fill-range": "^7.1.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": {
@@ -151,15 +162,6 @@
"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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen // Automatically generated at 2023-05-10 14:43:37 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-2019 SoftEther VPN Project // Copyright (c) 2014-2023 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_SetDDnsInternetSettng(); await Test_SetDDnsInternetSetting();
await Test_GetDDnsInternetSettng(); await Test_GetDDnsInternetSetting();
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 'GetDDnsInternetSettng', Get DDNS proxy configuration */ /** API test for 'GetDDnsInternetSetting', Get DDNS proxy configuration */
async function Test_GetDDnsInternetSettng(): Promise<void> async function Test_GetDDnsInternetSetting(): Promise<void>
{ {
console.log("Begin: Test_GetDDnsInternetSettng"); console.log("Begin: Test_GetDDnsInternetSetting");
let out_internet_setting: VPN.VpnInternetSetting = await api.GetDDnsInternetSettng(); let out_internet_setting: VPN.VpnInternetSetting = await api.GetDDnsInternetSetting();
console.log(out_internet_setting); console.log(out_internet_setting);
console.log("End: Test_GetDDnsInternetSettng"); console.log("End: Test_GetDDnsInternetSetting");
console.log("-----"); console.log("-----");
console.log(); console.log();
} }
/** API test for 'SetDDnsInternetSettng', Set DDNS proxy configuration */ /** API test for 'SetDDnsInternetSetting', Set DDNS proxy configuration */
async function Test_SetDDnsInternetSettng(): Promise<void> async function Test_SetDDnsInternetSetting(): Promise<void>
{ {
console.log("Begin: Test_SetDDnsInternetSettng"); console.log("Begin: Test_SetDDnsInternetSetting");
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_SetDDnsInternetSettng(): Promise<void>
ProxyUsername_str: "neko", ProxyUsername_str: "neko",
ProxyPassword_str: "dog", ProxyPassword_str: "dog",
}); });
let out_internet_setting: VPN.VpnInternetSetting = await api.SetDDnsInternetSettng(in_internet_setting); let out_internet_setting: VPN.VpnInternetSetting = await api.SetDDnsInternetSetting(in_internet_setting);
console.log(out_internet_setting); console.log(out_internet_setting);
console.log("End: Test_SetDDnsInternetSettng"); console.log("End: Test_SetDDnsInternetSetting");
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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen // Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2019 SoftEther VPN Project // Copyright (c) 2014-2023 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 GetDDnsInternetSettng = (): Promise<VpnInternetSetting> => public GetDDnsInternetSetting = (): Promise<VpnInternetSetting> =>
{ {
return this.CallAsync<VpnInternetSetting>("GetDDnsInternetSettng", new VpnInternetSetting()); return this.CallAsync<VpnInternetSetting>("GetDDnsInternetSetting", new VpnInternetSetting());
} }
/** Set the Proxy Settings for Connecting to the DDNS server. */ /** Set the Proxy Settings for Connecting to the DDNS server. */
public SetDDnsInternetSettng = (in_param: VpnInternetSetting): Promise<VpnInternetSetting> => public SetDDnsInternetSetting = (in_param: VpnInternetSetting): Promise<VpnInternetSetting> =>
{ {
return this.CallAsync<VpnInternetSetting>("SetDDnsInternetSettng", in_param); return this.CallAsync<VpnInternetSetting>("SetDDnsInternetSetting", 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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen // Automatically generated at 2023-05-10 14:43:37 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-2019 SoftEther VPN Project // Copyright (c) 2014-2023 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_SetDDnsInternetSettng(); await Test_SetDDnsInternetSetting();
await Test_GetDDnsInternetSettng(); await Test_GetDDnsInternetSetting();
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 'GetDDnsInternetSettng', Get DDNS proxy configuration */ /** API test for 'GetDDnsInternetSetting', Get DDNS proxy configuration */
async function Test_GetDDnsInternetSettng(): Promise<void> async function Test_GetDDnsInternetSetting(): Promise<void>
{ {
console.log("Begin: Test_GetDDnsInternetSettng"); console.log("Begin: Test_GetDDnsInternetSetting");
let out_internet_setting: VPN.VpnInternetSetting = await api.GetDDnsInternetSettng(); let out_internet_setting: VPN.VpnInternetSetting = await api.GetDDnsInternetSetting();
console.log(out_internet_setting); console.log(out_internet_setting);
console.log("End: Test_GetDDnsInternetSettng"); console.log("End: Test_GetDDnsInternetSetting");
console.log("-----"); console.log("-----");
console.log(); console.log();
} }
/** API test for 'SetDDnsInternetSettng', Set DDNS proxy configuration */ /** API test for 'SetDDnsInternetSetting', Set DDNS proxy configuration */
async function Test_SetDDnsInternetSettng(): Promise<void> async function Test_SetDDnsInternetSetting(): Promise<void>
{ {
console.log("Begin: Test_SetDDnsInternetSettng"); console.log("Begin: Test_SetDDnsInternetSetting");
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_SetDDnsInternetSettng(): Promise<void>
ProxyUsername_str: "neko", ProxyUsername_str: "neko",
ProxyPassword_str: "dog", ProxyPassword_str: "dog",
}); });
let out_internet_setting: VPN.VpnInternetSetting = await api.SetDDnsInternetSettng(in_internet_setting); let out_internet_setting: VPN.VpnInternetSetting = await api.SetDDnsInternetSetting(in_internet_setting);
console.log(out_internet_setting); console.log(out_internet_setting);
console.log("End: Test_SetDDnsInternetSettng"); console.log("End: Test_SetDDnsInternetSetting");
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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen // Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen
// //
// Licensed under the Apache License 2.0 // Licensed under the Apache License 2.0
// Copyright (c) 2014-2019 SoftEther VPN Project // Copyright (c) 2014-2023 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 GetDDnsInternetSettng = (): Promise<VpnInternetSetting> => public GetDDnsInternetSetting = (): Promise<VpnInternetSetting> =>
{ {
return this.CallAsync<VpnInternetSetting>("GetDDnsInternetSettng", new VpnInternetSetting()); return this.CallAsync<VpnInternetSetting>("GetDDnsInternetSetting", new VpnInternetSetting());
} }
/** Set the Proxy Settings for Connecting to the DDNS server. */ /** Set the Proxy Settings for Connecting to the DDNS server. */
public SetDDnsInternetSettng = (in_param: VpnInternetSetting): Promise<VpnInternetSetting> => public SetDDnsInternetSetting = (in_param: VpnInternetSetting): Promise<VpnInternetSetting> =>
{ {
return this.CallAsync<VpnInternetSetting>("SetDDnsInternetSettng", in_param); return this.CallAsync<VpnInternetSetting>("SetDDnsInternetSetting", 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> GetDDnsInternetSettngAsync() => await CallAsync<VpnInternetSetting>("GetDDnsInternetSettng", new VpnInternetSetting()); public async Task<VpnInternetSetting> GetDDnsInternetSettingAsync() => await CallAsync<VpnInternetSetting>("GetDDnsInternetSetting", 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 GetDDnsInternetSettng() => GetDDnsInternetSettngAsync().Result; public VpnInternetSetting GetDDnsInternetSetting() => GetDDnsInternetSettingAsync().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> SetDDnsInternetSettngAsync(VpnInternetSetting input_param) => await CallAsync<VpnInternetSetting>("SetDDnsInternetSettng", input_param); public async Task<VpnInternetSetting> SetDDnsInternetSettingAsync(VpnInternetSetting input_param) => await CallAsync<VpnInternetSetting>("SetDDnsInternetSetting", 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 SetDDnsInternetSettng(VpnInternetSetting input_param) => SetDDnsInternetSettngAsync(input_param).Result; public VpnInternetSetting SetDDnsInternetSetting(VpnInternetSetting input_param) => SetDDnsInternetSettingAsync(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_SetDDnsInternetSettng(); Test_SetDDnsInternetSetting();
Test_GetDDnsInternetSettng(); Test_GetDDnsInternetSetting();
Test_ChangeDDnsClientHostname(); Test_ChangeDDnsClientHostname();
Test_RegenerateServerCert(); Test_RegenerateServerCert();
@@ -3641,27 +3641,27 @@ class VPNRPCTest
} }
/// <summary> /// <summary>
/// API test for 'GetDDnsInternetSettng', Get DDNS proxy configuration /// API test for 'GetDDnsInternetSetting', Get DDNS proxy configuration
/// </summary> /// </summary>
public void Test_GetDDnsInternetSettng() public void Test_GetDDnsInternetSetting()
{ {
Console.WriteLine("Begin: Test_GetDDnsInternetSettng"); Console.WriteLine("Begin: Test_GetDDnsInternetSetting");
VpnInternetSetting out_internet_setting = api.GetDDnsInternetSettng(); VpnInternetSetting out_internet_setting = api.GetDDnsInternetSetting();
print_object(out_internet_setting); print_object(out_internet_setting);
Console.WriteLine("End: Test_GetDDnsInternetSettng"); Console.WriteLine("End: Test_GetDDnsInternetSetting");
Console.WriteLine("-----"); Console.WriteLine("-----");
Console.WriteLine(); Console.WriteLine();
} }
/// <summary> /// <summary>
/// API test for 'SetDDnsInternetSettng', Set DDNS proxy configuration /// API test for 'SetDDnsInternetSetting', Set DDNS proxy configuration
/// </summary> /// </summary>
public void Test_SetDDnsInternetSettng() public void Test_SetDDnsInternetSetting()
{ {
Console.WriteLine("Begin: Test_SetDDnsInternetSettng"); Console.WriteLine("Begin: Test_SetDDnsInternetSetting");
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.SetDDnsInternetSettng(in_internet_setting); VpnInternetSetting out_internet_setting = api.SetDDnsInternetSetting(in_internet_setting);
print_object(out_internet_setting); print_object(out_internet_setting);
Console.WriteLine("End: Test_SetDDnsInternetSettng"); Console.WriteLine("End: Test_SetDDnsInternetSetting");
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("GetDDnsInternetSettng", INTERNET_SETTING, StGetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting) DECLARE_RPC("GetDDnsInternetSetting", INTERNET_SETTING, StGetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting)
DECLARE_RPC("SetDDnsInternetSettng", INTERNET_SETTING, StSetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting) DECLARE_RPC("SetDDnsInternetSetting", 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("GetDDnsInternetSettng", INTERNET_SETTING, ScGetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting) DECLARE_SC("GetDDnsInternetSetting", INTERNET_SETTING, ScGetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting)
DECLARE_SC("SetDDnsInternetSettng", INTERNET_SETTING, ScSetDDnsInternetSetting, InRpcInternetSetting, OutRpcInternetSetting) DECLARE_SC("SetDDnsInternetSetting", 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,7 +805,12 @@ 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)
+12 -3
View File
@@ -1517,7 +1517,9 @@ 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);
IPCIPv6AssociateOnNDTEx(ipc, &ip_src, p->ICMPv6HeaderPacketInfo.OptionList.SourceLinkLayer->Address, true); if (p->ICMPv6HeaderPacketInfo.OptionList.SourceLinkLayer != NULL) {
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;
@@ -2354,7 +2356,14 @@ 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);
Copy(newRA->RouterLinkLayerAddress, recvPrefix->SourceLinkLayer->Address, 6); if (recvPrefix->SourceLinkLayer != NULL)
{
Copy(newRA->RouterLinkLayerAddress, recvPrefix->SourceLinkLayer->Address, 6);
}
else
{
Zero(newRA->RouterLinkLayerAddress, 6);
}
Add(ipc->IPv6RouterAdvs, newRA); Add(ipc->IPv6RouterAdvs, newRA);
} }
} }
@@ -2657,7 +2666,7 @@ void IPCIPv6SendUnicast(IPC *ipc, void *data, UINT size, IP *next_ip)
} }
destMac = ra.RouterMacAddress; destMac = ra.RouterMacAddress;
if (!IsMacUnicast(destMac) && !IsMacInvalid(ra.RouterMacAddress)) if (!IsMacUnicast(destMac) && !IsMacInvalid(ra.RouterLinkLayerAddress))
{ {
destMac = ra.RouterLinkLayerAddress; destMac = ra.RouterLinkLayerAddress;
} }
+4 -30
View File
@@ -463,39 +463,13 @@ 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 (i = 0; i < LIST_NUM(t->SessionList); i++) for (j = 0; j < LIST_NUM(t->SessionList); j++)
{ {
L2TP_SESSION* s = LIST_DATA(t->SessionList, i); L2TP_SESSION* s = LIST_DATA(t->SessionList, j);
if (s->TubeRecv != NULL && s->TubeRecv->DataTimeout > l2tpTimeout) if (s->TubeRecv != NULL && s->TubeRecv->DataTimeout > l2tpTimeout)
{ {
+14 -4
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)
{ {
+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
}; };
+79 -34
View File
@@ -9340,20 +9340,48 @@ 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)
{ {
// The requested IP address is used already // If an entry for the same IP address already exists,
return 0; // check whether it is a request from the same MAC address
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
// 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; // 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 0; return ret;
} }
// Take an appropriate IP addresses that can be assigned newly // Take an appropriate IP addresses that can be assigned newly
@@ -9540,6 +9568,11 @@ 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)
@@ -9552,6 +9585,14 @@ 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)
@@ -9710,36 +9751,40 @@ void VirtualDhcpServer(VH *v, PKT *p)
} }
else else
{ {
// There is no IP address that can be provided // Reply of DHCP_REQUEST must be either DHCP_ACK or DHCP_NAK
DHCP_OPTION_LIST ret; if (opt->Opcode == DHCP_REQUEST)
LIST *o;
Zero(&ret, sizeof(ret));
ret.Opcode = DHCP_NACK;
ret.ServerAddress = v->HostIP;
StrCpy(ret.DomainName, sizeof(ret.DomainName), v->DhcpDomain);
ret.SubnetMask = v->DhcpMask;
// Build the DHCP option
o = BuildDhcpOption(&ret);
if (o != NULL)
{ {
BUF *b = BuildDhcpOptionsBuf(o); // There is no IP address that can be provided
if (b != NULL) DHCP_OPTION_LIST ret;
{ LIST *o;
UINT dest_ip = p->L3.IPv4Header->SrcIP; Zero(&ret, sizeof(ret));
if (dest_ip == 0)
{
dest_ip = 0xffffffff;
}
// Transmission
VirtualDhcpSend(v, tran_id, dest_ip, Endian16(p->L4.UDPHeader->SrcPort),
ip, dhcp->ClientMacAddress, b, dhcp->HardwareType, dhcp->HardwareAddressSize);
// Release the memory ret.Opcode = DHCP_NACK;
FreeBuf(b); ret.ServerAddress = v->HostIP;
StrCpy(ret.DomainName, sizeof(ret.DomainName), v->DhcpDomain);
ret.SubnetMask = v->DhcpMask;
// Build the DHCP option
o = BuildDhcpOption(&ret);
if (o != NULL)
{
BUF *b = BuildDhcpOptionsBuf(o);
if (b != NULL)
{
UINT dest_ip = p->L3.IPv4Header->SrcIP;
if (dest_ip == 0)
{
dest_ip = 0xffffffff;
}
// Transmission
VirtualDhcpSend(v, tran_id, dest_ip, Endian16(p->L4.UDPHeader->SrcPort),
ip, dhcp->ClientMacAddress, b, dhcp->HardwareType, dhcp->HardwareAddressSize);
// Release the memory
FreeBuf(b);
}
FreeDhcpOptions(o);
} }
FreeDhcpOptions(o);
} }
} }
} }
+2
View File
@@ -0,0 +1,2 @@
set(oqs_FOUND TRUE)
add_library(OQS::oqs ALIAS oqs)
+16
View File
@@ -18,6 +18,22 @@ 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,7 +20,9 @@
#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>
@@ -40,6 +42,10 @@
#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
@@ -88,6 +94,7 @@ 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;
@@ -344,6 +351,11 @@ 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());
@@ -3974,6 +3986,12 @@ 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
} }
@@ -3996,6 +4014,13 @@ 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);
@@ -4584,6 +4609,11 @@ 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 -1
View File
@@ -4259,7 +4259,7 @@ UINT MsService(char *name, SERVICE_FUNCTION *start, SERVICE_FUNCTION *stop, UINT
if ((mode == SVC_MODE_INSTALL || mode == SVC_MODE_UNINSTALL || mode == SVC_MODE_START || if ((mode == SVC_MODE_INSTALL || mode == SVC_MODE_UNINSTALL || mode == SVC_MODE_START ||
mode == SVC_MODE_STOP || mode == SVC_MODE_SERVICE) && mode == SVC_MODE_STOP || mode == SVC_MODE_SERVICE) &&
(ms->IsNt == false)) (IsNt() == false))
{ {
// Tried to use the command for the NT in non-WindowsNT system // Tried to use the command for the NT in non-WindowsNT system
MsgBox(NULL, MB_ICONSTOP, _UU("SVC_NT_ONLY")); MsgBox(NULL, MB_ICONSTOP, _UU("SVC_NT_ONLY"));
-1
View File
@@ -170,7 +170,6 @@ typedef struct MS
{ {
HINSTANCE hInst; HINSTANCE hInst;
HINSTANCE hKernel32; HINSTANCE hKernel32;
bool IsNt;
bool IsAdmin; bool IsAdmin;
HANDLE hCurrentProcess; HANDLE hCurrentProcess;
UINT CurrentProcessId; UINT CurrentProcessId;
+95 -21
View File
@@ -6993,6 +6993,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,6 +11872,12 @@ 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
@@ -11905,6 +11923,10 @@ 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);
@@ -11984,7 +12006,7 @@ bool StartSSLEx3(SOCK *sock, X *x, K *priv, LIST *chain, UINT ssl_timeout, char
// Unlock(ssl_connect_lock); // Unlock(ssl_connect_lock);
} }
else else
{ {
prev_timeout = GetTimeout(sock); prev_timeout = GetTimeout(sock);
SetTimeout(sock, ssl_timeout); SetTimeout(sock, ssl_timeout);
// Client mode // Client mode
@@ -12285,9 +12307,15 @@ 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
@@ -12295,7 +12323,8 @@ 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;
} }
if (ret < 0) #endif
if (ret <= 0)
{ {
// An error has occurred // An error has occurred
e = SSL_get_error(ssl, ret); e = SSL_get_error(ssl, ret);
@@ -12303,14 +12332,18 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
{ {
if (e == SSL_ERROR_SSL if (e == SSL_ERROR_SSL
#if OPENSSL_VERSION_NUMBER < 0x10100000L #if OPENSSL_VERSION_NUMBER < 0x10100000L
&& &&
sock->ssl->s3->send_alert[0] == SSL3_AL_FATAL && sock->ssl->s3->send_alert[0] == SSL3_AL_FATAL &&
sock->ssl->s3->send_alert[0] != sock->Ssl_Init_Async_SendAlert[0] && sock->ssl->s3->send_alert[0] != sock->Ssl_Init_Async_SendAlert[0] &&
sock->ssl->s3->send_alert[1] != sock->Ssl_Init_Async_SendAlert[1] sock->ssl->s3->send_alert[1] != sock->Ssl_Init_Async_SendAlert[1]
#endif #endif
) )
{ {
Debug("%s %u SSL Fatal Error on ASYNC socket !!!\n", __FILE__, __LINE__); 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); Disconnect(sock);
return 0; return 0;
} }
@@ -12337,14 +12370,15 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
} }
#endif // OS_UNIX #endif // OS_UNIX
// Run the time-out thread for SOLARIS // Run the time-out thread for SOLARIS
#ifdef UNIX_SOLARIS #ifdef UNIX_SOLARIS
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
#ifdef UNIX_SOLARIS #ifdef UNIX_SOLARIS
FreeSocketTimeout(ttparam); FreeSocketTimeout(ttparam);
#endif // UNIX_SOLARIS #endif // UNIX_SOLARIS
@@ -12357,7 +12391,11 @@ UINT SecureRecv(SOCK *sock, void *data, UINT size)
} }
#endif // OS_UNIX #endif // OS_UNIX
if (ret < 0) #if OPENSSL_VERSION_NUMBER < 0x30000000L
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);
} }
@@ -12380,6 +12418,12 @@ 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
@@ -12387,20 +12431,26 @@ 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)
{ {
if (e == SSL_ERROR_SSL if (e == SSL_ERROR_SSL
#if OPENSSL_VERSION_NUMBER < 0x10100000L #if OPENSSL_VERSION_NUMBER < 0x10100000L
&& &&
sock->ssl->s3->send_alert[0] == SSL3_AL_FATAL && sock->ssl->s3->send_alert[0] == SSL3_AL_FATAL &&
sock->ssl->s3->send_alert[0] != sock->Ssl_Init_Async_SendAlert[0] && sock->ssl->s3->send_alert[0] != sock->Ssl_Init_Async_SendAlert[0] &&
sock->ssl->s3->send_alert[1] != sock->Ssl_Init_Async_SendAlert[1] sock->ssl->s3->send_alert[1] != sock->Ssl_Init_Async_SendAlert[1]
#endif #endif
) )
{ {
Debug("%s %u SSL Fatal Error on ASYNC socket !!!\n", __FILE__, __LINE__); 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); Disconnect(sock);
return 0; return 0;
} }
@@ -12409,8 +12459,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;
} }
@@ -12437,8 +12487,13 @@ 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 (ret < 0) #if OPENSSL_VERSION_NUMBER < 0x30000000L
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);
} }
@@ -12460,6 +12515,8 @@ 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
@@ -12467,18 +12524,29 @@ 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 SecureSend() Disconnect\n", __FILE__, __LINE__); Debug("%s %u e=%u SecureSend() Disconnect\n", __FILE__, __LINE__, e);
Disconnect(sock); Disconnect(sock);
return 0; return 0;
} }
@@ -16200,6 +16268,12 @@ 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
+5
View File
@@ -59,6 +59,10 @@ 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"
@@ -1289,6 +1293,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);
+9 -9
View File
@@ -115,7 +115,7 @@ ERR_48 Не удалось подключиться к контроллер
ERR_49 Контроллеру кластера не удалось установить новую сессию в кластере. ERR_49 Контроллеру кластера не удалось установить новую сессию в кластере.
ERR_50 Не удается управлять Virtual Hub-ом сервера-члена кластера. ERR_50 Не удается управлять Virtual Hub-ом сервера-члена кластера.
ERR_51 Удаленное подключение запрещено, т.к. использован пустой пароль пользователя. Пустой пароль может быть разрешен только для соединений с локального хоста VPN-сервера (127.0.0.1). ERR_51 Удаленное подключение запрещено, т.к. использован пустой пароль пользователя. Пустой пароль может быть разрешен только для соединений с локального хоста VPN-сервера (127.0.0.1).
ERR_52 Не достаточно прав. ERR_52 Недостаточно прав.
ERR_53 Указанный порт прослушивания не найден. ERR_53 Указанный порт прослушивания не найден.
ERR_54 Указанный порт прослушивания уже существует. ERR_54 Указанный порт прослушивания уже существует.
ERR_55 Этот сервер не член кластера. ERR_55 Этот сервер не член кластера.
@@ -2421,8 +2421,8 @@ STATIC17 Другие конфигурации:
R_NO_ROUTING Не вносить изменения в таблицу маршрутизации R_NO_ROUTING Не вносить изменения в таблицу маршрутизации
STATIC18 Если у вас нет опыта работы с сетью и безопасностью, то оставьте настройки в этом окне по умолчанию. STATIC18 Если у вас нет опыта работы с сетью и безопасностью, то оставьте настройки в этом окне по умолчанию.
STATIC19 Функции VoIP/QoS обрабатывают пакеты (например VoIP) с высоким приоритетом для более быстрой передачи. STATIC19 Функции VoIP/QoS обрабатывают пакеты (например VoIP) с высоким приоритетом для более быстрой передачи.
STATIC20 Source IP Address: STATIC20 IP адрес источника:
STATIC21 Source Port Number: STATIC21 Номер порта:
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 или авторизация в домене".
@@ -2533,7 +2533,7 @@ S_STATIC Примечание: Вы не сможете изменить па
PREFIX D_SM_MAIN PREFIX D_SM_MAIN
CAPTION SoftEther VPN-сервер менеджер Developer Edition CAPTION SoftEther VPN-сервер менеджер Developer Edition
STATIC1 Настройки подключения для VPN-сервера: STATIC1 Настройки подключения для VPN-сервера:
STATIC2 Настройки подключения для VPN-сервера или VPN-моста. Чтобы подключиться к серверу дважды щелкните по его названию.\r\n Чтобы добавить новое подключение, нажмите "Новое подключение". STATIC2 Настройки подключения для VPN-сервера или VPN-моста. Чтобы подключиться к серверу дважды щелкните по его названию.\r\nЧтобы добавить новое подключение, нажмите "Новое подключение".
B_NEW_SETTING &Создать B_NEW_SETTING &Создать
B_EDIT_SETTING &Изменить B_EDIT_SETTING &Изменить
B_DELETE &Удалить B_DELETE &Удалить
@@ -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, на который у вас есть права.
@@ -4111,7 +4111,7 @@ S_LATEST_STR Версия %S%s
PREFIX D_UPDATE_CONFIG PREFIX D_UPDATE_CONFIG
CAPTION Настройка уведомлений об обновлении CAPTION Настройка уведомлений об обновлении
S_INFO Периодически проверяет новые версии %s и показывает уведомление, когда будет выпущена новая версия.\r\n\r\nДля проверки обновлений будут использоваться HTTPS пакеты между этим компьютером и сервером обновлений SoftEther, расположенным в городе Цукуба, префектура Ибараки, Япония. Никакая личная информация отправляться не будет. S_INFO Периодически проверяет новые версии %s и показывает уведомление, когда будет выпущена новая версия.\r\n\r\nДля проверки обновлений будут использоваться HTTPS пакеты между этим компьютером и сервером обновлений SoftEther, расположенным в городе Цукуба, префектура Ибараки, Япония. Никакая личная информация отправляться не будет.
S_TITLE %s настройки уведомлений об обновлении S_TITLE %s настройки уведомлений об обновлении
S_ENABLE &Включить проверку обновлений S_ENABLE &Включить проверку обновлений
S_DISABLE &Отключить проверку обновлений S_DISABLE &Отключить проверку обновлений
+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="#getddnsinternetsettng">GetDDnsInternetSettng - Get the Proxy Settings for Connecting to the DDNS server</a></li> <li><a href="#getddnsinternetsetting">GetDDnsInternetSetting - Get 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="#setddnsinternetsetting">SetDDnsInternetSetting - 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;2020-08-01T12:24:36.123&quot;, &quot;ServerBuildDate_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CurrentTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CurrentTick_u64&quot;: 0, &quot;CurrentTick_u64&quot;: 0,
&quot;StartTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;StartedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;FirstConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;FirstConnectedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CurrentConnectedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CurrentConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastLoginTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CreatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ConnectedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LastLoginTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;Expires_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot; &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;StartTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;FirstConnectionEstablisiedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;CurrentConnectionEstablishTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;UpdatedTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;CreatedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;LastCommTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;LastCommTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot;, &quot;LeasedTime_dt&quot;: &quot;2024-08-01T12:24:36.123&quot;,
&quot;ExpireTime_dt&quot;: &quot;2020-08-01T12:24:36.123&quot;, &quot;ExpireTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2024-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;2020-08-01T12:24:36.123&quot; &quot;UpdatedTime_dt&quot;: &quot;2024-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="getddnsinternetsettng"></a></p> <p><a id="getddnsinternetsetting"></a></p>
<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> <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>
<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;GetDDnsInternetSettng&quot;, &quot;method&quot;: &quot;GetDDnsInternetSetting&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="setddnsinternetsettng"></a></p> <p><a id="setddnsinternetsetting"></a></p>
<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> <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>
<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;SetDDnsInternetSettng&quot;, &quot;method&quot;: &quot;SetDDnsInternetSetting&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 2019-07-10 14:36:11 by vpnserver-jsonrpc-codegen.<br /> <p>Automatically generated at 2023-05-10 14:43:37 by vpnserver-jsonrpc-codegen.<br />
Copyright (c) 2014-2019 <a href="https://www.softether.org/">SoftEther VPN Project</a> under the Apache License 2.0.</p> Copyright (c) 2014-2023 <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
+230 -222
View File
@@ -31,78 +31,58 @@
"dev": true "dev": true
}, },
"@jridgewell/gen-mapping": { "@jridgewell/gen-mapping": {
"version": "0.3.2", "version": "0.3.5",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
"integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@jridgewell/set-array": "^1.0.1", "@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/sourcemap-codec": "^1.4.10",
"@jridgewell/trace-mapping": "^0.3.9" "@jridgewell/trace-mapping": "^0.3.24"
} }
}, },
"@jridgewell/resolve-uri": { "@jridgewell/resolve-uri": {
"version": "3.1.0", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true "dev": true
}, },
"@jridgewell/set-array": { "@jridgewell/set-array": {
"version": "1.1.2", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
"dev": true "dev": true
}, },
"@jridgewell/source-map": { "@jridgewell/source-map": {
"version": "0.3.2", "version": "0.3.6",
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
"integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.9" "@jridgewell/trace-mapping": "^0.3.25"
} }
}, },
"@jridgewell/sourcemap-codec": { "@jridgewell/sourcemap-codec": {
"version": "1.4.14", "version": "1.5.0",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
"dev": true "dev": true
}, },
"@jridgewell/trace-mapping": { "@jridgewell/trace-mapping": {
"version": "0.3.17", "version": "0.3.25",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
"integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"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": "0.0.51", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
"integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true "dev": true
}, },
"@types/jquery": { "@types/jquery": {
@@ -115,16 +95,19 @@
} }
}, },
"@types/json-schema": { "@types/json-schema": {
"version": "7.0.11", "version": "7.0.15",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
"dev": true "dev": true
}, },
"@types/node": { "@types/node": {
"version": "18.15.3", "version": "22.5.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz",
"integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==", "integrity": "sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==",
"dev": true "dev": true,
"requires": {
"undici-types": "~6.19.2"
}
}, },
"@types/sizzle": { "@types/sizzle": {
"version": "2.3.2", "version": "2.3.2",
@@ -133,148 +116,148 @@
"dev": true "dev": true
}, },
"@webassemblyjs/ast": { "@webassemblyjs/ast": {
"version": "1.11.1", "version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
"integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/helper-numbers": "1.11.1", "@webassemblyjs/helper-numbers": "1.11.6",
"@webassemblyjs/helper-wasm-bytecode": "1.11.1" "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
} }
}, },
"@webassemblyjs/floating-point-hex-parser": { "@webassemblyjs/floating-point-hex-parser": {
"version": "1.11.1", "version": "1.11.6",
"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
"integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
"dev": true "dev": true
}, },
"@webassemblyjs/helper-api-error": { "@webassemblyjs/helper-api-error": {
"version": "1.11.1", "version": "1.11.6",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
"integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
"dev": true "dev": true
}, },
"@webassemblyjs/helper-buffer": { "@webassemblyjs/helper-buffer": {
"version": "1.11.1", "version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
"integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
"dev": true "dev": true
}, },
"@webassemblyjs/helper-numbers": { "@webassemblyjs/helper-numbers": {
"version": "1.11.1", "version": "1.11.6",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
"integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/floating-point-hex-parser": "1.11.1", "@webassemblyjs/floating-point-hex-parser": "1.11.6",
"@webassemblyjs/helper-api-error": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.6",
"@xtuc/long": "4.2.2" "@xtuc/long": "4.2.2"
} }
}, },
"@webassemblyjs/helper-wasm-bytecode": { "@webassemblyjs/helper-wasm-bytecode": {
"version": "1.11.1", "version": "1.11.6",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
"integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
"dev": true "dev": true
}, },
"@webassemblyjs/helper-wasm-section": { "@webassemblyjs/helper-wasm-section": {
"version": "1.11.1", "version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
"integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.11.1", "@webassemblyjs/ast": "1.12.1",
"@webassemblyjs/helper-buffer": "1.11.1", "@webassemblyjs/helper-buffer": "1.12.1",
"@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
"@webassemblyjs/wasm-gen": "1.11.1" "@webassemblyjs/wasm-gen": "1.12.1"
} }
}, },
"@webassemblyjs/ieee754": { "@webassemblyjs/ieee754": {
"version": "1.11.1", "version": "1.11.6",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
"integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@xtuc/ieee754": "^1.2.0" "@xtuc/ieee754": "^1.2.0"
} }
}, },
"@webassemblyjs/leb128": { "@webassemblyjs/leb128": {
"version": "1.11.1", "version": "1.11.6",
"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
"integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@xtuc/long": "4.2.2" "@xtuc/long": "4.2.2"
} }
}, },
"@webassemblyjs/utf8": { "@webassemblyjs/utf8": {
"version": "1.11.1", "version": "1.11.6",
"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
"integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
"dev": true "dev": true
}, },
"@webassemblyjs/wasm-edit": { "@webassemblyjs/wasm-edit": {
"version": "1.11.1", "version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
"integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.11.1", "@webassemblyjs/ast": "1.12.1",
"@webassemblyjs/helper-buffer": "1.11.1", "@webassemblyjs/helper-buffer": "1.12.1",
"@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
"@webassemblyjs/helper-wasm-section": "1.11.1", "@webassemblyjs/helper-wasm-section": "1.12.1",
"@webassemblyjs/wasm-gen": "1.11.1", "@webassemblyjs/wasm-gen": "1.12.1",
"@webassemblyjs/wasm-opt": "1.11.1", "@webassemblyjs/wasm-opt": "1.12.1",
"@webassemblyjs/wasm-parser": "1.11.1", "@webassemblyjs/wasm-parser": "1.12.1",
"@webassemblyjs/wast-printer": "1.11.1" "@webassemblyjs/wast-printer": "1.12.1"
} }
}, },
"@webassemblyjs/wasm-gen": { "@webassemblyjs/wasm-gen": {
"version": "1.11.1", "version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
"integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.11.1", "@webassemblyjs/ast": "1.12.1",
"@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
"@webassemblyjs/ieee754": "1.11.1", "@webassemblyjs/ieee754": "1.11.6",
"@webassemblyjs/leb128": "1.11.1", "@webassemblyjs/leb128": "1.11.6",
"@webassemblyjs/utf8": "1.11.1" "@webassemblyjs/utf8": "1.11.6"
} }
}, },
"@webassemblyjs/wasm-opt": { "@webassemblyjs/wasm-opt": {
"version": "1.11.1", "version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
"integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.11.1", "@webassemblyjs/ast": "1.12.1",
"@webassemblyjs/helper-buffer": "1.11.1", "@webassemblyjs/helper-buffer": "1.12.1",
"@webassemblyjs/wasm-gen": "1.11.1", "@webassemblyjs/wasm-gen": "1.12.1",
"@webassemblyjs/wasm-parser": "1.11.1" "@webassemblyjs/wasm-parser": "1.12.1"
} }
}, },
"@webassemblyjs/wasm-parser": { "@webassemblyjs/wasm-parser": {
"version": "1.11.1", "version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
"integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.11.1", "@webassemblyjs/ast": "1.12.1",
"@webassemblyjs/helper-api-error": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.6",
"@webassemblyjs/helper-wasm-bytecode": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
"@webassemblyjs/ieee754": "1.11.1", "@webassemblyjs/ieee754": "1.11.6",
"@webassemblyjs/leb128": "1.11.1", "@webassemblyjs/leb128": "1.11.6",
"@webassemblyjs/utf8": "1.11.1" "@webassemblyjs/utf8": "1.11.6"
} }
}, },
"@webassemblyjs/wast-printer": { "@webassemblyjs/wast-printer": {
"version": "1.11.1", "version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
"integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.11.1", "@webassemblyjs/ast": "1.12.1",
"@xtuc/long": "4.2.2" "@xtuc/long": "4.2.2"
} }
}, },
@@ -309,15 +292,15 @@
"dev": true "dev": true
}, },
"acorn": { "acorn": {
"version": "8.8.2", "version": "8.12.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
"integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
"dev": true "dev": true
}, },
"acorn-import-assertions": { "acorn-import-attributes": {
"version": "1.8.0", "version": "1.9.5",
"resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
"integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
"dev": true "dev": true
}, },
"ajv": { "ajv": {
@@ -373,24 +356,35 @@
} }
}, },
"braces": { "braces": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true, "dev": true,
"requires": { "requires": {
"fill-range": "^7.0.1" "fill-range": "^7.1.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.21.5", "version": "4.23.3",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz",
"integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==",
"dev": true, "dev": true,
"requires": { "requires": {
"caniuse-lite": "^1.0.30001449", "caniuse-lite": "^1.0.30001646",
"electron-to-chromium": "^1.4.284", "electron-to-chromium": "^1.5.4",
"node-releases": "^2.0.8", "node-releases": "^2.0.18",
"update-browserslist-db": "^1.0.10" "update-browserslist-db": "^1.1.0"
} }
}, },
"buffer-from": { "buffer-from": {
@@ -406,9 +400,9 @@
"dev": true "dev": true
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001466", "version": "1.0.30001655",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001466.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz",
"integrity": "sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==", "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==",
"dev": true "dev": true
}, },
"chalk": { "chalk": {
@@ -423,9 +417,9 @@
} }
}, },
"chrome-trace-event": { "chrome-trace-event": {
"version": "1.0.3", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
"integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
"dev": true "dev": true
}, },
"clone-deep": { "clone-deep": {
@@ -495,9 +489,9 @@
"dev": true "dev": true
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.4.330", "version": "1.5.13",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.330.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz",
"integrity": "sha512-PqyefhybrVdjAJ45HaPLtuVaehiSw7C3ya0aad+rvmV53IVyXmYRk3pwIOb2TxTDTnmgQdn46NjMMaysx79/6Q==", "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==",
"dev": true "dev": true
}, },
"enhanced-resolve": { "enhanced-resolve": {
@@ -517,15 +511,15 @@
"dev": true "dev": true
}, },
"es-module-lexer": { "es-module-lexer": {
"version": "0.9.3", "version": "1.5.4",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz",
"integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==",
"dev": true "dev": true
}, },
"escalade": { "escalade": {
"version": "3.1.1", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"dev": true "dev": true
}, },
"escape-string-regexp": { "escape-string-regexp": {
@@ -603,15 +597,6 @@
"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",
@@ -899,9 +884,9 @@
"dev": true "dev": true
}, },
"node-releases": { "node-releases": {
"version": "2.0.10", "version": "2.0.18",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
"integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
"dev": true "dev": true
}, },
"once": { "once": {
@@ -962,9 +947,9 @@
"dev": true "dev": true
}, },
"picocolors": { "picocolors": {
"version": "1.0.0", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
"dev": true "dev": true
}, },
"picomatch": { "picomatch": {
@@ -983,9 +968,9 @@
} }
}, },
"punycode": { "punycode": {
"version": "2.3.0", "version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true "dev": true
}, },
"randombytes": { "randombytes": {
@@ -1050,9 +1035,9 @@
"dev": true "dev": true
}, },
"schema-utils": { "schema-utils": {
"version": "3.1.1", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/json-schema": "^7.0.8", "@types/json-schema": "^7.0.8",
@@ -1067,9 +1052,9 @@
"dev": true "dev": true
}, },
"serialize-javascript": { "serialize-javascript": {
"version": "6.0.1", "version": "6.0.2",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
"integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
"dev": true, "dev": true,
"requires": { "requires": {
"randombytes": "^2.1.0" "randombytes": "^2.1.0"
@@ -1143,28 +1128,28 @@
"dev": true "dev": true
}, },
"terser": { "terser": {
"version": "5.16.6", "version": "5.31.6",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz",
"integrity": "sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==", "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@jridgewell/source-map": "^0.3.2", "@jridgewell/source-map": "^0.3.3",
"acorn": "^8.5.0", "acorn": "^8.8.2",
"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.7", "version": "5.3.10",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
"integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@jridgewell/trace-mapping": "^0.3.17", "@jridgewell/trace-mapping": "^0.3.20",
"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.16.5" "terser": "^5.26.0"
} }
}, },
"to-regex-range": { "to-regex-range": {
@@ -1290,14 +1275,20 @@
"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.0.10", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
"integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"escalade": "^3.1.1", "escalade": "^3.1.2",
"picocolors": "^1.0.0" "picocolors": "^1.0.1"
} }
}, },
"uri-js": { "uri-js": {
@@ -1316,9 +1307,9 @@
"dev": true "dev": true
}, },
"watchpack": { "watchpack": {
"version": "2.4.0", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
"integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
"dev": true, "dev": true,
"requires": { "requires": {
"glob-to-regexp": "^0.4.1", "glob-to-regexp": "^0.4.1",
@@ -1326,35 +1317,52 @@
} }
}, },
"webpack": { "webpack": {
"version": "5.76.0", "version": "5.94.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.0.tgz", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz",
"integrity": "sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==", "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5",
"@types/estree": "^0.0.51", "@webassemblyjs/ast": "^1.12.1",
"@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "^1.12.1",
"@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "^1.12.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.7.1", "acorn": "^8.7.1",
"acorn-import-assertions": "^1.7.6", "acorn-import-attributes": "^1.9.5",
"browserslist": "^4.14.5", "browserslist": "^4.21.10",
"chrome-trace-event": "^1.0.2", "chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.10.0", "enhanced-resolve": "^5.17.1",
"es-module-lexer": "^0.9.0", "es-module-lexer": "^1.2.1",
"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.9", "graceful-fs": "^4.2.11",
"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.1.0", "schema-utils": "^3.2.0",
"tapable": "^2.1.1", "tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3", "terser-webpack-plugin": "^5.3.10",
"watchpack": "^2.4.0", "watchpack": "^2.4.1",
"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": {
+7 -1
View File
@@ -6,7 +6,9 @@
// VPN Command Line Management Utility // VPN Command Line Management Utility
#include "Cedar/Cedar.h" #include "Cedar/Cedar.h"
#ifdef OS_WIN32
#include "Cedar/CMInner.h"
#endif
#include "Cedar/Command.h" #include "Cedar/Command.h"
#include "Mayaqua/Internat.h" #include "Mayaqua/Internat.h"
@@ -39,6 +41,10 @@ int main(int argc, char *argv[])
#endif #endif
InitCedar(); InitCedar();
#ifdef OS_WIN32
CmExecUiHelperMain();
#endif
s = GetCommandLineUniStr(); s = GetCommandLineUniStr();
if (s == NULL) if (s == NULL)
+2 -5
View File
@@ -4,11 +4,8 @@ After=network.target auditd.service
ConditionPathExists=!@DIR@/softether/vpnbridge/do_not_run ConditionPathExists=!@DIR@/softether/vpnbridge/do_not_run
[Service] [Service]
Type=forking Type=exec
EnvironmentFile=-@DIR@/softether/vpnbridge ExecStart=@DIR@/softether/vpnbridge/vpnbridge execsvc
ExecStart=@DIR@/softether/vpnbridge/vpnbridge start
ExecStop=@DIR@/softether/vpnbridge/vpnbridge stop
KillMode=process
Restart=on-failure Restart=on-failure
# Hardening # Hardening
+2 -5
View File
@@ -4,11 +4,8 @@ After=network.target auditd.service
ConditionPathExists=!@DIR@/softether/vpnclient/do_not_run ConditionPathExists=!@DIR@/softether/vpnclient/do_not_run
[Service] [Service]
Type=forking Type=exec
EnvironmentFile=-@DIR@/softether/vpnclient ExecStart=@DIR@/softether/vpnclient/vpnclient execsvc
ExecStart=@DIR@/softether/vpnclient/vpnclient start
ExecStop=@DIR@/softether/vpnclient/vpnclient stop
KillMode=process
Restart=on-failure Restart=on-failure
# Hardening # Hardening
+2 -5
View File
@@ -4,12 +4,9 @@ After=network.target auditd.service
ConditionPathExists=!@DIR@/softether/vpnserver/do_not_run ConditionPathExists=!@DIR@/softether/vpnserver/do_not_run
[Service] [Service]
Type=forking Type=exec
TasksMax=infinity TasksMax=infinity
EnvironmentFile=-@DIR@/softether/vpnserver ExecStart=@DIR@/softether/vpnserver/vpnserver execsvc
ExecStart=@DIR@/softether/vpnserver/vpnserver start
ExecStop=@DIR@/softether/vpnserver/vpnserver stop
KillMode=process
Restart=on-failure Restart=on-failure
# Hardening # Hardening