не работает код с TitaniumWeb Proxy
Писал код для редиректа в браузере, но браузеры выдают такую ошибку, хотя я даже делал валидацию сертификата в коде вот код:
public static ProxyServer proxyServer = new ProxyServer();
public static void Start()
{
//proxyServer.CertificateManager.TrustRootCertificate(true);
proxyServer.CertificateManager.CertificateEngine = CertificateEngine.BouncyCastle;
var endpoint = new ExplicitProxyEndPoint(System.Net.IPAddress.Any, 8080, true);
proxyServer.AddEndPoint(endpoint);
proxyServer.ServerCertificateValidationCallback += OnCertificateValidation;
proxyServer.BeforeRequest += OnRequest;
//proxyServer.ClientCertificateSelectionCallback -= OnCertificateSelection;
proxyServer.Start();
Console.WriteLine("СЕРВЕР ЗАПУСТИЛИ!");
}
public static void Stop()
{
proxyServer.BeforeRequest -= OnRequest;
proxyServer.Stop();
Console.WriteLine("СТОПАНУЛ СЕРВАК!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
private static async Task OnRequest(object sender, SessionEventArgs e)
{
Console.WriteLine("Зашли в редирект");
Console.WriteLine(e.HttpClient.Request.RequestUri.Host.ToString());
var host = e.HttpClient.Request.RequestUri.Host.ToLower();
var host_ip = e.HttpClient.Request.RequestUriString.ToLower();
Console.WriteLine(host);
Console.WriteLine(host_ip);
if (e.HttpClient.Request.RequestUri.Host.ToString().Contains("vk.com"))
{
Console.WriteLine("Редиректаем на ЮТТТТТТТТТТТТТТТТТТТТТТТТТТТТТ");
e.Redirect("https://youtube.com/");
Console.WriteLine("РЕДИРЕКТНУЛИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИ");
}
}
//static extern IntPtr GetForegroundWindow();
private static Task OnCertificateValidation(object sender, CertificateValidationEventArgs e)
{
// игнорирование некоторых ошибок SSL-сертификата
if (e.SslPolicyErrors == System.Net.Security.SslPolicyErrors.None)
{
e.IsValid = true;
}
if (e.SslPolicyErrors == System.Net.Security.SslPolicyErrors.RemoteCertificateChainErrors)
{
foreach (X509ChainStatus chainStatus in e.Chain.ChainStatus)
{
if (chainStatus.Status != X509ChainStatusFlags.RevocationStatusUnknown &&
chainStatus.Status != X509ChainStatusFlags.NoError)
{
e.IsValid = false;
}
}
e.IsValid = true;
}
//return false;
return Task.CompletedTask;
}
