yyyyy114514/Telnix
GitHub: yyyyy114514/Telnix
一款支持多协议抓包、规则改包、Clash 集成与 MCP AI 调用的跨平台网络流量调试工具。
Stars: 0 | Forks: 0
# Telnix
- [Telnix](#telnix)
- [快速开始](#快速开始)
- [环境要求](#环境要求)
- [MCP配置\&使用](#mcp配置使用)
- [Agent CLI调用](#agent-cli调用)
- [一键安装](#一键安装)
- [一键运行](#一键运行)
- [TCP/UDP 抓包(需要管理员)](#tcpudp-抓包需要管理员)
- [可选:安装 mitmproxy 引擎](#可选安装-mitmproxy-引擎)
- [项目特色](#项目特色)
- [1. 完全由 GLM-5.2 构建](#1-完全由-glm-52-构建)
- [2. 强大的自动修改(拦截改包)](#2-强大的自动修改拦截改包)
- [3. 解决痛点的 Clash 集成](#3-解决痛点的-clash-集成)
- [4. AI 分析](#4-ai-分析)
- [5. MCP + Agent CLI 赋能](#5-mcp--agent-cli-赋能)
- [MCP Server(73 个工具)](#mcp-server73-个工具)
- [Agent CLI](#agent-cli)
- [6. 使用简单](#6-使用简单)
- [项目结构](#项目结构)
- [使用文档](#使用文档)
- [性能优化](#性能优化)
- [技术栈](#技术栈)
- [License](#license)
## 快速开始
### 环境要求
| 项 | 要求 |
| ---------- | --------------------------------------------------------------------- |
| 操作系统 | Windows 10 / 11(完整支持);macOS / Linux(HTTP/HTTPS 抓包可用,TCP/UDP 抓包依赖 WinDivert 暂不支持) |
| Python | 3.10+ |
| Node.js | 18+(仅构建前端需要,运行已构建产物不需要) |
| 管理员权限 | TCP/UDP 原始抓包需要;HTTP/HTTPS 抓包不需要 |
### MCP配置&使用
详见 [README_MCP.md](README_MCP.md)
### Agent CLI调用
按下面步骤安装依赖后让Agent阅读 [README_AI.md](README_AI.md) 即可
### 一键安装
# 克隆仓库
git clone https://github.com/yyyyy114514/Telnix.git
cd Telnix
# 一键安装所有依赖(Python + Node)
.\install.ps1
或手动安装:
# 后端依赖
cd src\host
pip install -e .
# 前端依赖(可选,仅需要改前端时安装)
cd ..\ui
npm install
macOS / Linux 用户可使用对应的依赖安装脚本:
./scripts/install-deps-linux.sh # Linux
./scripts/install-deps-mac.sh # macOS
### 一键运行
# 构建前端(首次运行或前端有改动时需要)
.\build.ps1
# 启动 Telnix(自动开代理 + 装证书 + 打开浏览器)
.\run.ps1
# 或不打开浏览器
.\run.ps1 --no-browser
或手动启动:
cd src\host
python -m telnix
启动后访问 http://127.0.0.1:18901 即可使用。
### TCP/UDP 抓包(需要管理员)
TCP/UDP 原始抓包依赖 WinDivert,需要管理员权限。在 CLI 里执行:
python -m telnix.cli system restart-as-admin
会弹 UAC 提权窗口,同意后后端以管理员身份重启。
### 可选:安装 mitmproxy 引擎
Telnix 默认使用内置线程代理引擎(零依赖、稳定)。如需更强的 HTTPS 拦截能力,可切换到 mitmproxy 引擎:
**方式一:设置页一键安装**
打开设置页 → 抓包行为 → 代理引擎,mitmproxy 未安装时旁边会显示「安装 mitmproxy」按钮,点击即可在线安装(约 50MB)。安装完成后点侧边栏底部「重启服务」让新引擎生效。
**方式二:命令行手动安装**
pip install mitmproxy
安装完成后在设置页将代理引擎切换为 mitmproxy,重启后端即可生效。未安装 mitmproxy 时代码自动回退到内置线程引擎,不影响正常使用。
## 项目特色
### 1. 完全由 GLM-5.2 构建
从架构设计到每一行代码、从前后端到 MCP Server,全部由智谱 GLM-5.2 编写,无任何人工手写代码。项目本身也是 AI 编程能力的一次实战展示。
### 2. 强大的自动修改(拦截改包)
不用写正则,不用懂 JSONPath,也能搞定复杂改包:
- **通配符匹配**:`*.example.com` / `*/api/v1/*` 一行搞定
- **JSON 字段级替换**:按 key 名递归替换所有同名字段,或用 JSONPath 精确定位
- **全局搜索替换**:字段路径不含 `.` 时自动递归遍历整个 JSON
- **规则优先级**:按 pattern 长度降序,更具体的规则优先
- **改请求 / 改响应 / Mock 响应 / Mock 请求**:四种动作自由组合
- **过滤条件**:按 method / status / pid / process 过滤,避免误命中
- **命中统计**:每条规则记录命中次数、最后命中时间、最后命中 flow id
- **断点 Preview 可编辑**:断点暂停时直接在 Preview 里改 JSON / XML / CSS / JS / Text
动作语法示例:
set-json status ok # 改 JSON 字段
set-json-path $.data.user.name "张三" # JSONPath 精确定位
remove-json debug_info # 删字段
replace-header Content-Type application/xml
mock 200 {"ok":true} # Mock 整个响应
set-request-header Authorization "Bearer xxx"
delay 2000 # 延迟 2 秒响应
### 3. 解决痛点的 Clash 集成
**痛点**:抓包时若走 Clash 代理,Clash 会劫持系统代理,Telnix 抓不到;关掉 Clash 又连不上被墙的 API。
**Telnix 的方案**:内置 Clash/Mihomo 上游代理集成。Telnix 始终作为系统代理,出站连接可选走 Clash 的 mixed-port(默认 7890)。这样:
- 抓包与翻墙同时进行,互不干扰
- 一键在"直连 / 走 Clash"之间切换
- 自动读取 Clash 配置,无需手动改端口
- 支持 Clash Party / Clash Verge / Mihomo 等所有遵循 Clash 内核的客户端
设置教程见 [CLASH_SET.md](CLASH_SET.md)。
### 4. AI 分析
内置 DeepSeek AI(支持 deepseek-v4-flash / deepseek-v4-pro),可对抓到的流量进行智能分析:
- **单 flow 分析**:选中一条流量,AI 解析请求/响应,提取关键信息
- **批量分析**:多选 flow,AI 找共性和差异(适合逆向签名算法)
- **全局分析**:跨会话流量列表,AI 帮你从几百条流量里找出可疑的签名/token 字段
- **聊天上下文**:AI 记住之前的对话,可以追问"刚才那个登录请求的 token 在哪用到了"
- **隐私可控**:API Key 存本地,可在设置页随时开/关 AI 功能
### 5. MCP + Agent CLI 赋能
Telnix 不只是 GUI 工具,还为 AI Agent 提供了完整的编程接口:
#### MCP Server(78 个工具)
把抓包、拦截、改包、重放能力暴露为 MCP (Model Context Protocol) 工具,让 Claude Desktop / Cursor / VS Code Continue 等 MCP 客户端直接调用。AI 可以:
- `packets_list` 拉流量、`packets_get` 看详情
- `intercept_add` 创建改包规则(支持 `--dry_run` 预览)
- `packets_diff` 对比两次请求差异
- `packets_trace` 追踪请求依赖链(从响应提取值,在后续请求里搜索)
- `packets_analyze` 自动检测签名字段(对比多条请求找可疑 token/sign)
- `replay_batch` 批量时序重放压测
- `agent_start` / `agent_end` 工作区隔离(AI 操作不影响用户现有配置)
详见 [README_MCP.md](README_MCP.md)。
#### Agent CLI
对 Agent 友好的 CLI 设计:
- **NDJSON 输出**:每行一个 JSON 对象,便于 Agent 解析
- **非交互模式**:所有命令支持 `--json` 参数,无彩色无提示
- **会话化操作**:`capture start` 自动创建会话,后续命令继承
- **声明式拦截规则**:一条命令创建复杂规则
- **`--dry-run` 预览**:先看会命中哪些流量,再决定是否真改
- **`--emit-curl`**:把流量转为 curl 命令,方便复制到别处调试
详见 [README_AI.md](README_AI.md)。
### 6. 使用简单
- **一键启动**:`python -m telnix` 自动开代理、装证书、启前端
- **HTTPS 开箱即用**:首次启动自动签发根证书并安装到系统信任存储
- **手机抓包向导**:扫码下载证书、自动计算安卓 7+ 系统证书哈希、教程链接
- **深色/浅色主题**:一键切换,CodeMirror 编辑器跟随主题
- **可视化规则编辑**:拖拽排序、批量启停、命中统计一目了然
- **专注模式**:只抓指定进程/host,过滤噪音
- **多选批量操作**:批量删除、批量放行断点、批量 AI 分析
## 项目结构
telnix/
├── src/
│ ├── host/ # Python 后端
│ │ ├── telnix/
│ │ │ ├── api/ # FastAPI 路由(20+ 模块)
│ │ │ ├── proxy/ # 代理服务器核心
│ │ │ │ ├── server.py # HTTP/HTTPS 抓包代理(builtin 线程引擎,默认)
│ │ │ │ ├── async_proxy.py # asyncio 代理引擎(G 方案,实验性)
│ │ │ │ ├── mitmproxy_engine.py # mitmproxy 引擎(H 方案,可选依赖)
│ │ │ │ ├── raw_capture.py # TCP/UDP 原始抓包(WinDivert,仅 Windows)
│ │ │ │ ├── ssl_bump.py # SSL Bump 动态签发证书
│ │ │ │ ├── breakpoint.py # 断点管理
│ │ │ │ └── process_lookup.py # PID 反查
│ │ │ ├── auto_reply/ # 自动修改规则引擎
│ │ │ ├── clash/ # Clash 集成
│ │ │ ├── ai/ # DeepSeek AI 分析
│ │ │ ├── cli.py # Agent CLI
│ │ │ ├── mcp_server.py # MCP Server(78 个工具)
│ │ │ ├── db.py # SQLite 存储
│ │ │ └── __main__.py # 入口
│ │ ├── pyproject.toml
│ │ └── requirements.txt
│ └── ui/ # Vue 3 前端
│ ├── src/
│ │ ├── views/ # 页面(抓包/分析/设置等)
│ │ ├── components/ # 组件(FlowList/HexView/CodeEditor 等)
│ │ ├── stores/ # Pinia 状态管理
│ │ └── api/ # 后端 API 客户端
│ └── package.json
├── installer/ # Inno Setup 安装包脚本
├── docs/ # 文档截图
├── scripts/ # 跨平台依赖安装脚本(linux/mac)
├── build.ps1 # 一键构建脚本
├── install.ps1 # 一键安装依赖脚本
├── run.ps1 # 一键运行脚本
└── README.md
## 使用文档
- [CLASH_SET.md](CLASH_SET.md) — Clash / Mihomo 集成设置教程
- [MOBILE_CAPTURE.md](MOBILE_CAPTURE.md) — 安卓手机抓包教程
- [README_AI.md](README_AI.md) — Agent CLI 完整用法(AI 友好的 NDJSON / 非交互模式)
- [README_MCP.md](README_MCP.md) — MCP Server 78 个工具清单与客户端接入配置
## 性能优化
Telnix 在性能上做了大量优化,确保高并发场景下不卡顿:
- **后端线程池**:每个客户端连接独立线程,避免 asyncio 在 Windows 上的 IOCP 问题
- **连接复用**:keep-alive 连接池(默认 32 个 per key),避免重复 TCP+TLS 握手
- **SQLite WAL 模式 + threading.local 连接池**:每线程复用长连接,避免每次 connect/close
- **Body 截断记录**:大 body(视频/图片流)记录到 DB 时截断到 512KB,避免 base64 膨胀阻塞代理线程
- **前端异步高亮**:hljs 语法高亮用 `requestIdleCallback` 异步执行,避免大文本阻塞主线程
- **三阶段渲染**:纯转义(同步立即可见)→ hljs 高亮(异步)→ 搜索高亮(同步叠加),搜索时保留语法颜色
- **Vite 构建优化**:`minify: 'esbuild'`(terser 在 element-plus 大 bundle 上会卡死)、禁用 sourcemap、禁用 manualChunks
## 技术栈
**后端**:Python 3.10+ / FastAPI / Uvicorn / SQLite (WAL) / psutil / cryptography / WinDivert / pydivert / h2(HTTP/2)/ mitmproxy(可选引擎)
**前端**:Vue 3 / Vite 5 / Element Plus / Pinia / CodeMirror 6 / highlight.js / axios
**AI**:DeepSeek(deepseek-v4-flash / deepseek-v4-pro)
**集成**:MCP (Model Context Protocol) / Clash (Mihomo) / PyInstaller(打包 exe)/ Inno Setup(安装包)
## License
MIT
标签:HTTP/HTTPS, mitmproxy, Python, Web调试, 抓包工具, 无后门, 服务管理, 网络流量分析, 逆向工具