Table of Contents

Class SessionRequestEx

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

Represents a client's request for a session, as the server passes it to its access manager, with what the server knows of the client.

public class SessionRequestEx
Inheritance
SessionRequestEx
Inherited Members

Properties

AccessCode

Gets or sets the premium code the client connects with, or null.

public string? AccessCode { get; set; }

Property Value

string

AllowAnonymousTracker

Gets or sets a value indicating whether the person lets the session be reported anonymously: the access manager reports it only where it is true.

public bool AllowAnonymousTracker { get; set; }

Property Value

bool

AllowRedirect

Gets or sets a value indicating whether the client takes a redirect to another server. The default is true.

public bool AllowRedirect { get; set; }

Property Value

bool

ClientCountry

Gets or sets the client's country, or null; the server does not set it.

public string? ClientCountry { get; set; }

Property Value

string

ClientInfo

Gets what the client says of itself: its ID, version and user agent.

public required ClientInfo ClientInfo { get; init; }

Property Value

ClientInfo

ClientIp

Gets or sets the client's IP: its own address, or the one a reverse proxy the server trusts names in X-Forwarded-For.

[JsonConverter(typeof(IPAddressConverter))]
public required IPAddress? ClientIp { get; set; }

Property Value

IPAddress

EncryptedClientId

Gets the client's ID, encrypted with the access key's secret, which shows the client holds the key.

public required byte[] EncryptedClientId { get; init; }

Property Value

byte[]

ExtraData

Gets or sets the server's own data for the session, as JSON, which the access manager keeps and gives back with the session (ExtraData).

public required string? ExtraData { get; set; }

Property Value

string

HostEndPoint

Gets or sets the server's endpoint the client came to.

[JsonConverter(typeof(IPEndPointConverter))]
public required IPEndPoint HostEndPoint { get; set; }

Property Value

IPEndPoint

IsIpV6Supported

Gets or sets a value indicating whether the client's network carries IPv6, or null where it does not say.

public bool? IsIpV6Supported { get; set; }

Property Value

bool?

PlanId

Gets or sets the plan the client connects with.

public ConnectPlanId PlanId { get; set; }

Property Value

ConnectPlanId

ProtocolVersion

Gets or sets the protocol version the session runs on.

public int ProtocolVersion { get; set; }

Property Value

int

RemoteEndPoint

Gets or sets the client's endpoint as the server sees it, or null from servers of version 739 and before.

[JsonConverter(typeof(IPEndPointConverter))]
public IPEndPoint? RemoteEndPoint { get; set; }

Property Value

IPEndPoint

ServerLocation

Gets or sets the server location the client asks for, or null.

public string? ServerLocation { get; set; }

Property Value

string

TokenId

Gets the ID of the access key the client connects with.

public required string TokenId { get; init; }

Property Value

string

UserReview

Gets or sets the person's review of the app, sent with the connection, or null.

public UserReview? UserReview { get; set; }

Property Value

UserReview