JDCat local service (pip package) bundling sensitive_check_local and CLI entry
Project description
JDCat (pip package)
JDCat 提供一个命令行入口,包装并启动本地助手 FastAPI 服务(来自 sensitive-check-local 项目),不更改任何业务逻辑。
安装与使用
快速安装(推荐)
如果遇到 externally-managed-environment 错误,这是现代Python环境管理的安全特性(PEP 668),请使用以下任一方法安装:
方法1:使用 pipx(推荐)
# 安装 pipx(如果未安装)
python -m pip install --user pipx
python -m pipx ensurepath
# 使用 pipx 安装 jdcat
pipx install jdcat
# 验证安装
jdcat --help
方法2:使用虚拟环境
# 创建虚拟环境
python -m venv jdcat-env
# 激活虚拟环境
# macOS/Linux:
source jdcat-env/bin/activate
# Windows:
# jdcat-env\Scripts\activate
# 安装 jdcat
python -m pip install jdcat
# 验证安装
jdcat --help
方法3:使用 uv(现代包管理器)
# 安装 uv(如果未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 使用 uv 运行 jdcat
uv run --from jdcat jdcat start --port 17866 --host 127.0.0.1
# 或创建 uv 项目环境
uv init jdcat-project
cd jdcat-project
uv add jdcat
uv run jdcat --help
方法4:系统级安装(不推荐)
⚠️ 仅在确实需要时使用,可能影响系统Python环境
# 使用 --break-system-packages 标志
python -m pip install --break-system-packages jdcat
# 或使用 --user 安装到用户目录
python -m pip install --user jdcat
开发者安装(从源码)
-
构建(在仓库根目录):
uv pip install -U build cd jdcat python -m build
-
本地安装(开发验证):
# 使用 uv(推荐) uv pip install . # 或在虚拟环境中 python -m venv dev-env source dev-env/bin/activate # macOS/Linux python -m pip install .
启动服务
安装完成后,可以通过以下方式启动:
# 方式1:命令入口
jdcat start --port 17866 --host 127.0.0.1
# 方式2:模块执行
python -m jdcat start --port 17866 --host 127.0.0.1
# 方式3:使用 uv(如果通过 uv 安装)
uv run --from jdcat jdcat start --port 17866 --host 127.0.0.1
验证安装
# 检查版本
jdcat --version
# 查看帮助
jdcat --help
# 测试启动(会在后台启动服务)
jdcat start --port 17866
说明
- 本包仅提供 CLI 入口与打包配置,业务逻辑均由 sensitive-check-local 提供。
- 入口会通过 uvicorn 启动
sensitive_check_local.api:app,默认监听127.0.0.1:17866。 - 资源文件的打包策略在
pyproject.toml中进行配置(package-data),确保 wheel 安装后可用。
运行要求
- Python: 3.10 - 3.14
- 依赖:fastapi、uvicorn、httpx、mitmproxy、PyYAML、rumps 等(详见 pyproject)
开源信息
- 作者:Sensitive Check Team
停止服务
-
命令行停止(推荐):
jdcat stop --port 17866 --host 127.0.0.1
-
模块方式停止(等效):
python -m jdcat stop --port 17866 --host 127.0.0.1
说明:
- 停止命令会向
http://127.0.0.1:17866/stop发起POST请求,调用本地服务的停止接口sensitive_check_local.api.stop()实现优雅退出并恢复系统代理。
常见问题与排查
-
externally-managed-environment 错误:
- 现象:
error: externally-managed-environment × This environment is externally managed - 原因:现代Python发行版(如macOS Homebrew Python、Ubuntu 23.04+等)实施PEP 668标准,防止直接在系统Python环境中安装包,避免与系统包管理器冲突
- 解决:请参考上方"快速安装"部分,推荐使用pipx或虚拟环境安装
# 推荐方案:使用 pipx pipx install jdcat # 或使用虚拟环境 python -m venv jdcat-env source jdcat-env/bin/activate python -m pip install jdcat
- 现象:
-
pip 命令不可用:
- 现象:
zsh: command not found: pip - 解决:使用
python -m pip(已在文档中统一建议)python -m pip install .
- 现象:
-
mitmdump 不存在:
- 现象:启动时报错
mitmdump not found - 解决:安装 mitmproxy(例如 macOS 使用 Homebrew)
brew install mitmproxy
- 安装后请确保
mitmdump在PATH中;本地服务通过sensitive_check_local.process.start_capture()调用 mitmdump,并加载打包内置插件jdcat/mitmproxy/local_bridge_addon.py。
- 现象:启动时报错
-
端口占用:
- 现象:启动报错
port 17866 is already in use - 解决:指定其它端口,例如:
jdcat start --port 18000
- 现象:启动报错
-
版本号说明:
- 分发包版本:
jdcat.__init__.__version__为 1.0.0 - 本地服务模块版本:
sensitive_check_local.__version__与包版本保持一致(1.0.0)
- 分发包版本:
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 jdcat-1.0.1.tar.gz.
File metadata
- Download URL: jdcat-1.0.1.tar.gz
- Upload date:
- Size: 71.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a98178ef2dbd5142d4bc9252fdbc62198e42fa4bd378d0523aa3fce50072c002
|
|
| MD5 |
3d42aac02a7d72512b5e84358fd6ffe8
|
|
| BLAKE2b-256 |
45717d8017d53cf903fde5d26630286b731065f680e5da5bbb9f2bf259a01a6e
|
File details
Details for the file jdcat-1.0.1-py3-none-any.whl.
File metadata
- Download URL: jdcat-1.0.1-py3-none-any.whl
- Upload date:
- Size: 78.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
874c52288e88ebedc414f8f4c099ed2d21ce0be9346b4bff2a5e72f5cf53ae22
|
|
| MD5 |
d276d328e77f29c18017f253091e2ca8
|
|
| BLAKE2b-256 |
47a28667b07993c06a7a3a4658d53a6827291ad55599308836098ae6ba20b3a4
|