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
HEADrequest with a timeout NO_PROXYmatching 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f3b9a3b8c428131cd1247282864e02e78e4cd2864d32a213c7727c00aff6cbb
|
|
| MD5 |
541c153d089829b0539bffe09c9a0aed
|
|
| BLAKE2b-256 |
8f051a4b0cb981688847e380181032b112cdba741731f71d9b17963a5f3f450e
|
Provenance
The following attestation bundles were made for proxy_path_doctor-0.5.0.tar.gz:
Publisher:
publish.yml on oneAI6/proxy-doctor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proxy_path_doctor-0.5.0.tar.gz -
Subject digest:
0f3b9a3b8c428131cd1247282864e02e78e4cd2864d32a213c7727c00aff6cbb - Sigstore transparency entry: 1708748821
- Sigstore integration time:
-
Permalink:
oneAI6/proxy-doctor@12027b97c1f09fd1e09e1a25e4a008f219f6ad28 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/oneAI6
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@12027b97c1f09fd1e09e1a25e4a008f219f6ad28 -
Trigger Event:
release
-
Statement type:
File details
Details for the file proxy_path_doctor-0.5.0-py3-none-any.whl.
File metadata
- Download URL: proxy_path_doctor-0.5.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b980094abfa154ef6163ebcbe17dc5c62b180c5d99992bfa73b443f873d75d83
|
|
| MD5 |
c0dfa6e1f2c9a3d54e7cbf76e475e23b
|
|
| BLAKE2b-256 |
9773e5bb99dfcd214ba665af0e444ee49577df23efaf9383885fcb6cbfaf2109
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
proxy_path_doctor-0.5.0-py3-none-any.whl -
Subject digest:
b980094abfa154ef6163ebcbe17dc5c62b180c5d99992bfa73b443f873d75d83 - Sigstore transparency entry: 1708748835
- Sigstore integration time:
-
Permalink:
oneAI6/proxy-doctor@12027b97c1f09fd1e09e1a25e4a008f219f6ad28 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/oneAI6
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@12027b97c1f09fd1e09e1a25e4a008f219f6ad28 -
Trigger Event:
release
-
Statement type: