using Netch.Models;
namespace Netch.Servers;
public class ShadowsocksRServer : Server
{
public override string Type { get; } = "SSR";
public override string MaskedData()
{
return $"{EncryptMethod} + {Protocol} + {OBFS}";
}
///
/// 密码
///
public string Password { get; set; } = string.Empty;
///
/// 加密方式
///
public string EncryptMethod { get; set; } = SSRGlobal.EncryptMethods[4];
///
/// 协议
///
public string Protocol { get; set; } = SSRGlobal.Protocols[0];
///
/// 协议参数
///
public string? ProtocolParam { get; set; }
///
/// 混淆
///
public string OBFS { get; set; } = SSRGlobal.OBFSs[0];
///
/// 混淆参数
///
public string? OBFSParam { get; set; }
}
public class SSRGlobal
{
///
/// SSR 协议列表
///
public static readonly List Protocols = new()
{
"origin",
"auth_sha1_v4",
"auth_aes128_md5",
"auth_aes128_sha1",
"auth_chain_a",
"auth_chain_b"
};
///
/// SSR 混淆列表
///
public static readonly List OBFSs = new()
{
"plain",
"http_simple",
"http_post",
"tls_simple",
"tls1.2_ticket_auth",
"tls1.2_ticket_fastauth",
"random_head"
};
///
/// SS/SSR 加密方式
///
public static readonly List EncryptMethods = SSGlobal.EncryptMethods;
}