using System; using System.Text.Json.Serialization; namespace Shadowsocks.Models { public interface IServer : IEquatable { /// /// Gets or sets the server address. /// [JsonPropertyName("server")] public string Host { get; set; } /// /// Gets or sets the server port. /// [JsonPropertyName("server_port")] public int Port { get; set; } /// /// Gets or sets the password for the server. /// public string Password { get; set; } /// /// Gets or sets the method used for the server. /// public string Method { get; set; } /// /// Gets or sets the plugin executable filename. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)] public string? Plugin { get; set; } /// /// Gets or sets the plugin options passed as environment variables. /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)] public string? PluginOpts { get; set; } /// /// Gets or sets the server name. /// [JsonPropertyName("remarks")] public string Name { get; set; } } }