Skip to main content

A read-only CLI for diagnosing mismatched proxy configuration sources.

Project description

proxy-path-doctor

proxy-path-doctor is a small, privacy-conscious, read-only CLI for diagnosing conflicting proxy configuration sources. It collects the settings that commonly cause confusing network failures, highlights mismatches, and produces a report that is safe to share in an issue.

The project is currently an early MVP. It supports Windows system proxy inspection, GNOME desktop proxy inspection on Linux, and portable checks for proxy environment variables, VS Code and Cursor user proxy settings, DNS, and optional HTTP connectivity.

Why this exists

Network failures are often reported as "the proxy looks correct" while several independent settings are involved. proxy-path-doctor gathers those signals in one place and redacts credentials before printing them.

The tool does not modify proxy settings, manage proxy servers, or choose a proxy provider. Its focus is explaining which configuration path a program may be using across Windows, Linux, environment variables, and connectivity checks.

Install

Install the latest release from PyPI:

python -m pip install proxy-path-doctor

For development, install the project from the repository:

git clone https://github.com/oneAI6/proxy-doctor.git
cd proxy-doctor
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e .

Usage

Inspect local settings without sending a network request:

proxy-path-doctor

Include a DNS and HTTP connectivity check:

proxy-path-doctor --check-url https://example.com

Check whether a local development URL is covered by NO_PROXY:

proxy-path-doctor --check-url http://localhost:3000

Generate a JSON report for an issue:

proxy-path-doctor --format json --output proxy-report.json

Any username or password embedded in a proxy URL is replaced with ***. Review a generated report before posting it publicly because hostnames and proxy addresses may still describe your environment.

Testing feedback wanted

Real-world proxy setups vary widely. Windows and Linux users who rely on proxies for development tools, package managers, IDEs, or AI coding tools are invited to try the CLI and share whether its findings are clear and useful. See the testing feedback issue for a short checklist. A successful run with no conflict found is useful too.

Current checks

  • Operating system and Python version
  • Common proxy environment variables
  • Windows user proxy settings
  • Windows WinHTTP proxy settings
  • Linux GNOME desktop proxy settings through gsettings
  • VS Code and Cursor user proxy settings, including http.proxy and http.noProxy
  • Optional DNS resolution
  • Optional HTTP HEAD request with a timeout
  • NO_PROXY matching for checked URLs, including domains, ports, and IP addresses
  • Actionable findings for conflicting settings and connectivity failures

Example finding

[findings]
- WARNING: Proxy environment variables are set while the Windows user proxy is
  disabled. Suggestion: Check whether your terminal, IDE, or launcher exports
  HTTP_PROXY, HTTPS_PROXY, or ALL_PROXY intentionally.

Contributing

Bug reports and focused pull requests are welcome. See CONTRIBUTING.md and docs/ROADMAP.md. The maintainer plan describes a realistic path from the MVP to a maintained public project. Release notes are available in CHANGELOG.md.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

proxy_path_doctor-0.6.0.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

proxy_path_doctor-0.6.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file proxy_path_doctor-0.6.0.tar.gz.

File metadata

  • Download URL: proxy_path_doctor-0.6.0.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for proxy_path_doctor-0.6.0.tar.gz
Algorithm Hash digest
SHA256 9651688a332eaebf83214ed2bcfaf1b6ced23564149fb9a1ed3e02ef25bae0a1
MD5 42d57fc77660d93163daf8d5453190dd
BLAKE2b-256 48c5c043f452ea9fb40db15dd60db3ea10a43cd043fc0765e90236162856d2fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxy_path_doctor-0.6.0.tar.gz:

Publisher: publish.yml on oneAI6/proxy-doctor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file proxy_path_doctor-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for proxy_path_doctor-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6808678095af7cee9392bf84c5dd1f1678c906d9d17e9ab445cc3770c03eef32
MD5 80f25317622947abccbf28e8e9713703
BLAKE2b-256 b404550516a8208c67f7285fffb47572a184b7d106deaf4ab6d6f624decab476

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxy_path_doctor-0.6.0-py3-none-any.whl:

Publisher: publish.yml on oneAI6/proxy-doctor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page