proxyctl 0.1.0__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {proxyctl-0.1.0 → proxyctl-0.1.2}/PKG-INFO +51 -28
- {proxyctl-0.1.0 → proxyctl-0.1.2}/README.md +48 -27
- {proxyctl-0.1.0 → proxyctl-0.1.2}/pyproject.toml +3 -1
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/__init__.py +1 -1
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/cli.py +1 -1
- {proxyctl-0.1.0 → proxyctl-0.1.2}/.gitignore +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/LICENSE +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/audit.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/builtin_plugins/__init__.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/builtin_plugins/connectivity_basic.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/builtin_plugins/corp_network.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/check.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/core/__init__.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/core/plugin.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/engine/__init__.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/engine/base.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/engine/mihomo.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/engine/singbox.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/status.py +0 -0
- {proxyctl-0.1.0 → proxyctl-0.1.2}/src/proxyctl/trace.py +0 -0
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: proxyctl
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Proxy configuration lifecycle management for macOS and Linux
|
|
5
5
|
Project-URL: Homepage, https://github.com/crhan/proxyctl
|
|
6
6
|
Project-URL: Issues, https://github.com/crhan/proxyctl/issues
|
|
7
|
+
Project-URL: Changelog, https://github.com/crhan/proxyctl/blob/main/CHANGELOG.md
|
|
8
|
+
Project-URL: Repository, https://github.com/crhan/proxyctl
|
|
7
9
|
Author-email: crhan <crhan123@gmail.com>
|
|
8
10
|
License: MIT
|
|
9
11
|
License-File: LICENSE
|
|
@@ -27,6 +29,11 @@ Description-Content-Type: text/markdown
|
|
|
27
29
|
|
|
28
30
|
# proxyctl
|
|
29
31
|
|
|
32
|
+
[](https://pypi.org/project/proxyctl/)
|
|
33
|
+
[](https://github.com/crhan/proxyctl/actions/workflows/ci.yml)
|
|
34
|
+
[](https://pypi.org/project/proxyctl/)
|
|
35
|
+
[](https://github.com/crhan/proxyctl/blob/main/LICENSE)
|
|
36
|
+
|
|
30
37
|
**Proxy configuration lifecycle management** — 不是静态配置,而是配置演进框架。
|
|
31
38
|
|
|
32
39
|
## 定位
|
|
@@ -83,53 +90,65 @@ proxyctl bench proxy claude # 测指定组
|
|
|
83
90
|
|
|
84
91
|
## 安装
|
|
85
92
|
|
|
86
|
-
###
|
|
93
|
+
### 从 PyPI 安装(推荐)
|
|
87
94
|
|
|
88
95
|
```bash
|
|
89
|
-
#
|
|
90
|
-
|
|
91
|
-
cd proxyctl
|
|
96
|
+
# 用 uv(推荐,单命令隔离环境)
|
|
97
|
+
uv tool install proxyctl
|
|
92
98
|
|
|
93
|
-
#
|
|
94
|
-
|
|
99
|
+
# 或者 pipx
|
|
100
|
+
pipx install proxyctl
|
|
95
101
|
|
|
96
|
-
#
|
|
97
|
-
|
|
98
|
-
# 填入 api_secret: your-clash-api-secret
|
|
102
|
+
# 或者 pip(不推荐全局污染)
|
|
103
|
+
pip install --user proxyctl
|
|
99
104
|
|
|
100
|
-
#
|
|
105
|
+
# 验证
|
|
106
|
+
proxyctl --version # proxyctl v0.1.0
|
|
101
107
|
proxyctl --help
|
|
102
|
-
proxyctl status
|
|
103
108
|
```
|
|
104
109
|
|
|
105
|
-
###
|
|
110
|
+
### 安装后端
|
|
106
111
|
|
|
107
112
|
```bash
|
|
108
|
-
#
|
|
109
|
-
|
|
110
|
-
|
|
113
|
+
# Mihomo 后端(首发支持)
|
|
114
|
+
brew install mihomo
|
|
115
|
+
|
|
116
|
+
# 或者 Sing-box 后端(预留)
|
|
117
|
+
brew install sing-box
|
|
118
|
+
```
|
|
111
119
|
|
|
112
|
-
|
|
113
|
-
cp bin/proxyctl ~/.local/bin/
|
|
114
|
-
chmod +x ~/.local/bin/proxyctl
|
|
120
|
+
### 配置 API
|
|
115
121
|
|
|
116
|
-
|
|
122
|
+
```bash
|
|
117
123
|
mkdir -p ~/.config/proxyctl
|
|
118
|
-
|
|
124
|
+
# 把 https://github.com/crhan/proxyctl/blob/main/config.yaml.example 拷过来
|
|
125
|
+
curl -fsSL https://raw.githubusercontent.com/crhan/proxyctl/main/config.yaml.example \
|
|
126
|
+
-o ~/.config/proxyctl/config.yaml
|
|
119
127
|
# 编辑 config.yaml,填入 api_secret
|
|
120
128
|
```
|
|
121
129
|
|
|
122
|
-
###
|
|
130
|
+
### 注册 macOS LaunchDaemon(可选)
|
|
123
131
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
brew install mihomo
|
|
132
|
+
如果需要把 mihomo/sing-box 作为 launchd 服务托管(开机自启 + 守护进程重启),
|
|
133
|
+
克隆仓库并跑 `install.sh`:
|
|
127
134
|
|
|
128
|
-
|
|
129
|
-
|
|
135
|
+
```bash
|
|
136
|
+
git clone https://github.com/crhan/proxyctl.git
|
|
137
|
+
cd proxyctl
|
|
138
|
+
./install.sh # 安装 plist 到 /Library/LaunchDaemons
|
|
130
139
|
```
|
|
131
140
|
|
|
132
|
-
|
|
141
|
+
> 仅需要命令行用 `proxyctl status`/`check`/`trace` 等命令,**不必跑 install.sh**。
|
|
142
|
+
|
|
143
|
+
### 从源码开发
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
git clone https://github.com/crhan/proxyctl.git
|
|
147
|
+
cd proxyctl
|
|
148
|
+
uv sync --group dev # 装运行 + 测试依赖
|
|
149
|
+
uv run pytest # 跑测试
|
|
150
|
+
uv run proxyctl status # 用本地源代码版本
|
|
151
|
+
```
|
|
133
152
|
|
|
134
153
|
## 配置示例
|
|
135
154
|
|
|
@@ -208,6 +227,10 @@ python3 bin/proxyctl status
|
|
|
208
227
|
export PROXYCTL_DEBUG=1
|
|
209
228
|
```
|
|
210
229
|
|
|
230
|
+
## Changelog
|
|
231
|
+
|
|
232
|
+
版本变更记录见 [CHANGELOG.md](https://github.com/crhan/proxyctl/blob/main/CHANGELOG.md)。
|
|
233
|
+
|
|
211
234
|
## License
|
|
212
235
|
|
|
213
236
|
MIT
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# proxyctl
|
|
2
2
|
|
|
3
|
+
[](https://pypi.org/project/proxyctl/)
|
|
4
|
+
[](https://github.com/crhan/proxyctl/actions/workflows/ci.yml)
|
|
5
|
+
[](https://pypi.org/project/proxyctl/)
|
|
6
|
+
[](https://github.com/crhan/proxyctl/blob/main/LICENSE)
|
|
7
|
+
|
|
3
8
|
**Proxy configuration lifecycle management** — 不是静态配置,而是配置演进框架。
|
|
4
9
|
|
|
5
10
|
## 定位
|
|
@@ -56,53 +61,65 @@ proxyctl bench proxy claude # 测指定组
|
|
|
56
61
|
|
|
57
62
|
## 安装
|
|
58
63
|
|
|
59
|
-
###
|
|
64
|
+
### 从 PyPI 安装(推荐)
|
|
60
65
|
|
|
61
66
|
```bash
|
|
62
|
-
#
|
|
63
|
-
|
|
64
|
-
cd proxyctl
|
|
67
|
+
# 用 uv(推荐,单命令隔离环境)
|
|
68
|
+
uv tool install proxyctl
|
|
65
69
|
|
|
66
|
-
#
|
|
67
|
-
|
|
70
|
+
# 或者 pipx
|
|
71
|
+
pipx install proxyctl
|
|
68
72
|
|
|
69
|
-
#
|
|
70
|
-
|
|
71
|
-
# 填入 api_secret: your-clash-api-secret
|
|
73
|
+
# 或者 pip(不推荐全局污染)
|
|
74
|
+
pip install --user proxyctl
|
|
72
75
|
|
|
73
|
-
#
|
|
76
|
+
# 验证
|
|
77
|
+
proxyctl --version # proxyctl v0.1.0
|
|
74
78
|
proxyctl --help
|
|
75
|
-
proxyctl status
|
|
76
79
|
```
|
|
77
80
|
|
|
78
|
-
###
|
|
81
|
+
### 安装后端
|
|
79
82
|
|
|
80
83
|
```bash
|
|
81
|
-
#
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
# Mihomo 后端(首发支持)
|
|
85
|
+
brew install mihomo
|
|
86
|
+
|
|
87
|
+
# 或者 Sing-box 后端(预留)
|
|
88
|
+
brew install sing-box
|
|
89
|
+
```
|
|
84
90
|
|
|
85
|
-
|
|
86
|
-
cp bin/proxyctl ~/.local/bin/
|
|
87
|
-
chmod +x ~/.local/bin/proxyctl
|
|
91
|
+
### 配置 API
|
|
88
92
|
|
|
89
|
-
|
|
93
|
+
```bash
|
|
90
94
|
mkdir -p ~/.config/proxyctl
|
|
91
|
-
|
|
95
|
+
# 把 https://github.com/crhan/proxyctl/blob/main/config.yaml.example 拷过来
|
|
96
|
+
curl -fsSL https://raw.githubusercontent.com/crhan/proxyctl/main/config.yaml.example \
|
|
97
|
+
-o ~/.config/proxyctl/config.yaml
|
|
92
98
|
# 编辑 config.yaml,填入 api_secret
|
|
93
99
|
```
|
|
94
100
|
|
|
95
|
-
###
|
|
101
|
+
### 注册 macOS LaunchDaemon(可选)
|
|
96
102
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
brew install mihomo
|
|
103
|
+
如果需要把 mihomo/sing-box 作为 launchd 服务托管(开机自启 + 守护进程重启),
|
|
104
|
+
克隆仓库并跑 `install.sh`:
|
|
100
105
|
|
|
101
|
-
|
|
102
|
-
|
|
106
|
+
```bash
|
|
107
|
+
git clone https://github.com/crhan/proxyctl.git
|
|
108
|
+
cd proxyctl
|
|
109
|
+
./install.sh # 安装 plist 到 /Library/LaunchDaemons
|
|
103
110
|
```
|
|
104
111
|
|
|
105
|
-
|
|
112
|
+
> 仅需要命令行用 `proxyctl status`/`check`/`trace` 等命令,**不必跑 install.sh**。
|
|
113
|
+
|
|
114
|
+
### 从源码开发
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
git clone https://github.com/crhan/proxyctl.git
|
|
118
|
+
cd proxyctl
|
|
119
|
+
uv sync --group dev # 装运行 + 测试依赖
|
|
120
|
+
uv run pytest # 跑测试
|
|
121
|
+
uv run proxyctl status # 用本地源代码版本
|
|
122
|
+
```
|
|
106
123
|
|
|
107
124
|
## 配置示例
|
|
108
125
|
|
|
@@ -181,6 +198,10 @@ python3 bin/proxyctl status
|
|
|
181
198
|
export PROXYCTL_DEBUG=1
|
|
182
199
|
```
|
|
183
200
|
|
|
201
|
+
## Changelog
|
|
202
|
+
|
|
203
|
+
版本变更记录见 [CHANGELOG.md](https://github.com/crhan/proxyctl/blob/main/CHANGELOG.md)。
|
|
204
|
+
|
|
184
205
|
## License
|
|
185
206
|
|
|
186
207
|
MIT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "proxyctl"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.2"
|
|
4
4
|
description = "Proxy configuration lifecycle management for macOS and Linux"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -27,6 +27,8 @@ dependencies = ["pyyaml>=6.0"]
|
|
|
27
27
|
[project.urls]
|
|
28
28
|
Homepage = "https://github.com/crhan/proxyctl"
|
|
29
29
|
Issues = "https://github.com/crhan/proxyctl/issues"
|
|
30
|
+
Changelog = "https://github.com/crhan/proxyctl/blob/main/CHANGELOG.md"
|
|
31
|
+
Repository = "https://github.com/crhan/proxyctl"
|
|
30
32
|
|
|
31
33
|
[project.scripts]
|
|
32
34
|
proxyctl = "proxyctl.cli:main"
|
|
@@ -1176,7 +1176,7 @@ def cmd_env(config: dict, unset: bool = False):
|
|
|
1176
1176
|
|
|
1177
1177
|
# ── 帮助 ──────────────────────────────────────────────────────────────────────
|
|
1178
1178
|
|
|
1179
|
-
VERSION = "0.1.
|
|
1179
|
+
VERSION = "0.1.2"
|
|
1180
1180
|
|
|
1181
1181
|
def cmd_help(verbose: bool = False):
|
|
1182
1182
|
"""打印帮助信息
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|