{"id":34100004,"url":"https://github.com/andrebell/winproxy","last_synced_at":"2025-12-14T16:12:14.500Z","repository":{"id":62589176,"uuid":"49229581","full_name":"andrebell/winproxy","owner":"andrebell","description":"Python module and command line tool to view and change the proxy settings under Windows","archived":false,"fork":false,"pushed_at":"2020-04-13T13:07:36.000Z","size":156,"stargazers_count":12,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-28T19:59:45.890Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://andre-bell.de/projects/winproxy","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrebell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-07T20:43:02.000Z","updated_at":"2025-07-21T10:04:20.000Z","dependencies_parsed_at":"2022-11-03T17:54:09.116Z","dependency_job_id":null,"html_url":"https://github.com/andrebell/winproxy","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/andrebell/winproxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrebell%2Fwinproxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrebell%2Fwinproxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrebell%2Fwinproxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrebell%2Fwinproxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrebell","download_url":"https://codeload.github.com/andrebell/winproxy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrebell%2Fwinproxy/sbom","scorecard":{"id":192516,"data":{"date":"2025-08-11","repo":{"name":"github.com/andrebell/winproxy","commit":"f1f2c25ca9fc22075c3e9201556834fa8d64b4c9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.7,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: BSD 2-Clause \"Simplified\" License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.3.0a1 not signed: https://api.github.com/repos/andrebell/winproxy/releases/2447959","Warn: release artifact v0.2.0a1 not signed: https://api.github.com/repos/andrebell/winproxy/releases/2408264","Warn: release artifact v0.1.0a1 not signed: https://api.github.com/repos/andrebell/winproxy/releases/2408251","Warn: release artifact v0.3.0a1 does not have provenance: https://api.github.com/repos/andrebell/winproxy/releases/2447959","Warn: release artifact v0.2.0a1 does not have provenance: https://api.github.com/repos/andrebell/winproxy/releases/2408264","Warn: release artifact v0.1.0a1 does not have provenance: https://api.github.com/repos/andrebell/winproxy/releases/2408251"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-16T21:04:26.146Z","repository_id":62589176,"created_at":"2025-08-16T21:04:26.146Z","updated_at":"2025-08-16T21:04:26.146Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27731031,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-14T02:00:11.348Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-14T16:12:13.886Z","updated_at":"2025-12-14T16:12:14.489Z","avatar_url":"https://github.com/andrebell.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A Proxy Selection Tool for Windows\n\nFrom time to time it is necessary to change the systems proxy settings. This\ncan be due to network changes or to test software with internet access on\ndifferent proxies or proxy settings. However, always walking through the\nWindows system dialog and manually changing the settings is a tedious task.\n\nTherefore, this small python project enables the quick change of the proxy\nsettings either programmatically by using the provided module functions, or\nfrom the command line, by calling the command line scripts, that are part of\nthis project as well.\n\n## The Command Line Tool\n\nThe proxy settings in Windows are basically given by four values:\n\n  - ProxyEnable\n  - ProxyHttp11\n  - ProxyServer\n  - ProxyOverride\n\nIf ProxyEnable is set to 0 no proxy will be used and if it is set to 1 the proxy\nsettings specified by the other values are in use.\n\nEvery value can be set individually or in combination with the \"winproxy set\"\ncommand. E.g., to set the server value specifically for http you can call\n\n```bash\nC:\\\u003e winproxy set --http proxyserver:port\n```\n\nSetting a proxy server for all protocols to 10.0.0.1 on port 8080 except for the\nlocal network and enable the proxy is achieved by\n\n```bash\nC:\\\u003e winproxy set -e 1 --all 10.0.0.1:8080 -o 10.*.*.*\n```\n\nSince turning the proxy on and off is quite common, the command line utility \nprovides two convinience calls to turn the proxy on and off.\n\nTo turn the proxy on you have to call\n\n```bash\nC:\\\u003e winproxy on\n```\n\nfrom the command prompt and to turn the proxy off you have to run\n\n```bash\nC:\\\u003e winproxy off\n```\n\nrespectively. You may want to display the current proxy settings by\n\n```bash\nC:\\\u003e winproxy view\n```\n\nIf you do have man proxy exceptions (overrides), you can limit the number of\nproxy exceptions displayed with the -n option:\n\n```bash\nC:\\\u003e winproxy view -n 5    # Display only the first 5 exceptions\n```\n\n```bash\nC:\\\u003e winproxy view -n 0    # Don't display proxy exceptions at all\n```\n\nThe full documentation of the command line interface will be given in the\ndocumentation [TODO: Add Doc and link]\n\n## The Python API\n\nThe python API for accessing and changing the proxy settings in windows is\nbuild around a class called ProxySetting. By default, every new object of this\nclass is initialized with empty default values.\n\n```python\n\u003e\u003e\u003e from winproxy import ProxySetting\n\u003e\u003e\u003e p = ProxySetting()\n\u003e\u003e\u003e p.display()\nProxyEnable: False\nProxyHttp11: True\nProxyServer: \nProxyOverride:\n```\n\nTo load the current proxy settings from the registry you can use the method\nregistry_read().\n\n```python\n\u003e\u003e\u003e p.registry_read()\n\u003e\u003e\u003e p.display()\nProxyEnable: True\nProxyHttp11: True\nProxyServer: 10.0.0.1:8080\nProxyOverride: \n- \u003clocal\u003e\n```\n\nYou may change the settings using the properties enable, http11, server, and\noverride, which can directly be set with a bool, bool, string or dictionary, \nand a list respectively.\n\nTo give an example, setting the proxy server to new settings for http and\nhttps, one could write\n\n```python\n\u003e\u003e\u003e p.server = dict(http='10.0.0.1:8080', https='10.0.0.1:8081')\n\u003e\u003e\u003e p.display()\nProxyEnable: True\nProxyHttp11: True\nProxyServer: http=10.0.0.1:8080;https=10.0.0.1:8081\nProxyOverride:\n- \u003clocal\u003e\n```\n\nWriting the settings to the registry is achieved with the method registry_write.\n\n```python\n\u003e\u003e\u003e p.registry_write()\n```\n\nThe full documentation of the command line interface will be given in the\ndocumentation [TODO: Add Doc and link]\n\n## Change Log\n\n### 0.4.0a1\n\n* Changed winproxy set command line behaviour to only write those values to the\n  registry, that have been provided as parameter and leave all others as is.\n  This is way more flexible to use.\n* Added some short, tutorial-like documentation for the command line.\n* Added some short, tutorial-like documentation for the python API.\n* Added a \"reg\" command, which offers raw access to the registry sub keys\n* Added an export option, which can export the registry settings into files in\n  yaml, reg or plain format.\n\n### 0.3.0a1\n\n* Added a first draft of the set command\n* The winproxy view command was broken if\n  * no overrides were set at all\n  * less overrides were set, than should be shown at most\n* The override list may contain not only ';' separated proxies, but also ','\n  separated ones. This may even be mixed. Also, there may be whitespace in the\n  Text. This all is now corrected for, i.e., setting override through the\n  ProxySettings API will always normalize the string to ';' delimited proxies.\n* Missing registry values fall back to sensible defaults\n\n### 0.2.0a1\n\n* Added the \"winproxy cpl\" to the command line to open the Windows Internet\n  Settings dialog\n* Added a change log to the README\n\n### 0.1.0a1\n\n* Basic ProxySettings class for the Python API\n* Command line with \"winproxy on|off|view\" to\n  * turn the proxy on\n  * turn the proxy off\n  * display the current proxy settings\n\n## Authors\n\nAndre Alexander Bell \u003cwinproxy@andre-bell.de\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrebell%2Fwinproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrebell%2Fwinproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrebell%2Fwinproxy/lists"}