Class SessionInfo
- Namespace
- VpnHood.Core.Client.Abstractions
- Assembly
- VpnHood.Core.Client.Abstractions.dll
Represents a VPN session as its server set it up.
public class SessionInfo
- Inheritance
-
SessionInfo
- Inherited Members
Properties
AccessInfo
Gets the access's terms and state, as its access manager reports them, or null.
public required AccessInfo? AccessInfo { get; init; }
Property Value
AccessKey
Gets or sets an access key the server gave to replace the client's, or null; the app updates its profile with it after the connect.
public required string? AccessKey { get; set; }
Property Value
AdRequirement
Gets the ad the session requires.
public required AdRequirement AdRequirement { get; init; }
Property Value
ChannelProtocols
Gets the protocols the session's packet channels can use, by what the server takes and this device can make.
public required IReadOnlyList<ChannelProtocol> ChannelProtocols { get; init; }
Property Value
ClientCountry
Gets the code of the country the server places the client in, or null.
public required string? ClientCountry { get; init; }
Property Value
ClientPublicIpAddress
Gets the client's public IP address as the server sees it.
[JsonConverter(typeof(IPAddressConverter))]
public required IPAddress ClientPublicIpAddress { get; init; }
Property Value
CreatedTime
Gets or sets when the session was made, in UTC.
public required DateTime CreatedTime { get; set; }
Property Value
DnsConfig
Gets the session's DNS: its servers, where they came from, and whether the tunnel carries them.
public required DnsConfig DnsConfig { get; init; }
Property Value
IsIpV6SupportedByServer
Gets a value indicating whether the server carries IPv6; when not, the client blocks or bypasses IPv6 as UnsupportedIpV6Mode says.
public required bool IsIpV6SupportedByServer { get; init; }
Property Value
IsLocalNetworkAllowed
Gets or sets a value indicating whether the server lets the client reach the local networks.
public required bool IsLocalNetworkAllowed { get; set; }
Property Value
IsPremiumSession
Gets a value indicating whether the session is premium.
public required bool IsPremiumSession { get; init; }
Property Value
IsQuicChannelSupported
Gets a value indicating whether the session can use QUIC packet channels: the server takes them, and this device can make QUIC connections.
public required bool IsQuicChannelSupported { get; init; }
Property Value
IsQuicPacketSupported
Gets a value indicating whether the server carries the device's QUIC; where it does not, the client drops it as DropQuic does, whatever that says, while it forwards IPv4 TCP.
public required bool IsQuicPacketSupported { get; init; }
Property Value
IsTcpForwardingSupported
Gets a value indicating whether the server forwards TCP connections the client ends on the device.
public required bool IsTcpForwardingSupported { get; init; }
Property Value
IsTcpPacketIpV4Supported
Gets a value indicating whether the server carries IPv4 TCP as packets.
public required bool IsTcpPacketIpV4Supported { get; init; }
Property Value
IsTcpPacketIpV6Supported
Gets a value indicating whether the server carries IPv6 TCP as packets.
public required bool IsTcpPacketIpV6Supported { get; init; }
Property Value
IsTrafficSplitByServer
Gets a value indicating whether the server's own configuration leaves public destinations outside the tunnel.
public required bool IsTrafficSplitByServer { get; init; }
Property Value
Remarks
The local networks, multicast and loopback the server leaves out do not count, as they cannot expose the public address; nor does an IP version the server carries not at all, which IsIpV6SupportedByServer reports.
IsUdpChannelSupported
Gets a value indicating whether the server takes UDP packet channels.
public required bool IsUdpChannelSupported { get; init; }
Property Value
IsUdpPacketSupported
Gets a value indicating whether the server carries the device's UDP; where it does not, the client drops it as DropUdp does, whatever that says, while it forwards IPv4 TCP.
public required bool IsUdpPacketSupported { get; init; }
Property Value
ServerLocationInfo
Gets the server's location, or null.
public required ServerLocationInfo? ServerLocationInfo { get; init; }
Property Value
ServerVersion
Gets the server's version.
[JsonConverter(typeof(VersionConverter))]
public required Version ServerVersion { get; init; }
Property Value
SessionId
Gets the session's ID.
public required string SessionId { get; init; }
Property Value
SuppressedTo
Gets whose session this one took the place of, if any.
public required SessionSuppressType SuppressedTo { get; init; }