microsoft / microsoft/winget-cli

System proxy support

Open
#6,219 2 comments 56 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Feature
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

Relevant area(s)

WinGet CLI

Description of the new feature / enhancement

winget should support the system proxy server (see KB5014256).

Currently, the proxy use is impossible under the standard user, unless an administrator explicitly configures it. On the contrary, the system proxy is a standard user setting by default. Yet it is fully controllable by an administrator via the group policy, eg "Prevent changing proxy settings".

Proposed technical implementation details
  1. Unlike the ProxyCommandLineOptions setting, the system proxy support should NOT be locked down by the administrative settings.

  2. winget should behave as follows:

  • if the system proxy is configured, winget should use it by default
  • a command line parameter --no-system-proxy should be implemented to allow bypassing system proxy, which is the current behavior
  • if an existing parameter --proxy is specified on the command line, it must override the system proxy

Note. If using the system proxy by default is considered too radical of a change, an alternative approach is also acceptable: just implement the --use-system-proxy parameter.

  1. Optionally, the winget group policy "Disallow use of system proxy" can be implemented.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the WinGet CLI's existing ProxyCommandLineOptions and --proxy handling. Trace how proxy selection currently works, then define the behavior for the system proxy, --no-system-proxy, and --proxy precedence. Done means the requested default, bypass, override, and optional policy behavior are implemented and verified with the relevant CLI tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.