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, 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

The planned PyPI package name for the first public release is proxy-path-doctor. Until then, install the current development version 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.

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
  • 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.5.0.tar.gz (11.8 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.5.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: proxy_path_doctor-0.5.0.tar.gz
  • Upload date:
  • Size: 11.8 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.5.0.tar.gz
Algorithm Hash digest
SHA256 0f3b9a3b8c428131cd1247282864e02e78e4cd2864d32a213c7727c00aff6cbb
MD5 541c153d089829b0539bffe09c9a0aed
BLAKE2b-256 8f051a4b0cb981688847e380181032b112cdba741731f71d9b17963a5f3f450e

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxy_path_doctor-0.5.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.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for proxy_path_doctor-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b980094abfa154ef6163ebcbe17dc5c62b180c5d99992bfa73b443f873d75d83
MD5 c0dfa6e1f2c9a3d54e7cbf76e475e23b
BLAKE2b-256 9773e5bb99dfcd214ba665af0e444ee49577df23efaf9383885fcb6cbfaf2109

See more details on using hashes here.

Provenance

The following attestation bundles were made for proxy_path_doctor-0.5.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