Our instance of PatchMyPC is installed on our Site Server which currently has open access to the Internet; this was implemented to support the Publisher downloading content direct from all the various vendors. Our new security policy dictates that we need to provide more granular Internet access, as such having to lock this down and provide the Publisher access via the Proxy Settings. We use Zscaler, however PatchMyPC does not currently have pac file support - is this something that can be implemented?
Any update on this?
✍(◔◡◔)
You've given me a good chuckle Llewellyn.
We will get PAC file support implemented :) I apologize for missing your comment, and for this taking as long as it has.
How do I make pull request???
Enums.cs:
public enum ProxyMethods
{
NoProxy,
ExpliciteProxyWithoutAuth,
ExpliciteProxyWithAuth,
Default,
}
NetUtil.cs:
if (proxyMethod == Enums.ProxyMethods.Default)
{
Logger.Write("Default proxy will be used", Logger.Severity.Debug);
// I think this works in dotnet framework and core
return (new HttpClientHandler()).Proxy;
// or this but only in dotnet framework
return WebRequest.DefaultWebProxy;
}
Then defaultProxy settings from PatchMyPc-Service.exe.config can be set
https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/network/defaultproxy-element-network-settings
I think this should allow the use of PAC files if useSystemDefault=true is set in the XML PatchMyPc-Service.exe.config
Yes, this would be really useful. I had a similar problem and ended up pointing PMPC to a local proxy that was able to read PAC files and then send on requests direct or via the main proxy.
For reference the local proxy I used is an open source one called PX https://github.com/genotrance/px
Even being able to use the dotnet default proxy settings would be nice. https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/network/defaultproxy-element-network-settings
Hello, thanks for bringing this up. This is definitely something we will be looking at in the future. At the moment, we only support a proxy configuration, but the proxy server, port, and authentication info must be manually provided.