https://github.com/loreneteval/sysproxy
Python bindings for shadowsocks sysproxy utility.
https://github.com/loreneteval/sysproxy
cpp proxy pybind11 python shadowsocks
Last synced: 9 months ago
JSON representation
Python bindings for shadowsocks sysproxy utility.
- Host: GitHub
- URL: https://github.com/loreneteval/sysproxy
- Owner: LorenEteval
- License: mit
- Created: 2023-07-11T06:53:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-23T15:04:19.000Z (about 1 year ago)
- Last Synced: 2025-02-02T19:51:29.642Z (11 months ago)
- Topics: cpp, proxy, pybind11, python, shadowsocks
- Language: C++
- Homepage:
- Size: 16.6 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sysproxy
[](https://github.com/LorenEteval/sysproxy/actions/workflows/deploy-pypi.yml)
Python bindings for shadowsocks sysproxy utility. This is a Windows-only package.
## Install
```
pip install sysproxy
```
## API
```pycon
>>> import sysproxy
>>> sysproxy.off() # Turn proxy settings off.
True
>>> sysproxy.pac('pac_url') # Turn proxy settings on with PAC.
True
>>> sysproxy.set('127.0.0.1:10809', '127.*;10.*;172.16.*') # Turn proxy settings on with server and bypass.
True
>>> sysproxy.daemon_off() # Turn proxy daemon off.
True
>>> sysproxy.daemon_on_() # Turn proxy daemon on. You should launch this function in a Python thread.
```
## sysproxy daemon
When sysproxy daemon turned on, it executes a window-less WINAPI event loop that captures `WM_QUERYENDSESSION` message,
which is sent when Windows is about to shutdown. When the message arrives, the daemon calls `off()`, which turns proxy
settings off.
As mentioned above, `sysproxy.daemon_on_()` will block current Python execution, so you should launch it in a Python
thread.
## Tested Platform
sysproxy works on all reasonable Windows platform with all Python version(Python 3).
Below are tested build in [github actions](https://github.com/LorenEteval/sysproxy/actions).
| Platform | Python 3.6-Python 3.11 |
|--------------|:----------------------:|
| windows-2019 | :heavy_check_mark: |
| windows-2022 | :heavy_check_mark: |