-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Hello,
I'm looking to use this in a Home Lab scenario where I'd like to have it just act as a forward proxy but be able to implement my own host based filtering.
In the doco here I can see an example to disable global ssl using fluxzySetting.AddAlterationRules(new Rule(new SkipSslTunnelingAction(), AnyFilter.Default));
.
This works but appears to break http.
Code:
var fluxzySetting = FluxzySetting
.CreateDefault(IPAddress.Loopback, 8888)
.SetAutoInstallCertificate(false);
fluxzySetting.AddAlterationRules(new Rule(new SkipSslTunnelingAction(), AnyFilter.Default));
await using var proxy = new Proxy(fluxzySetting);
proxy.Writer.ExchangeUpdated += (_, args) =>
{
Console.WriteLine($"#{args.ExchangeInfo.Id:0000} {args.UpdateType}: " +
$"{args.ExchangeInfo.Method} {args.ExchangeInfo.FullUrl}");
};
proxy.Writer.ConnectionUpdated += (_, args) =>
{
Console.WriteLine($"#{args.Connection.Id:0000} New connection: " +
$"{args.Connection.Authority.HostName} {args.Connection.Authority.Port}");
};
_ = proxy.Run();
Console.WriteLine("Press any key to exit");
Console.ReadKey();
Powershell to test:
Invoke-WebRequest -Uri "https://www.google.com" -Proxy "http://127.0.0.1:8888"
^This works as expected and the following is printed to the console:
#0001 BeforeRequestHeader: CONNECT http://www.google.comwww.google.com:443
Invoke-WebRequest -Uri "http://www.google.com" -Proxy "http://127.0.0.1:8888"
^This does not work, the following is printed but nothing is ever returned to the client and it eventually times out.
#0002 BeforeRequestHeader: GET http://www.google.com/
Without the SkipSslTunnelingAction
http works fine but https obviously requires the SSL cert.
Is there a way to disable SSL Inspection while also allowing http to work?