ae129fad6f
This also makes the use of a Proxy instance explicit in the Getdown code, rather than trying to thread things through the proxy-related system properties. It introduces a ProxyAuth SPI which allows an app installation to save proxy credentials in whatever way it deems fit. Otherwise the credentials are unsaved and the user effectively has to enter them every time Getdown attempts to access the internet. This is obviously a terrible design, but there's no good (cross-platform) way to securely store a username and password. So anyone using this feature is likely going to need to provide an implementation of ProxyAuth that does whatever auth storage they deem appropriate. Adapted from PR from @ThomasG-AI, thanks!