Table of Contents

Class ServerInfo

Namespace
VpnHood.Core.Server.Access
Assembly
VpnHood.Core.Server.Access.dll

Represents what a VPN server is and has, as it sends it to its access manager to get its configuration (Server_Configure(ServerInfo, CancellationToken)).

public class ServerInfo
Inheritance
ServerInfo
Inherited Members

Properties

EnvironmentVersion

Gets or sets the version of the .NET runtime the server runs on.

[JsonConverter(typeof(VersionConverter))]
public required Version EnvironmentVersion { get; set; }

Property Value

Version

FreeQuicPortV4

Gets or sets a UDP port that was free over IPv4 for QUIC, 443 where it is, or 0 where the server found none; nothing reserves it.

public int FreeQuicPortV4 { get; set; }

Property Value

int

FreeQuicPortV6

Gets or sets a UDP port that was free over IPv6 for QUIC, 443 where it is, or 0 where the server found none; nothing reserves it.

public int FreeQuicPortV6 { get; set; }

Property Value

int

FreeUdpPortV4

Gets or sets a UDP port that was free over IPv4 when the server looked, for the tunnel's UDP channel, or 0 where it found none; nothing reserves it.

public int FreeUdpPortV4 { get; set; }

Property Value

int

FreeUdpPortV6

Gets or sets a UDP port that was free over IPv6, the IPv4 one where it is free there too, or 0 where the server found none; nothing reserves it.

public int FreeUdpPortV6 { get; set; }

Property Value

int

IsRestarted

Gets or sets a value indicating whether the server has had no configuration from the access manager since it started: it stays true until the first answer, even where applying it then fails.

public bool IsRestarted { get; set; }

Property Value

bool

LogicalCoreCount

Gets or sets the machine's logical cores.

public int LogicalCoreCount { get; set; }

Property Value

int

MachineName

Gets or sets the machine's name, or null.

public string? MachineName { get; set; }

Property Value

string

NetworkInterfaceNames

Gets or sets the names of the machine's network interfaces, where the server manages its network; otherwise, null.

public string[]? NetworkInterfaceNames { get; set; }

Property Value

string[]

OsInfo

Gets or sets a description of the machine and its OS, or null.

public string? OsInfo { get; set; }

Property Value

string

OsVersion

Gets or sets the OS's version, or null.

public string? OsVersion { get; set; }

Property Value

string

PrivateIpAddresses

Gets or sets the machine's local addresses, as the server finds them.

[JsonConverter(typeof(ArrayConverter<IPAddress, IPAddressConverter>))]
public required IPAddress[] PrivateIpAddresses { get; set; }

Property Value

IPAddress[]

PublicIpAddresses

Gets or sets the machine's public addresses, where the server looks them up; otherwise, none.

[JsonConverter(typeof(ArrayConverter<IPAddress, IPAddressConverter>))]
public required IPAddress[] PublicIpAddresses { get; set; }

Property Value

IPAddress[]

Status

Gets or sets the server's status at the time.

public required ServerStatus Status { get; set; }

Property Value

ServerStatus

TotalMemory

Gets or sets the machine's memory, in bytes, or null where not known.

public long? TotalMemory { get; set; }

Property Value

long?

Version

Gets or sets the server's version.

[JsonConverter(typeof(VersionConverter))]
public required Version Version { get; set; }

Property Value

Version