Speedify SDK for Desktop  9.5.0
Functions
SDK Methods

Detailed Description

Main Speedify SDK calls.

The main interface to the Speedify SDK for Desktop
For all methods that take a callback, specifying a callback of NULL will perform synchronous calls. If your specify a callback, this method will not block and your callback will be called from another thread.
Methods marked 'Supports Subscription' support subscribing to updates for that result. Return true from the callback to continue receiving updates. Return false to stop. The result object returned from these methods includes an eventId that can be used to disable further updates;
Methods marked 'Subscription Only' must be given a callback.

Functions

CSpeedifySDK SpeedifySDK_Create (uint16_t port)
 Create a new SDK object. More...
 
void SpeedifySDK_Destroy (CSpeedifySDK sdk)
 Destroys an SDK object. More...
 
SpeedifySDK_StateResult SpeedifySDK_GetState (CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
 Get the current state of Speedify. More...
 
SpeedifySDK_VersionResult SpeedifySDK_GetVersion (CSpeedifySDK sdk, SpeedifySDK_VersionCallback cb, void *userData)
 Get the version of the connected Speedify daemon. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_ConnectAuto (CSpeedifySDK sdk, SpeedifySDK_AutoConnectMethod method, SpeedifySDK_ConnectCallback cb, void *userData)
 Connect to a server by an automatic selection method. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_ConnectCountry (CSpeedifySDK sdk, const char *country, SpeedifySDK_ConnectCallback cb, void *userData)
 Connect to a server by server country. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_ConnectCity (CSpeedifySDK sdk, const char *country, const char *city, SpeedifySDK_ConnectCallback cb, void *userData)
 Connect to a server by server city. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_ConnectServer (CSpeedifySDK sdk, const char *country, const char *city, int32_t num, SpeedifySDK_ConnectCallback cb, void *userData)
 Connect to a specific server. More...
 
SpeedifySDK_StateResult SpeedifySDK_Disconnect (CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
 
  • Disconnect from the server if connected, or cancel a connection attempt if currenty connecting.
More...
 
SpeedifySDK_StateResult SpeedifySDK_Login (CSpeedifySDK sdk, const char *username, const char *password, SpeedifySDK_StateCallback cb, void *userData)
 Authenticate a new user. More...
 
SpeedifySDK_StateResult SpeedifySDK_LoginOauth (CSpeedifySDK sdk, const char *oauthAccessToken, SpeedifySDK_StateCallback cb, void *userData)
 Authenticate a new user using an oauth access token. More...
 
SpeedifySDK_StateResult SpeedifySDK_LoginAutoAccount (CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
 Logs out of any current account and logs in to an automatically generated account for this device. More...
 
SpeedifySDK_StateResult SpeedifySDK_Logout (CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
 Logout the current user. More...
 
SpeedifySDK_AccountCheckResult SpeedifySDK_AccountCheck (CSpeedifySDK sdk, const char *email, SpeedifySDK_AccountCheckCallback cb, void *userData)
 Check if there is already an account using this email address. More...
 
SpeedifySDK_AccountCreateResult SpeedifySDK_AccountCreate (CSpeedifySDK sdk, const char *email, const char *password, SpeedifySDK_AccountCreateCallback cb, void *userData)
 Create a new account using this email address. More...
 
SpeedifySDK_AccountPasswordChangeResult SpeedifySDK_AccountPasswordChange (CSpeedifySDK sdk, const char *email, const char *originalPassword, const char *newPassword, SpeedifySDK_AccountPasswordChangeCallback cb, void *userData)
 Change the password on the account. More...
 
SpeedifySDK_DirectoryResult SpeedifySDK_GetDirectory (CSpeedifySDK sdk, SpeedifySDK_DirectoryCallback cb, void *userData)
 Get a list of available servers from the directory list. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_GetConnectedServer (CSpeedifySDK sdk, SpeedifySDK_ConnectCallback cb, void *userData)
 Get the currently or last connected server. More...
 
SpeedifySDK_DirectoryDomainResult SpeedifySDK_SetDirectoryDomain (CSpeedifySDK sdk, const char *domain, SpeedifySDK_DirectoryDomainCallback cb, void *userData)
 Change directory server used for user authentication and server management. More...
 
SpeedifySDK_DirectoryDomainResult SpeedifySDK_ResetDirectoryDomain (CSpeedifySDK sdk, SpeedifySDK_DirectoryDomainCallback cb, void *userData)
 Reset the directory server to defaults. More...
 
SpeedifySDK_DirectoryDomainResult SpeedifySDK_GetDirectoryDomain (CSpeedifySDK sdk, SpeedifySDK_DirectoryDomainCallback cb, void *userData)
 Get the directory server being used. More...
 
SpeedifySDK_AccountingResult SpeedifySDK_GetAccountingData (CSpeedifySDK sdk, SpeedifySDK_AccountingCallback cb, void *userData)
 Gets information on the currently used account. More...
 
SpeedifySDK_ServerSettingsResult SpeedifySDK_GetServerSettings (CSpeedifySDK sdk, SpeedifySDK_ServerSettingsCallback cb, void *userData)
 Get the default connection method. More...
 
SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodAuto (CSpeedifySDK sdk, SpeedifySDK_AutoConnectMethod method, SpeedifySDK_ServerSettingsCallback cb, void *userData)
 Set the default connection method to an automatic selection method. More...
 
SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodCountry (CSpeedifySDK sdk, const char *country, SpeedifySDK_ServerSettingsCallback cb, void *userData)
 Set the default connection method to a specific country. More...
 
SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodCity (CSpeedifySDK sdk, const char *country, const char *city, SpeedifySDK_ServerSettingsCallback cb, void *userData)
 Set the default connection method to a specific city. More...
 
SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodServer (CSpeedifySDK sdk, const char *country, const char *city, int32_t num, SpeedifySDK_ServerSettingsCallback cb, void *userData)
 Set the default connection method to a specific server. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_GetSettings (CSpeedifySDK sdk, SpeedifySDK_SettingsCallback cb, void *userData)
 Get general connecttion settings. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetEnableDefaultRoute (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Set whether the default route (0.0.0.0/0) goes over the VPN tunnel. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetJumboPackets (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Sets whether to allow jumbo packets over the VPN tunnel. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetAllowChaChaEncryption (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Allow or disallow use of ChaCha for connection encryptions. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetTunnelEncrypted (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Sets encryption status on all connections forming the tunnels. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetMode (CSpeedifySDK sdk, SpeedifySDK_BondingMode mode, SpeedifySDK_SettingsCallback cb, void *userData)
 Change the basic mode of operation, between optimizing for speed or maximizing reliability. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetStartupConnect (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Set if Speedify should autmatically connect when the daemon starts. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionTransportMode (CSpeedifySDK sdk, SpeedifySDK_TransportMode mode, SpeedifySDK_SettingsCallback cb, void *userData)
 Sets the transport mode selection used for each connection. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetForwardPorts (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_ForwardedPort *ports, SpeedifySDK_SettingsCallback cb, void *userData)
 Set ports to be forwarded to this client when connected to a dedicated server. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetOverflowThreshold (CSpeedifySDK sdk, double mbpsOverflow, SpeedifySDK_SettingsCallback cb, void *userData)
 Set the overflow threshold. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetPacketAggregation (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Sets whether to allow aggregating smaller packets sent over the VPN. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_GetPrivacySettings (CSpeedifySDK sdk, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Gets privacy settings. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetCrashReports (CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Sets if crash reporting should be enabled. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetKillswitch (CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Sets if Internet Killswitch should be enabled. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDnsLeak (CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Sets if DNS Leak protection is enabled. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDNSServers (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_IPAddressString *dnsAddrs, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Sets DNS servers to use. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_GetAdapters (CSpeedifySDK sdk, SpeedifySDK_AdaptersCallback cb, void *userData)
 Gets a list of current adapters. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_SetConnectionPriorities (CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_ConnectionPriority priority, SpeedifySDK_AdaptersCallback cb, void *userData)
 Change priorities of a connection. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_ResetConnectionRateLimit (CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
 Reset the speed rate limit on a connection to unlimited. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_SetConnectionRateLimit (CSpeedifySDK sdk, const char *adapterID, int64_t bps, SpeedifySDK_AdaptersCallback cb, void *userData)
 Set the speed rate limit on a connection. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_DisableAdapterMonthlyDataLimit (CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
 Sets the adapter to unlimited daily data usage. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterMonthlyDataLimit (CSpeedifySDK sdk, const char *adapterID, int64_t allowedBytes, int64_t resetDay, SpeedifySDK_AdaptersCallback cb, void *userData)
 Set the data usage, in bytes, allowed on this adapter in a single month. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_DisableAdapterDailyDataLimit (CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
 Sets the adapter to unlimited daily data usage. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterDailyDataLimit (CSpeedifySDK sdk, const char *adapterID, int64_t allowedBytes, SpeedifySDK_AdaptersCallback cb, void *userData)
 Set the data usage, in bytes, allowed on this adapter in a single day. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_AddAdapterDailyDataLimitBoost (CSpeedifySDK sdk, const char *adapterID, int64_t additionalBytes, SpeedifySDK_AdaptersCallback cb, void *userData)
 Adds additional bytes to the adapter's daily data usage limit for today. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterOverlimitRateLimit (CSpeedifySDK sdk, const char *adapterID, int64_t bps, SpeedifySDK_AdaptersCallback cb, void *userData)
 Sets how to handle an adapter that has hit its daily or monthly data limit. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_ResetAdapterUsage (CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
 Resets the tracked data usage on an adapter. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionEncryption (CSpeedifySDK sdk, const char *adapterID, bool encrypted, SpeedifySDK_SettingsCallback cb, void *userData)
 Change encryption settings per connection. More...
 
SpeedifySDK_BaseResult SpeedifySDK_EnableConnectionStatUpdates (CSpeedifySDK sdk, bool enabled)
 Enable periodic connection stats and adapter list updates to be sent while Speedify is connected. More...
 
SpeedifySDK_ConnectionStatsResult SpeedifySDK_GetConnectionStats (CSpeedifySDK sdk, SpeedifySDK_ConnectionStatsCallback cb, void *userData)
 Get stats on current connections to the Speedify server. More...
 
SpeedifySDK_ConnectionStatsResult SpeedifySDK_GetHistoricConnectionStats (CSpeedifySDK sdk, SpeedifySDK_ConnectionStatsCallback cb, void *userData)
 Gets historic tunnel stats for last 5 minutes. More...
 
SpeedifySDK_SessionStatsResult SpeedifySDK_GetSessionStats (CSpeedifySDK sdk, SpeedifySDK_SessionStatsCallback cb, void *userData)
 Get session stats.
Supports Subscription. More...
 
SpeedifySDK_NewAdapterResult SpeedifySDK_ListenForNewAdapter (CSpeedifySDK sdk, SpeedifySDK_NewAdapterCallback cb, void *userData)
 Receive messages when a new adapter is connected. More...
 
SpeedifySDK_BaseResult SpeedifySDK_HandleNewAdapter (CSpeedifySDK sdk, const char *adapterID)
 Clear a new adapter message. More...
 
SpeedifySDK_AdapterOverlimitResult SpeedifySDK_ListenForAdapterOverlimit (CSpeedifySDK sdk, SpeedifySDK_AdapterOverlimitCallback cb, void *userData)
 Receive messages when an adapter reaches its daily or monthly limit. More...
 
SpeedifySDK_BaseResult SpeedifySDK_HandleAdapterOverlimit (CSpeedifySDK sdk, const char *adapterID)
 Clear an overlimit message. More...
 
SpeedifySDK_SpeedtestResult SpeedifySDK_StartSpeedtest (CSpeedifySDK sdk, bool reportProgress, SpeedifySDK_SpeedtestCallback cb, void *userData)
 Starts a test of speeds through Speedify. More...
 
SpeedifySDK_BaseResult SpeedifySDK_StopSpeedtest (CSpeedifySDK sdk)
 Stops an in-progress speed test. More...
 
SpeedifySDK_BaseResult SpeedifySDK_SetReportingEncryptionKey (CSpeedifySDK sdk, const char *key128bit)
 Set reporting encryption key. More...
 
SpeedifySDK_TorrentResult SpeedifySDK_ListenForTorrentDetection (CSpeedifySDK sdk, SpeedifySDK_TorrentCallback cb, void *userData)
 Receive messages when a torrent is detected. Subscription Only. More...
 
SpeedifySDK_CaptivePortalCheckResult SpeedifySDK_CheckForCaptivePortals (CSpeedifySDK sdk, SpeedifySDK_CaptivePortalCheckCallback cb, void *userData)
 Check for captive portals. More...
 
SpeedifySDK_CaptivePortalCheckResult SpeedifySDK_ListenForCaptivePortals (CSpeedifySDK sdk, SpeedifySDK_CaptivePortalCheckCallback cb, void *userData)
 Receive messages when a captive protal is detected. Subscription Only. More...
 
SpeedifySDK_CaptivePortalLoginResult SpeedifySDK_SetCaptivePortalLoginMode (CSpeedifySDK sdk, bool enabled, const char *adapterID, SpeedifySDK_CaptivePortalLoginCallback cb, void *userData)
 Controls the captive portal login mode. If enabled, new port 80, 443, and 53 sockets will be directed through the chosen adapter instead of over the VPN tunnel. Can only be started while the VPN tunnel is connected. If enabling, an adapterID must be provided. More...
 
SpeedifySDK_CaptivePortalLoginResult SpeedifySDK_GetCaptivePortalLoginMode (CSpeedifySDK sdk, SpeedifySDK_CaptivePortalLoginCallback cb, void *userData)
 Get status of the captive portal login mode. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_GetLocalProxySettings (CSpeedifySDK sdk, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Get configuration of the local proxy. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyEnabled (CSpeedifySDK sdk, bool enabled, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Enables or disables the local proxy. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyMatchMode (CSpeedifySDK sdk, SpeedifySDK_ProxyMatchMode matchMode, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Set the match mode used by the local proxy. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomains (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_DomainString *domains, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Set domains to proxy locally, instead of going through the VPN. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyIPv4 (CSpeedifySDK sdk, uint16_t count, struct in_addr *ipv4, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Set IPv4 address to proxy locally, instead of going through the VPN. IP addresses should be in network byte order. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomainWatchlist (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_LocalProxyDomainWatchlistItem *domainWatchlist, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Set domain watchlist settings for the local proxy. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomainWatchlistEnable (CSpeedifySDK sdk, const char *title, bool enabled, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Toggle a single domain watchlist item from being enabled over the local proxy. More...
 
SpeedifySDK_LocalProxyDomainWatchlistHitResult SpeedifySDK_ListenForLocalProxyDomainWatchlistHit (CSpeedifySDK sdk, SpeedifySDK_LocalProxyDomainWatchlistHitCallback cb, void *userData)
 Receive messages when a domain watchlist domain is detected. More...
 
SpeedifySDK_VendorSettingsResult SpeedifySDK_SetLocalVendorSettings (CSpeedifySDK sdk, const char *settingsJson, bool merge, SpeedifySDK_VendorSettingsCallback cb, void *userData)
 Set local vendor settings. More...
 
SpeedifySDK_VendorSettingsResult SpeedifySDK_GetLocalVendorSettings (CSpeedifySDK sdk, SpeedifySDK_VendorSettingsCallback cb, void *userData)
 Get local vendor settings. More...
 
SpeedifySDK_VendorSettingsResult SpeedifySDK_GetRemoteVendorSettings (CSpeedifySDK sdk, SpeedifySDK_VendorSettingsCallback cb, void *userData)
 Get remote vendor settings. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_GetFirewallSettings (CSpeedifySDK sdk, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Get configuration of the firewall. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallMode (CSpeedifySDK sdk, SpeedifySDK_FirewallMode mode, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Set the mode used by the firewall. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallDomains (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_DomainString *domains, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Set domains to firewall. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallIPv4 (CSpeedifySDK sdk, uint16_t count, struct in_addr *ipv4, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Set IPv4 address to firewall. IP addresses should be in network byte order. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallIPv6 (CSpeedifySDK sdk, uint16_t count, struct in6_addr *ipv6, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Set IPv6 address to firewall. IP addresses should be in network byte order. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallPorts (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_FirewallPort *ports, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Set ports to firewall Ports should be in host byte order. More...
 
void SpeedifySDK_UnregisterCallback (CSpeedifySDK sdk, SpeedifySDK_EventID eventId)
 Unregister an asynchronous callback registered via other calls. More...
 
SpeedifySDK_BaseResult SpeedifySDK_DaemonExit (CSpeedifySDK sdk)
 Tells the Speedify daemon to exit cleanly. More...
 
void SpeedifySDK_Free (void *object)
 Free memory allocated by SpeedifySDK. More...
 

Function Documentation

◆ SpeedifySDK_AccountCheck()

SpeedifySDK_AccountCheckResult SpeedifySDK_AccountCheck ( CSpeedifySDK  sdk,
const char *  email,
SpeedifySDK_AccountCheckCallback  cb,
void *  userData 
)

Check if there is already an account using this email address.

Parameters
sdkSpeedifySDK object
emailaccount to check for
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
account check result object
Since
7.5

◆ SpeedifySDK_AccountCreate()

SpeedifySDK_AccountCreateResult SpeedifySDK_AccountCreate ( CSpeedifySDK  sdk,
const char *  email,
const char *  password,
SpeedifySDK_AccountCreateCallback  cb,
void *  userData 
)

Create a new account using this email address.

Parameters
sdkSpeedifySDK object
emailaccount to create
passwordpassword of the new account
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
account create result object
Since
7.5

◆ SpeedifySDK_AccountPasswordChange()

SpeedifySDK_AccountPasswordChangeResult SpeedifySDK_AccountPasswordChange ( CSpeedifySDK  sdk,
const char *  email,
const char *  originalPassword,
const char *  newPassword,
SpeedifySDK_AccountPasswordChangeCallback  cb,
void *  userData 
)

Change the password on the account.

Parameters
sdkSpeedifySDK object
emailaccount to change
originalPasswordoriginal password of the account
newPasswordnew password of the account
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
account password change result object
Since
7.5

◆ SpeedifySDK_AddAdapterDailyDataLimitBoost()

SpeedifySDK_AdaptersResult SpeedifySDK_AddAdapterDailyDataLimitBoost ( CSpeedifySDK  sdk,
const char *  adapterID,
int64_t  additionalBytes,
SpeedifySDK_AdaptersCallback  cb,
void *  userData 
)

Adds additional bytes to the adapter's daily data usage limit for today.

This value is not added to the base daily data usage limit.

Parameters
sdkSpeedifySDK object
adapterIDID of the adapterID
additionalBytesadditional bytes that may be used today
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
adapters result object
Since
7.5

◆ SpeedifySDK_CheckForCaptivePortals()

SpeedifySDK_CaptivePortalCheckResult SpeedifySDK_CheckForCaptivePortals ( CSpeedifySDK  sdk,
SpeedifySDK_CaptivePortalCheckCallback  cb,
void *  userData 
)

Check for captive portals.

Parameters
sdkSpeedifySDK object
cbrequired callback
userDataoptional user data pointer returned in the callback
Returns
captive portal result object
Since
9.0

◆ SpeedifySDK_ConnectAuto()

SpeedifySDK_ConnectResult SpeedifySDK_ConnectAuto ( CSpeedifySDK  sdk,
SpeedifySDK_AutoConnectMethod  method,
SpeedifySDK_ConnectCallback  cb,
void *  userData 
)

Connect to a server by an automatic selection method.

If already connected, this will disconnect before reconnecting.

Parameters
sdkSpeedifySDK object
methodautomatic server selection method to use
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
connect result object
Since
7.5

◆ SpeedifySDK_ConnectCity()

SpeedifySDK_ConnectResult SpeedifySDK_ConnectCity ( CSpeedifySDK  sdk,
const char *  country,
const char *  city,
SpeedifySDK_ConnectCallback  cb,
void *  userData 
)

Connect to a server by server city.

If already connected, this will disconnect before reconnecting.

Parameters
sdkSpeedifySDK object
country2-char ISO country code
citycity name
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
connect result object
Since
7.5

◆ SpeedifySDK_ConnectCountry()

SpeedifySDK_ConnectResult SpeedifySDK_ConnectCountry ( CSpeedifySDK  sdk,
const char *  country,
SpeedifySDK_ConnectCallback  cb,
void *  userData 
)

Connect to a server by server country.

If already connected, this will disconnect before reconnecting.

Parameters
sdkSpeedifySDK object
country2-char ISO country code
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
connect result object
Since
7.5

◆ SpeedifySDK_ConnectServer()

SpeedifySDK_ConnectResult SpeedifySDK_ConnectServer ( CSpeedifySDK  sdk,
const char *  country,
const char *  city,
int32_t  num,
SpeedifySDK_ConnectCallback  cb,
void *  userData 
)

Connect to a specific server.

If already connected, this will disconnect before reconnecting.

Parameters
sdkSpeedifySDK object
country2-char ISO country code
citycity name
numserver number
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
connect result object
Since
7.5

◆ SpeedifySDK_Create()

CSpeedifySDK SpeedifySDK_Create ( uint16_t  port)

Create a new SDK object.

Parameters
portPort number of the daemon to talk to
Returns
sdk object to pass to other methods
Since
7.5

◆ SpeedifySDK_DaemonExit()

SpeedifySDK_BaseResult SpeedifySDK_DaemonExit ( CSpeedifySDK  sdk)

Tells the Speedify daemon to exit cleanly.

Parameters
sdkSpeedifySDK object
Returns
result object
Since
7.5

◆ SpeedifySDK_Destroy()

void SpeedifySDK_Destroy ( CSpeedifySDK  sdk)

Destroys an SDK object.

Parameters
sdkSpeedifySDK object
Since
7.5

◆ SpeedifySDK_DisableAdapterDailyDataLimit()

SpeedifySDK_AdaptersResult SpeedifySDK_DisableAdapterDailyDataLimit ( CSpeedifySDK  sdk,
const char *  adapterID,
SpeedifySDK_AdaptersCallback  cb,
void *  userData 
)

Sets the adapter to unlimited daily data usage.

Parameters
sdkSpeedifySDK object
adapterIDID of the adapterID
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
adapters result object
Since
7.5

◆ SpeedifySDK_DisableAdapterMonthlyDataLimit()

SpeedifySDK_AdaptersResult SpeedifySDK_DisableAdapterMonthlyDataLimit ( CSpeedifySDK  sdk,
const char *  adapterID,
SpeedifySDK_AdaptersCallback  cb,
void *  userData 
)

Sets the adapter to unlimited daily data usage.

Parameters
sdkSpeedifySDK object
adapterIDID of the adapterID
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
adapters result object
Since
7.5

◆ SpeedifySDK_Disconnect()

SpeedifySDK_StateResult SpeedifySDK_Disconnect ( CSpeedifySDK  sdk,
SpeedifySDK_StateCallback  cb,
void *  userData 
)

  • Disconnect from the server if connected, or cancel a connection attempt if currenty connecting.

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
state result object
Since
7.5

◆ SpeedifySDK_EnableConnectionStatUpdates()

SpeedifySDK_BaseResult SpeedifySDK_EnableConnectionStatUpdates ( CSpeedifySDK  sdk,
bool  enabled 
)

Enable periodic connection stats and adapter list updates to be sent while Speedify is connected.

Parameters
sdkSpeedifySDK object
enabledif connection stat updates should be continuously received
Returns
result object
Since
7.5

◆ SpeedifySDK_Free()

void SpeedifySDK_Free ( void *  object)

Free memory allocated by SpeedifySDK.

Parameters
objectobject to be freed
Since
9.2

◆ SpeedifySDK_GetAccountingData()

SpeedifySDK_AccountingResult SpeedifySDK_GetAccountingData ( CSpeedifySDK  sdk,
SpeedifySDK_AccountingCallback  cb,
void *  userData 
)

Gets information on the currently used account.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
accountind data result object
Since
7.5

◆ SpeedifySDK_GetAdapters()

SpeedifySDK_AdaptersResult SpeedifySDK_GetAdapters ( CSpeedifySDK  sdk,
SpeedifySDK_AdaptersCallback  cb,
void *  userData 
)

Gets a list of current adapters.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
adapters result object
Since
7.5

◆ SpeedifySDK_GetCaptivePortalLoginMode()

SpeedifySDK_CaptivePortalLoginResult SpeedifySDK_GetCaptivePortalLoginMode ( CSpeedifySDK  sdk,
SpeedifySDK_CaptivePortalLoginCallback  cb,
void *  userData 
)

Get status of the captive portal login mode.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
captive portal login mode result object
Since
9.0

◆ SpeedifySDK_GetConnectedServer()

SpeedifySDK_ConnectResult SpeedifySDK_GetConnectedServer ( CSpeedifySDK  sdk,
SpeedifySDK_ConnectCallback  cb,
void *  userData 
)

Get the currently or last connected server.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
connect result object
Since
7.5

◆ SpeedifySDK_GetConnectionStats()

SpeedifySDK_ConnectionStatsResult SpeedifySDK_GetConnectionStats ( CSpeedifySDK  sdk,
SpeedifySDK_ConnectionStatsCallback  cb,
void *  userData 
)

Get stats on current connections to the Speedify server.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
connection stats result object
Since
7.5

◆ SpeedifySDK_GetDirectory()

SpeedifySDK_DirectoryResult SpeedifySDK_GetDirectory ( CSpeedifySDK  sdk,
SpeedifySDK_DirectoryCallback  cb,
void *  userData 
)

Get a list of available servers from the directory list.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
directory result object
Since
7.5

◆ SpeedifySDK_GetDirectoryDomain()

SpeedifySDK_DirectoryDomainResult SpeedifySDK_GetDirectoryDomain ( CSpeedifySDK  sdk,
SpeedifySDK_DirectoryDomainCallback  cb,
void *  userData 
)

Get the directory server being used.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
directory domain result object
Since
7.5

◆ SpeedifySDK_GetFirewallSettings()

SpeedifySDK_FirewallSettingsResult SpeedifySDK_GetFirewallSettings ( CSpeedifySDK  sdk,
SpeedifySDK_FirewallSettingsCallback  cb,
void *  userData 
)

Get configuration of the firewall.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
firewall result object
Since
9.2

◆ SpeedifySDK_GetHistoricConnectionStats()

SpeedifySDK_ConnectionStatsResult SpeedifySDK_GetHistoricConnectionStats ( CSpeedifySDK  sdk,
SpeedifySDK_ConnectionStatsCallback  cb,
void *  userData 
)

Gets historic tunnel stats for last 5 minutes.

Asynchronous Only

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
connection stats result object
Since
7.5

◆ SpeedifySDK_GetLocalProxySettings()

SpeedifySDK_LocalProxySettingsResult SpeedifySDK_GetLocalProxySettings ( CSpeedifySDK  sdk,
SpeedifySDK_LocalProxySettingsCallback  cb,
void *  userData 
)

Get configuration of the local proxy.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
local proxy result object
Since
9.2

◆ SpeedifySDK_GetLocalVendorSettings()

SpeedifySDK_VendorSettingsResult SpeedifySDK_GetLocalVendorSettings ( CSpeedifySDK  sdk,
SpeedifySDK_VendorSettingsCallback  cb,
void *  userData 
)

Get local vendor settings.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
vendor settings result object
Since
9.2

◆ SpeedifySDK_GetPrivacySettings()

SpeedifySDK_PrivacySettingsResult SpeedifySDK_GetPrivacySettings ( CSpeedifySDK  sdk,
SpeedifySDK_PrivacySettingsCallback  cb,
void *  userData 
)

Gets privacy settings.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
privacy settings result object
Since
7.5

◆ SpeedifySDK_GetRemoteVendorSettings()

SpeedifySDK_VendorSettingsResult SpeedifySDK_GetRemoteVendorSettings ( CSpeedifySDK  sdk,
SpeedifySDK_VendorSettingsCallback  cb,
void *  userData 
)

Get remote vendor settings.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
vendor settings result object
Since
9.2

◆ SpeedifySDK_GetServerSettings()

SpeedifySDK_ServerSettingsResult SpeedifySDK_GetServerSettings ( CSpeedifySDK  sdk,
SpeedifySDK_ServerSettingsCallback  cb,
void *  userData 
)

Get the default connection method.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
server settings result object
Since
7.5

◆ SpeedifySDK_GetSessionStats()

SpeedifySDK_SessionStatsResult SpeedifySDK_GetSessionStats ( CSpeedifySDK  sdk,
SpeedifySDK_SessionStatsCallback  cb,
void *  userData 
)

Get session stats.
Supports Subscription.

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
session stats result object
Since
7.5

◆ SpeedifySDK_GetSettings()

SpeedifySDK_SettingsResult SpeedifySDK_GetSettings ( CSpeedifySDK  sdk,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Get general connecttion settings.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
7.5

◆ SpeedifySDK_GetState()

SpeedifySDK_StateResult SpeedifySDK_GetState ( CSpeedifySDK  sdk,
SpeedifySDK_StateCallback  cb,
void *  userData 
)

Get the current state of Speedify.

Supports Subscription

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
state result object
Since
7.5

◆ SpeedifySDK_GetVersion()

SpeedifySDK_VersionResult SpeedifySDK_GetVersion ( CSpeedifySDK  sdk,
SpeedifySDK_VersionCallback  cb,
void *  userData 
)

Get the version of the connected Speedify daemon.

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
version result object
Since
7.5

◆ SpeedifySDK_HandleAdapterOverlimit()

SpeedifySDK_BaseResult SpeedifySDK_HandleAdapterOverlimit ( CSpeedifySDK  sdk,
const char *  adapterID 
)

Clear an overlimit message.

Parameters
sdkSpeedifySDK object
adapterIDID of the adapterID
Returns
result object
Since
7.5

◆ SpeedifySDK_HandleNewAdapter()

SpeedifySDK_BaseResult SpeedifySDK_HandleNewAdapter ( CSpeedifySDK  sdk,
const char *  adapterID 
)

Clear a new adapter message.

Parameters
sdkSpeedifySDK object
adapterIDID of the adapterID
Returns
result object
Since
7.5

◆ SpeedifySDK_ListenForAdapterOverlimit()

SpeedifySDK_AdapterOverlimitResult SpeedifySDK_ListenForAdapterOverlimit ( CSpeedifySDK  sdk,
SpeedifySDK_AdapterOverlimitCallback  cb,
void *  userData 
)

Receive messages when an adapter reaches its daily or monthly limit.

Call SpeedifySDK_HandleAdapterOverlimit to clear this message.
Subscription Only

Parameters
sdkSpeedifySDK object
cbrequired callback
userDataoptional user data pointer returned in the callback
Returns
adapter overlimit result object
Since
7.5

◆ SpeedifySDK_ListenForCaptivePortals()

SpeedifySDK_CaptivePortalCheckResult SpeedifySDK_ListenForCaptivePortals ( CSpeedifySDK  sdk,
SpeedifySDK_CaptivePortalCheckCallback  cb,
void *  userData 
)

Receive messages when a captive protal is detected. Subscription Only.

Parameters
sdkSpeedifySDK object
cbrequired callback
userDataoptional user data pointer returned in the callback
Returns
captive portal result object
Since
9.0

◆ SpeedifySDK_ListenForLocalProxyDomainWatchlistHit()

SpeedifySDK_LocalProxyDomainWatchlistHitResult SpeedifySDK_ListenForLocalProxyDomainWatchlistHit ( CSpeedifySDK  sdk,
SpeedifySDK_LocalProxyDomainWatchlistHitCallback  cb,
void *  userData 
)

Receive messages when a domain watchlist domain is detected.

Call SpeedifySDK_HandleNewAdapter to clear this message.
Subscription Only

Parameters
sdkSpeedifySDK object
cbrequired callback
userDataoptional user data pointer returned in the callback
Returns
local proxy domain watchlist hit result object
Since
9.3

◆ SpeedifySDK_ListenForNewAdapter()

SpeedifySDK_NewAdapterResult SpeedifySDK_ListenForNewAdapter ( CSpeedifySDK  sdk,
SpeedifySDK_NewAdapterCallback  cb,
void *  userData 
)

Receive messages when a new adapter is connected.

Call SpeedifySDK_HandleNewAdapter to clear this message.
Subscription Only

Parameters
sdkSpeedifySDK object
cbrequired callback
userDataoptional user data pointer returned in the callback
Returns
new adapter result object
Since
7.5

◆ SpeedifySDK_ListenForTorrentDetection()

SpeedifySDK_TorrentResult SpeedifySDK_ListenForTorrentDetection ( CSpeedifySDK  sdk,
SpeedifySDK_TorrentCallback  cb,
void *  userData 
)

Receive messages when a torrent is detected. Subscription Only.

Parameters
sdkSpeedifySDK object
cbrequired callback
userDataoptional user data pointer returned in the callback
Returns
torrent result object
Since
7.5

◆ SpeedifySDK_Login()

SpeedifySDK_StateResult SpeedifySDK_Login ( CSpeedifySDK  sdk,
const char *  username,
const char *  password,
SpeedifySDK_StateCallback  cb,
void *  userData 
)

Authenticate a new user.

If setting a custom directory, call SpeedifySDK_SetDirectoryDomain() before calling this.

Parameters
sdkSpeedifySDK object
usernameUsername of the user you wish to authenticate
passwordPassword of the user you wish to authenticate
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
state result object
Since
7.5

◆ SpeedifySDK_LoginAutoAccount()

SpeedifySDK_StateResult SpeedifySDK_LoginAutoAccount ( CSpeedifySDK  sdk,
SpeedifySDK_StateCallback  cb,
void *  userData 
)

Logs out of any current account and logs in to an automatically generated account for this device.

Automatic accounts have an email address in the form of <platform>.<deviceID>@autoaccount.speedify.com. If setting a custom directory, call SpeedifySDK_SetDirectoryDomain() before calling this.

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
state result object
Since
7.5

◆ SpeedifySDK_LoginOauth()

SpeedifySDK_StateResult SpeedifySDK_LoginOauth ( CSpeedifySDK  sdk,
const char *  oauthAccessToken,
SpeedifySDK_StateCallback  cb,
void *  userData 
)

Authenticate a new user using an oauth access token.

The application is responsible for fetching updated access tokens if using this method.
If setting a custom directory, call SpeedifySDK_SetDirectoryDomain() before calling this.
An expired access token will give an error of type ET_TOKEN_EXPIRED, while invalid tokens will give ET_CREDENTIAL.

Parameters
sdkSpeedifySDK object
oauthAccessTokenAccess token for the user you wish to authenticate
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
state result object
Since
7.5

◆ SpeedifySDK_Logout()

SpeedifySDK_StateResult SpeedifySDK_Logout ( CSpeedifySDK  sdk,
SpeedifySDK_StateCallback  cb,
void *  userData 
)

Logout the current user.

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
state result object
Since
7.5

◆ SpeedifySDK_ResetAdapterUsage()

SpeedifySDK_AdaptersResult SpeedifySDK_ResetAdapterUsage ( CSpeedifySDK  sdk,
const char *  adapterID,
SpeedifySDK_AdaptersCallback  cb,
void *  userData 
)

Resets the tracked data usage on an adapter.

Parameters
sdkSpeedifySDK object
adapterIDID of the adapterID to reset
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
adapters result object
Since
7.8.3

◆ SpeedifySDK_ResetConnectionRateLimit()

SpeedifySDK_AdaptersResult SpeedifySDK_ResetConnectionRateLimit ( CSpeedifySDK  sdk,
const char *  adapterID,
SpeedifySDK_AdaptersCallback  cb,
void *  userData 
)

Reset the speed rate limit on a connection to unlimited.

Parameters
sdkSpeedifySDK object
adapterIDguid of adapter, from adapters list
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
adapters result object
Since
7.5

◆ SpeedifySDK_ResetDirectoryDomain()

SpeedifySDK_DirectoryDomainResult SpeedifySDK_ResetDirectoryDomain ( CSpeedifySDK  sdk,
SpeedifySDK_DirectoryDomainCallback  cb,
void *  userData 
)

Reset the directory server to defaults.

Parameters
sdkSpeedifySDK object
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
directory domain result object
Since
7.5

◆ SpeedifySDK_SetAdapterDailyDataLimit()

SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterDailyDataLimit ( CSpeedifySDK  sdk,
const char *  adapterID,
int64_t  allowedBytes,
SpeedifySDK_AdaptersCallback  cb,
void *  userData 
)

Set the data usage, in bytes, allowed on this adapter in a single day.

Setting allowedBytes to 0 will disable this limit.

Parameters
sdkSpeedifySDK object
adapterIDID of the adapterID
allowedBytesbytes that may be used in a single day. 0 for unlimited
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
adapters result object
Since
7.5

◆ SpeedifySDK_SetAdapterMonthlyDataLimit()

SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterMonthlyDataLimit ( CSpeedifySDK  sdk,
const char *  adapterID,
int64_t  allowedBytes,
int64_t  resetDay,
SpeedifySDK_AdaptersCallback  cb,
void *  userData 
)

Set the data usage, in bytes, allowed on this adapter in a single month.

Setting allowedBytes to 0 will disable this limit.

Parameters
sdkSpeedifySDK object
adapterIDID of the adapterID
allowedBytesbytes that may be used in a single month. 0 for unlimited
resetDayday of the month that monthly usage is tracked from. 0 for last 30 days. unused if allowedBytes is 0
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
adapters result object
Since
7.5

◆ SpeedifySDK_SetAdapterOverlimitRateLimit()

SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterOverlimitRateLimit ( CSpeedifySDK  sdk,
const char *  adapterID,
int64_t  bps,
SpeedifySDK_AdaptersCallback  cb,
void *  userData 
)

Sets how to handle an adapter that has hit its daily or monthly data limit.

Parameters
sdkSpeedifySDK object
adapterIDID of the adapterID
bpsrate limit, in bits per second. 0 to not use the adapter
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
adapters result object
Since
7.5

◆ SpeedifySDK_SetAllowChaChaEncryption()

SpeedifySDK_SettingsResult SpeedifySDK_SetAllowChaChaEncryption ( CSpeedifySDK  sdk,
bool  enabled,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Allow or disallow use of ChaCha for connection encryptions.

Parameters
sdkSpeedifySDK object
enabledallow use of ChaCha
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
7.5

◆ SpeedifySDK_SetCaptivePortalLoginMode()

SpeedifySDK_CaptivePortalLoginResult SpeedifySDK_SetCaptivePortalLoginMode ( CSpeedifySDK  sdk,
bool  enabled,
const char *  adapterID,
SpeedifySDK_CaptivePortalLoginCallback  cb,
void *  userData 
)

Controls the captive portal login mode. If enabled, new port 80, 443, and 53 sockets will be directed through the chosen adapter instead of over the VPN tunnel. Can only be started while the VPN tunnel is connected. If enabling, an adapterID must be provided.

Parameters
sdkSpeedifySDK object
enabledif captive portal login mode is enabled
adapterIDguid of adapter, from adapters list
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
captive portal login mode result object
Since
9.0

◆ SpeedifySDK_SetConnectionEncryption()

SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionEncryption ( CSpeedifySDK  sdk,
const char *  adapterID,
bool  encrypted,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Change encryption settings per connection.

Parameters
sdkSpeedifySDK object
adapterIDID of the adapterID
encryptedwhether to encrypt
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
7.5

◆ SpeedifySDK_SetConnectionPriorities()

SpeedifySDK_AdaptersResult SpeedifySDK_SetConnectionPriorities ( CSpeedifySDK  sdk,
const char *  adapterID,
SpeedifySDK_ConnectionPriority  priority,
SpeedifySDK_AdaptersCallback  cb,
void *  userData 
)

Change priorities of a connection.

Parameters
sdkSpeedifySDK object
adapterIDguid of adapter, from adapters list.
prioritypriority level
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
adapters result object
Since
7.5

◆ SpeedifySDK_SetConnectionRateLimit()

SpeedifySDK_AdaptersResult SpeedifySDK_SetConnectionRateLimit ( CSpeedifySDK  sdk,
const char *  adapterID,
int64_t  bps,
SpeedifySDK_AdaptersCallback  cb,
void *  userData 
)

Set the speed rate limit on a connection.

Parameters
sdkSpeedifySDK object
adapterIDguid of adapter, from adapters list
bpsrate limit, in bits per second
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
adapters result object
Since
7.5

◆ SpeedifySDK_SetConnectionTransportMode()

SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionTransportMode ( CSpeedifySDK  sdk,
SpeedifySDK_TransportMode  mode,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Sets the transport mode selection used for each connection.

Parameters
sdkSpeedifySDK object
modeselection mode to use
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
7.5

◆ SpeedifySDK_SetConnectMethodAuto()

SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodAuto ( CSpeedifySDK  sdk,
SpeedifySDK_AutoConnectMethod  method,
SpeedifySDK_ServerSettingsCallback  cb,
void *  userData 
)

Set the default connection method to an automatic selection method.

Parameters
sdkSpeedifySDK object
methodautomatic server selection method to use
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
server settings result object
Since
7.5

◆ SpeedifySDK_SetConnectMethodCity()

SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodCity ( CSpeedifySDK  sdk,
const char *  country,
const char *  city,
SpeedifySDK_ServerSettingsCallback  cb,
void *  userData 
)

Set the default connection method to a specific city.

Parameters
sdkSpeedifySDK object
country2-char ISO country code
citycity name
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
server settings result object
Since
7.5

◆ SpeedifySDK_SetConnectMethodCountry()

SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodCountry ( CSpeedifySDK  sdk,
const char *  country,
SpeedifySDK_ServerSettingsCallback  cb,
void *  userData 
)

Set the default connection method to a specific country.

Parameters
sdkSpeedifySDK object
country2-char ISO country code
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
server settings result object
Since
7.5

◆ SpeedifySDK_SetConnectMethodServer()

SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodServer ( CSpeedifySDK  sdk,
const char *  country,
const char *  city,
int32_t  num,
SpeedifySDK_ServerSettingsCallback  cb,
void *  userData 
)

Set the default connection method to a specific server.

Parameters
sdkSpeedifySDK object
country2-char ISO country code
citycity name
numserver number
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
server settings result object
Since
7.5

◆ SpeedifySDK_SetCrashReports()

SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetCrashReports ( CSpeedifySDK  sdk,
bool  enabled,
SpeedifySDK_PrivacySettingsCallback  cb,
void *  userData 
)

Sets if crash reporting should be enabled.

Parameters
sdkSpeedifySDK object
enabledIf reporting is enabled
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
privacy settings result object
Since
7.5

◆ SpeedifySDK_SetDirectoryDomain()

SpeedifySDK_DirectoryDomainResult SpeedifySDK_SetDirectoryDomain ( CSpeedifySDK  sdk,
const char *  domain,
SpeedifySDK_DirectoryDomainCallback  cb,
void *  userData 
)

Change directory server used for user authentication and server management.

If using your own directory server, this should be called before SpeedifySDK_Login(), SpeedifySDK_LoginOauth(), or SpeedifySDK_LoginAutoAccount().

Parameters
sdkSpeedifySDK object
domaindirectory server domain
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
directory domain result object
Since
7.5

◆ SpeedifySDK_SetDnsLeak()

SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDnsLeak ( CSpeedifySDK  sdk,
bool  enabled,
SpeedifySDK_PrivacySettingsCallback  cb,
void *  userData 
)

Sets if DNS Leak protection is enabled.

Windows Only

Parameters
sdkSpeedifySDK object
enabledIf dns leak protection is enabled
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
privacy settings result object
Since
7.5

◆ SpeedifySDK_SetDNSServers()

SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDNSServers ( CSpeedifySDK  sdk,
uint16_t  count,
SpeedifySDK_IPAddressString dnsAddrs,
SpeedifySDK_PrivacySettingsCallback  cb,
void *  userData 
)

Sets DNS servers to use.

Pass 0 addresses to restore defaults.
Windows & Mac Only

Parameters
sdkSpeedifySDK object
countnumber of addresses specified
dnsAddrsaddresses of dns servers
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
privacy settings result object
Since
7.5

◆ SpeedifySDK_SetEnableDefaultRoute()

SpeedifySDK_SettingsResult SpeedifySDK_SetEnableDefaultRoute ( CSpeedifySDK  sdk,
bool  enabled,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Set whether the default route (0.0.0.0/0) goes over the VPN tunnel.

Parameters
sdkSpeedifySDK object
enabledif default route is added to the interface
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
7.5

◆ SpeedifySDK_SetFirewallDomains()

SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallDomains ( CSpeedifySDK  sdk,
uint16_t  count,
SpeedifySDK_DomainString domains,
SpeedifySDK_FirewallSettingsCallback  cb,
void *  userData 
)

Set domains to firewall.

Parameters
sdkSpeedifySDK object
countnumber of domain objects
domainsdomain names to block/whitelist
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
firewall result object
Since
9.2

◆ SpeedifySDK_SetFirewallIPv4()

SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallIPv4 ( CSpeedifySDK  sdk,
uint16_t  count,
struct in_addr *  ipv4,
SpeedifySDK_FirewallSettingsCallback  cb,
void *  userData 
)

Set IPv4 address to firewall. IP addresses should be in network byte order.

Parameters
sdkSpeedifySDK object
countnumber of domain objects
ipv4ipv4 addresses to block/whitelist
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
firewall result object
Since
9.2

◆ SpeedifySDK_SetFirewallIPv6()

SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallIPv6 ( CSpeedifySDK  sdk,
uint16_t  count,
struct in6_addr *  ipv6,
SpeedifySDK_FirewallSettingsCallback  cb,
void *  userData 
)

Set IPv6 address to firewall. IP addresses should be in network byte order.

Parameters
sdkSpeedifySDK object
countnumber of domain objects
ipv6ipv6 addresses to block/whitelist
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
firewall result object
Since
9.3

◆ SpeedifySDK_SetFirewallMode()

SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallMode ( CSpeedifySDK  sdk,
SpeedifySDK_FirewallMode  mode,
SpeedifySDK_FirewallSettingsCallback  cb,
void *  userData 
)

Set the mode used by the firewall.

Parameters
sdkSpeedifySDK object
modehow matches are treated
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
firewall result object
Since
9.2

◆ SpeedifySDK_SetFirewallPorts()

SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallPorts ( CSpeedifySDK  sdk,
uint16_t  count,
SpeedifySDK_FirewallPort ports,
SpeedifySDK_FirewallSettingsCallback  cb,
void *  userData 
)

Set ports to firewall Ports should be in host byte order.

Parameters
sdkSpeedifySDK object
countnumber of domain objects
portsto block/whitelist
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
firewall result object
Since
9.2

◆ SpeedifySDK_SetForwardPorts()

SpeedifySDK_SettingsResult SpeedifySDK_SetForwardPorts ( CSpeedifySDK  sdk,
uint16_t  count,
SpeedifySDK_ForwardedPort ports,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Set ports to be forwarded to this client when connected to a dedicated server.

Parameters
sdkSpeedifySDK object
countnumber of ports specified
portsports to be forwarded
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
7.5

◆ SpeedifySDK_SetJumboPackets()

SpeedifySDK_SettingsResult SpeedifySDK_SetJumboPackets ( CSpeedifySDK  sdk,
bool  enabled,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Sets whether to allow jumbo packets over the VPN tunnel.

Parameters
sdkSpeedifySDK object
enabledallow jumbo packets
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
7.5

◆ SpeedifySDK_SetKillswitch()

SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetKillswitch ( CSpeedifySDK  sdk,
bool  enabled,
SpeedifySDK_PrivacySettingsCallback  cb,
void *  userData 
)

Sets if Internet Killswitch should be enabled.

When enabled, Internet connectivity is disabled if Speedify is not connected.
Windows Only

Parameters
sdkSpeedifySDK object
enabledIf killswitch is enabled
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
privacy settings result object
Since
7.5

◆ SpeedifySDK_SetLocalProxyDomains()

SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomains ( CSpeedifySDK  sdk,
uint16_t  count,
SpeedifySDK_DomainString domains,
SpeedifySDK_LocalProxySettingsCallback  cb,
void *  userData 
)

Set domains to proxy locally, instead of going through the VPN.

Parameters
sdkSpeedifySDK object
countnumber of domain objects
domainsdomain names to redirect through the local proxy
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
local proxy result object
Since
9.2

◆ SpeedifySDK_SetLocalProxyDomainWatchlist()

SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomainWatchlist ( CSpeedifySDK  sdk,
uint16_t  count,
SpeedifySDK_LocalProxyDomainWatchlistItem domainWatchlist,
SpeedifySDK_LocalProxySettingsCallback  cb,
void *  userData 
)

Set domain watchlist settings for the local proxy.

Parameters
sdkSpeedifySDK object
countnumber of domain watchlist items
domainWatchlistdomain watchlist items
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
local proxy result object
Since
9.3

◆ SpeedifySDK_SetLocalProxyDomainWatchlistEnable()

SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomainWatchlistEnable ( CSpeedifySDK  sdk,
const char *  title,
bool  enabled,
SpeedifySDK_LocalProxySettingsCallback  cb,
void *  userData 
)

Toggle a single domain watchlist item from being enabled over the local proxy.

Parameters
sdkSpeedifySDK object
titlewatchlist item title
enabledif this watchlist item's domains should be included in the local proxy filter
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
local proxy result object
Since
9.3

◆ SpeedifySDK_SetLocalProxyEnabled()

SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyEnabled ( CSpeedifySDK  sdk,
bool  enabled,
SpeedifySDK_LocalProxySettingsCallback  cb,
void *  userData 
)

Enables or disables the local proxy.

Parameters
sdkSpeedifySDK object
enabledenable the local proxy
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
local proxy result object
Since
9.2

◆ SpeedifySDK_SetLocalProxyIPv4()

SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyIPv4 ( CSpeedifySDK  sdk,
uint16_t  count,
struct in_addr *  ipv4,
SpeedifySDK_LocalProxySettingsCallback  cb,
void *  userData 
)

Set IPv4 address to proxy locally, instead of going through the VPN. IP addresses should be in network byte order.

Parameters
sdkSpeedifySDK object
countnumber of domain objects
ipv4ipv4 addresses to redirect through the local proxy
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
local proxy result object
Since
9.2

◆ SpeedifySDK_SetLocalProxyMatchMode()

SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyMatchMode ( CSpeedifySDK  sdk,
SpeedifySDK_ProxyMatchMode  matchMode,
SpeedifySDK_LocalProxySettingsCallback  cb,
void *  userData 
)

Set the match mode used by the local proxy.

Parameters
sdkSpeedifySDK object
matchModehow matches are treated
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
local proxy result object
Since
9.2

◆ SpeedifySDK_SetLocalVendorSettings()

SpeedifySDK_VendorSettingsResult SpeedifySDK_SetLocalVendorSettings ( CSpeedifySDK  sdk,
const char *  settingsJson,
bool  merge,
SpeedifySDK_VendorSettingsCallback  cb,
void *  userData 
)

Set local vendor settings.

Parameters
sdkSpeedifySDK object
settingsJsona json object as a string
mergeif true, settingsJson is merged in to existing local vendor settings. if false, settingsJson replaces existing local vendor settings
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
vendor settings result object
Since
9.2

◆ SpeedifySDK_SetMode()

SpeedifySDK_SettingsResult SpeedifySDK_SetMode ( CSpeedifySDK  sdk,
SpeedifySDK_BondingMode  mode,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Change the basic mode of operation, between optimizing for speed or maximizing reliability.

Parameters
sdkSpeedifySDK object
modedesired mode
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
7.5

◆ SpeedifySDK_SetOverflowThreshold()

SpeedifySDK_SettingsResult SpeedifySDK_SetOverflowThreshold ( CSpeedifySDK  sdk,
double  mbpsOverflow,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Set the overflow threshold.

Parameters
sdkSpeedifySDK object
mbpsOverflowoverflow threshold, in megabits per second
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
7.5

◆ SpeedifySDK_SetPacketAggregation()

SpeedifySDK_SettingsResult SpeedifySDK_SetPacketAggregation ( CSpeedifySDK  sdk,
bool  enabled,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Sets whether to allow aggregating smaller packets sent over the VPN.

Parameters
sdkSpeedifySDK object
enabledallow packet aggregation
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
8.0

◆ SpeedifySDK_SetReportingEncryptionKey()

SpeedifySDK_BaseResult SpeedifySDK_SetReportingEncryptionKey ( CSpeedifySDK  sdk,
const char *  key128bit 
)

Set reporting encryption key.

Parameters
sdkSpeedifySDK object
key128bitA 16 byte ascii or 32byte hex string used to encrypt sensitive reports, or null to use default.
Returns
result object
Since
7.5

◆ SpeedifySDK_SetStartupConnect()

SpeedifySDK_SettingsResult SpeedifySDK_SetStartupConnect ( CSpeedifySDK  sdk,
bool  enabled,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Set if Speedify should autmatically connect when the daemon starts.

Parameters
sdkSpeedifySDK object
enabledautomatically connect
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
7.5

◆ SpeedifySDK_SetTunnelEncrypted()

SpeedifySDK_SettingsResult SpeedifySDK_SetTunnelEncrypted ( CSpeedifySDK  sdk,
bool  enabled,
SpeedifySDK_SettingsCallback  cb,
void *  userData 
)

Sets encryption status on all connections forming the tunnels.

Parameters
sdkSpeedifySDK object
enabledwhether to encrypt
cboptional callback
userDataoptional user data pointer returned in the callback
Returns
settings result object
Since
7.5

◆ SpeedifySDK_StartSpeedtest()

SpeedifySDK_SpeedtestResult SpeedifySDK_StartSpeedtest ( CSpeedifySDK  sdk,
bool  reportProgress,
SpeedifySDK_SpeedtestCallback  cb,
void *  userData 
)

Starts a test of speeds through Speedify.

Parameters
sdkSpeedifySDK object
reportProgressif intermediate progress reports should also be reported. These are always delivered to the callback.
cboptional callback, required to get intermediate progress reports
userDataoptional user data pointer returned in the callback
Returns
speedtest result object
Since
7.5

◆ SpeedifySDK_StopSpeedtest()

SpeedifySDK_BaseResult SpeedifySDK_StopSpeedtest ( CSpeedifySDK  sdk)

Stops an in-progress speed test.

Parameters
sdkSpeedifySDK object
Returns
result object
Since
7.5

◆ SpeedifySDK_UnregisterCallback()

void SpeedifySDK_UnregisterCallback ( CSpeedifySDK  sdk,
SpeedifySDK_EventID  eventId 
)

Unregister an asynchronous callback registered via other calls.

Parameters
sdkSpeedifySDK object
eventIdid of the callback obtained from the result object's eventId field
Since
7.5