Hi !
Is there a documentation/api which can be used to make own software to control VPN Client ?
VPN Client Management
-
- Posts: 65
- Joined: Mon Nov 17, 2014 2:11 pm
Re: VPN Client Management
You can control remotely with "SoftEther VPN Client Remote Manager" and it have all you need. If you want to control from console try to use vpncmd or build your own soft from source.
-
- Posts: 65
- Joined: Mon Nov 17, 2014 2:11 pm
Re: VPN Client Management
# ./vpncmd --help
vpncmd command - SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.12 Build 9514 (English)
Compiled 2014/11/17 22:16:06 by yagi at pc25
Copyright (c) SoftEther VPN Project. All Rights Reserved.
Help for command "vpncmd"
Purpose:
SoftEther VPN Command Line Management Utility
Description:
The 'vpncmd' program is a utility that allows you to manage SoftEther VPN software by using command lines. By using vpncmd, you can connect to a VPN Client, a VPN Server or VPN Bridge that is running on a local or remote computer and manage these services. Moreover,
by using VPN Tools mode, you can call the Network Traffic Speed Test Tool and the certificate creation function. These can be used even when not connected to the VPN Server or VPN Client.
When using vpncmd, if the file name is specified by using the /IN and /OUT parameter, the command can be executed in a batch according to a file in which the executable commands are enumerated and the execution results can be written to a file. Normally a command
prompt will appear after vpncmd is launched but when an input file is specified by the /IN parameter, the program will automatically terminate after the execution of all lines in the input file is complete. Also, when a command to execute is specified by the /CMD
parameter, the program will automatically terminate after the execution of that command is complete. You cannot specify the /IN parameter and the /CMD parameter at the same time. The termination code of the vpncmd program will be the error code of the last executed
command (0 in the case of successful execution).
Under a Windows environment, when vpncmd is launched once or more by a user with administrator privileges, it is possible to simply input 'vpncmd' to a Windows command prompt or [Run...] window to launch vpncmd. To achieve the same result under a UNIX system, you can
manually set, as appropriate, the PATH environment variable.
Usage:
vpncmd [host:port] [/CLIENT|/SERVER|/TOOLS] [/HUB:hub] [/ADMINHUB:adminhub] [/PASSWORD:password] [/IN:infile] [/OUT:outfile] [/CMD commands...]
Parameters:
host:port - By specifying parameters in the format "host name:port number", a connection will automatically be made to that host. If this is not specified, a prompt will appear to input the connection destination. When connecting to a VPN Client, you cannot specify a
port number.
/CLIENT - This will connect to VPN Client to do management. You cannot specify it together with /SERVER.
/SERVER - This will connect to VPN Server or VPN Bridge to do management. You cannot specify it together with /CLIENT.
/TOOLS - This will enables use of VPN Tools commands. VPN Tools include the simple certificate creation tool (MakeCert command) and the Network Traffic Speed Test Tool (SpeedTest command).
/HUB - When connecting to the VPN Server by "Virtual Hub Admin Mode", this specifies the Virtual Hub name 'hub'. If you specify the host name but not the /HUB parameter, connection will be by "Server Admin Mode".
/ADMINHUB - This will specify the name of the Virtual Hub 'adminhub' that is automatically selected after connecting to the VPN Server. If the /HUB parameter was specified, the Virtual Hub will be selected automatically and this specification will not be necessary.
/PASSWORD - If the administrator password is required when connecting, specify the password 'password'. When the password is not specified, a prompt to input the password will be displayed.
/IN - This will specify the text file 'infile' that contains the list of commands that are automatically executed after the connection is completed. If the /IN parameter is specified, the vpncmd program will terminate automatically after the execution of all
commands in the file are finished. If the file contains multiple-byte characters, the encoding must be Unicode (UTF-8). This cannot be specified together with /CMD (if /CMD is specified, /IN will be ignored).
/OUT - You can specify the text file 'outfile' to write all strings such as onscreen prompts, message, error and execution results. Note that if the specified file already exists, the contents of the existing file will be overwritten. Output strings will be
recorded using Unicode (UTF-8) encoding.
/CMD - If the optional command 'commands...' is included after /CMD, that command will be executed after the connection is complete and the vpncmd program will terminate after that. This cannot be specified together with /IN (if specified together with /IN, /IN
will be ignored). Specify the /CMD parameter after all other vpncmd parameters.
/CSV - You can specify this option to enable CSV outputs. Results of each command will be printed in the CSV format. It is useful for processing the results by other programs.
vpncmd command - SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.12 Build 9514 (English)
Compiled 2014/11/17 22:16:06 by yagi at pc25
Copyright (c) SoftEther VPN Project. All Rights Reserved.
Help for command "vpncmd"
Purpose:
SoftEther VPN Command Line Management Utility
Description:
The 'vpncmd' program is a utility that allows you to manage SoftEther VPN software by using command lines. By using vpncmd, you can connect to a VPN Client, a VPN Server or VPN Bridge that is running on a local or remote computer and manage these services. Moreover,
by using VPN Tools mode, you can call the Network Traffic Speed Test Tool and the certificate creation function. These can be used even when not connected to the VPN Server or VPN Client.
When using vpncmd, if the file name is specified by using the /IN and /OUT parameter, the command can be executed in a batch according to a file in which the executable commands are enumerated and the execution results can be written to a file. Normally a command
prompt will appear after vpncmd is launched but when an input file is specified by the /IN parameter, the program will automatically terminate after the execution of all lines in the input file is complete. Also, when a command to execute is specified by the /CMD
parameter, the program will automatically terminate after the execution of that command is complete. You cannot specify the /IN parameter and the /CMD parameter at the same time. The termination code of the vpncmd program will be the error code of the last executed
command (0 in the case of successful execution).
Under a Windows environment, when vpncmd is launched once or more by a user with administrator privileges, it is possible to simply input 'vpncmd' to a Windows command prompt or [Run...] window to launch vpncmd. To achieve the same result under a UNIX system, you can
manually set, as appropriate, the PATH environment variable.
Usage:
vpncmd [host:port] [/CLIENT|/SERVER|/TOOLS] [/HUB:hub] [/ADMINHUB:adminhub] [/PASSWORD:password] [/IN:infile] [/OUT:outfile] [/CMD commands...]
Parameters:
host:port - By specifying parameters in the format "host name:port number", a connection will automatically be made to that host. If this is not specified, a prompt will appear to input the connection destination. When connecting to a VPN Client, you cannot specify a
port number.
/CLIENT - This will connect to VPN Client to do management. You cannot specify it together with /SERVER.
/SERVER - This will connect to VPN Server or VPN Bridge to do management. You cannot specify it together with /CLIENT.
/TOOLS - This will enables use of VPN Tools commands. VPN Tools include the simple certificate creation tool (MakeCert command) and the Network Traffic Speed Test Tool (SpeedTest command).
/HUB - When connecting to the VPN Server by "Virtual Hub Admin Mode", this specifies the Virtual Hub name 'hub'. If you specify the host name but not the /HUB parameter, connection will be by "Server Admin Mode".
/ADMINHUB - This will specify the name of the Virtual Hub 'adminhub' that is automatically selected after connecting to the VPN Server. If the /HUB parameter was specified, the Virtual Hub will be selected automatically and this specification will not be necessary.
/PASSWORD - If the administrator password is required when connecting, specify the password 'password'. When the password is not specified, a prompt to input the password will be displayed.
/IN - This will specify the text file 'infile' that contains the list of commands that are automatically executed after the connection is completed. If the /IN parameter is specified, the vpncmd program will terminate automatically after the execution of all
commands in the file are finished. If the file contains multiple-byte characters, the encoding must be Unicode (UTF-8). This cannot be specified together with /CMD (if /CMD is specified, /IN will be ignored).
/OUT - You can specify the text file 'outfile' to write all strings such as onscreen prompts, message, error and execution results. Note that if the specified file already exists, the contents of the existing file will be overwritten. Output strings will be
recorded using Unicode (UTF-8) encoding.
/CMD - If the optional command 'commands...' is included after /CMD, that command will be executed after the connection is complete and the vpncmd program will terminate after that. This cannot be specified together with /IN (if specified together with /IN, /IN
will be ignored). Specify the /CMD parameter after all other vpncmd parameters.
/CSV - You can specify this option to enable CSV outputs. Results of each command will be printed in the CSV format. It is useful for processing the results by other programs.
-
- Posts: 65
- Joined: Mon Nov 17, 2014 2:11 pm
Re: VPN Client Management
PN Client>help
You can use the following 66 commands:
About - Display the version information
AccountAnonymousSet - Set User Authentication Type of VPN Connection Setting to Anonymous Authentication
AccountCertGet - Get Client Certificate to Use for Cascade Connection
AccountCertSet - Set User Authentication Type of VPN Connection Setting to Client Certificate Authentication
AccountCompressDisable - Disable Data Compression when Communicating by VPN Connection Setting
AccountCompressEnable - Enable Data Compression when Communicating by VPN Connection Setting
AccountConnect - Start Connection to VPN Server using VPN Connection Setting
AccountCreate - Create New VPN Connection Setting
AccountDelete - Delete VPN Connection Setting
AccountDetailSet - Set Advanced Settings for VPN Connection Setting
AccountDisconnect - Disconnect VPN Connection Setting During Connection
AccountEncryptDisable - Disable Encryption when Communicating by VPN Connection Setting
AccountEncryptEnable - Enable Encryption when Communicating by VPN Connection Setting
AccountExport - Export VPN Connection Setting
AccountGet - Get Setting of VPN Connection Setting
AccountImport - Import VPN Connection Setting
AccountList - Get List of VPN Connection Settings
AccountNicSet - Set Virtual Network Adapter for VPN Connection Setting to Use
AccountPasswordSet - Set User Authentication Type of VPN Connection Setting to Password Authentication
AccountProxyHttp - Set Connection Method of VPN Connection Setting to be via an HTTP Proxy Server
AccountProxyNone - Specify Direct TCP/IP Connection as the Connection Method of VPN Connection Setting
AccountProxySocks - Set Connection Method of VPN Connection Setting to be via an SOCKS Proxy Server
AccountRename - Change VPN Connection Setting Name
AccountRetrySet - Set Interval between Connection Retries for Connection Failures or Disconnections of VPN Connection Setting
AccountSecureCertSet - Set User Authentication Type of VPN Connection Setting to Smart Card Authentication
AccountServerCertDelete - Delete Server Individual Certificate for VPN Connection Setting
AccountServerCertDisable - Disable VPN Connection Setting Server Certificate Verification Option
AccountServerCertEnable - Enable VPN Connection Setting Server Certificate Verification Option
AccountServerCertGet - Get Server Individual Certificate for VPN Connection Setting
AccountServerCertSet - Set Server Individual Certificate for VPN Connection Setting
AccountSet - Set the VPN Connection Setting Connection Destination
AccountStartupRemove - Remove Startup Connection of VPN Connection Setting
AccountStartupSet - Set VPN Connection Setting as Startup Connection
AccountStatusGet - Get Current VPN Connection Setting Status
AccountStatusHide - Set Connection Status and Error Screen to be Hidden when Connecting to VPN Server
AccountStatusShow - Set Connection Status and Error Screen to Display when Connecting to VPN Server
AccountUsernameSet - Set User Name of User to Use Connection of VPN Connection Setting
CertAdd - Add Trusted CA Certificate
CertDelete - Delete Trusted CA Certificate
CertGet - Get Trusted CA Certificate
CertList - Get List of Trusted CA Certificates
Check - Check whether SoftEther VPN Operation is Possible
KeepDisable - Disable the Keep Alive Internet Connection Function
KeepEnable - Enable the Keep Alive Internet Connection Function
KeepGet - Get the Keep Alive Internet Connection Function
KeepSet - Set the Keep Alive Internet Connection Function
MakeCert - Create New X.509 Certificate and Private Key (1024 bit)
MakeCert2048 - Create New X.509 Certificate and Private Key (2048 bit)
NicCreate - Create New Virtual Network Adapter
NicDelete - Delete Virtual Network Adapter
NicDisable - Disable Virtual Network Adapter
NicEnable - Enable Virtual Network Adapter
NicGetSetting - Get Virtual Network Adapter Setting
NicList - Get List of Virtual Network Adapters
NicSetSetting - Change Virtual Network Adapter Setting
NicUpgrade - Upgrade Virtual Network Adapter Device Driver
PasswordGet - Get Password Setting to Connect to VPN Client Service
PasswordSet - Set the password to connect to the VPN Client service.
RemoteDisable - Deny Remote Management of VPN Client Service
RemoteEnable - Allow Remote Management of VPN Client Service
SecureGet - Get ID of Smart Card Type to Use
SecureList - Get List of Usable Smart Card Types
SecureSelect - Select the Smart Card Type to Use
TrafficClient - Run Network Traffic Speed Test Tool in Client Mode
TrafficServer - Run Network Traffic Speed Test Tool in Server Mode
VersionGet - Get Version Information of VPN Client Service
To reference the usage for each command, input "command name ?" to view a help.
The command completed successfully.
You can use the following 66 commands:
About - Display the version information
AccountAnonymousSet - Set User Authentication Type of VPN Connection Setting to Anonymous Authentication
AccountCertGet - Get Client Certificate to Use for Cascade Connection
AccountCertSet - Set User Authentication Type of VPN Connection Setting to Client Certificate Authentication
AccountCompressDisable - Disable Data Compression when Communicating by VPN Connection Setting
AccountCompressEnable - Enable Data Compression when Communicating by VPN Connection Setting
AccountConnect - Start Connection to VPN Server using VPN Connection Setting
AccountCreate - Create New VPN Connection Setting
AccountDelete - Delete VPN Connection Setting
AccountDetailSet - Set Advanced Settings for VPN Connection Setting
AccountDisconnect - Disconnect VPN Connection Setting During Connection
AccountEncryptDisable - Disable Encryption when Communicating by VPN Connection Setting
AccountEncryptEnable - Enable Encryption when Communicating by VPN Connection Setting
AccountExport - Export VPN Connection Setting
AccountGet - Get Setting of VPN Connection Setting
AccountImport - Import VPN Connection Setting
AccountList - Get List of VPN Connection Settings
AccountNicSet - Set Virtual Network Adapter for VPN Connection Setting to Use
AccountPasswordSet - Set User Authentication Type of VPN Connection Setting to Password Authentication
AccountProxyHttp - Set Connection Method of VPN Connection Setting to be via an HTTP Proxy Server
AccountProxyNone - Specify Direct TCP/IP Connection as the Connection Method of VPN Connection Setting
AccountProxySocks - Set Connection Method of VPN Connection Setting to be via an SOCKS Proxy Server
AccountRename - Change VPN Connection Setting Name
AccountRetrySet - Set Interval between Connection Retries for Connection Failures or Disconnections of VPN Connection Setting
AccountSecureCertSet - Set User Authentication Type of VPN Connection Setting to Smart Card Authentication
AccountServerCertDelete - Delete Server Individual Certificate for VPN Connection Setting
AccountServerCertDisable - Disable VPN Connection Setting Server Certificate Verification Option
AccountServerCertEnable - Enable VPN Connection Setting Server Certificate Verification Option
AccountServerCertGet - Get Server Individual Certificate for VPN Connection Setting
AccountServerCertSet - Set Server Individual Certificate for VPN Connection Setting
AccountSet - Set the VPN Connection Setting Connection Destination
AccountStartupRemove - Remove Startup Connection of VPN Connection Setting
AccountStartupSet - Set VPN Connection Setting as Startup Connection
AccountStatusGet - Get Current VPN Connection Setting Status
AccountStatusHide - Set Connection Status and Error Screen to be Hidden when Connecting to VPN Server
AccountStatusShow - Set Connection Status and Error Screen to Display when Connecting to VPN Server
AccountUsernameSet - Set User Name of User to Use Connection of VPN Connection Setting
CertAdd - Add Trusted CA Certificate
CertDelete - Delete Trusted CA Certificate
CertGet - Get Trusted CA Certificate
CertList - Get List of Trusted CA Certificates
Check - Check whether SoftEther VPN Operation is Possible
KeepDisable - Disable the Keep Alive Internet Connection Function
KeepEnable - Enable the Keep Alive Internet Connection Function
KeepGet - Get the Keep Alive Internet Connection Function
KeepSet - Set the Keep Alive Internet Connection Function
MakeCert - Create New X.509 Certificate and Private Key (1024 bit)
MakeCert2048 - Create New X.509 Certificate and Private Key (2048 bit)
NicCreate - Create New Virtual Network Adapter
NicDelete - Delete Virtual Network Adapter
NicDisable - Disable Virtual Network Adapter
NicEnable - Enable Virtual Network Adapter
NicGetSetting - Get Virtual Network Adapter Setting
NicList - Get List of Virtual Network Adapters
NicSetSetting - Change Virtual Network Adapter Setting
NicUpgrade - Upgrade Virtual Network Adapter Device Driver
PasswordGet - Get Password Setting to Connect to VPN Client Service
PasswordSet - Set the password to connect to the VPN Client service.
RemoteDisable - Deny Remote Management of VPN Client Service
RemoteEnable - Allow Remote Management of VPN Client Service
SecureGet - Get ID of Smart Card Type to Use
SecureList - Get List of Usable Smart Card Types
SecureSelect - Select the Smart Card Type to Use
TrafficClient - Run Network Traffic Speed Test Tool in Client Mode
TrafficServer - Run Network Traffic Speed Test Tool in Server Mode
VersionGet - Get Version Information of VPN Client Service
To reference the usage for each command, input "command name ?" to view a help.
The command completed successfully.
-
- Posts: 7
- Joined: Thu Jan 29, 2015 10:58 am
Re: VPN Client Management
Hi, thx for answer, but I guess you had missed word "Own Software" in a question :)
I would like to set & connect VPN from my GUI using SoftEther VPN Client features
(same as OpenVPN which comes with OpenVPN and OpenVPN gui)
Usually to do this, the one must implement either sockets,RCP or other way to interconnect and control.
I would like to set & connect VPN from my GUI using SoftEther VPN Client features
(same as OpenVPN which comes with OpenVPN and OpenVPN gui)
Usually to do this, the one must implement either sockets,RCP or other way to interconnect and control.
-
- Posts: 65
- Joined: Mon Nov 17, 2014 2:11 pm
Re: VPN Client Management
Take console or GUI application from source and rebuild as you like. I just give you example how to use vpncmd as API transmitter.
EDIT: SoftEther can act in single port for all purpose. Isn't it beautiful ?
EDIT: SoftEther can act in single port for all purpose. Isn't it beautiful ?
-
- Posts: 7
- Joined: Thu Jan 29, 2015 10:58 am
Re: VPN Client Management
Nemesiz wrote:
> Take console or GUI application from source and rebuild as you like. I just
> give you example how to use vpncmd as API transmitter.
>
> EDIT: SoftEther can act in single port for all purpose. Isn't it beautiful
> ?
It isnt that much as OpenVPN :) They made interface, so you dont waste time digging into source code :)
> Take console or GUI application from source and rebuild as you like. I just
> give you example how to use vpncmd as API transmitter.
>
> EDIT: SoftEther can act in single port for all purpose. Isn't it beautiful
> ?
It isnt that much as OpenVPN :) They made interface, so you dont waste time digging into source code :)
-
- Posts: 2458
- Joined: Mon Feb 24, 2014 11:03 am
Re: VPN Client Management
Why don't you use vpncmd to control the VPN client?
You can run the vpncmd for batch.
You can run the vpncmd for batch.