A macOS app using URLSession can normally follow the machine’s proxy policy without asking the user to enter the same proxy again. Apple documents that the default connectionProxyDictionary value uses the system settings.

A download manager may reasonably offer its own proxy preference. Make the choice explicit: “Use system settings” and a deliberately configured session are different modes. Copying one current proxy address creates a snapshot of the route.

Apply a custom policy before creating the session. URLSession copies the supplied configuration; changing the original configuration object afterward does not update the existing session. When a user changes the app’s proxy preference, arrange a new session for the new policy and decide how requests already in progress should finish or be cancelled.

For supported deployment targets, Apple now recommends proxyConfigurations over the older dictionary interface because it supports secure proxy and relay types. Check API availability against the app’s minimum operating-system version before choosing that interface.

This behavior belongs to URLSession. A package opening its own sockets or using another HTTP implementation needs its own proxy support. Identify that transport before changing system preferences.

Artiglyn mynjee