# Proxy-Manager
**Repository Path**: lancemorii-git/Proxy-Manager
## Basic Information
- **Project Name**: Proxy-Manager
- **Description**: No description available
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-02-23
- **Last Updated**: 2026-02-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Proxy Manager
轻量级 Chrome 代理管理扩展
直连本地 Clash Verge / Mihomo RESTful API,实现浏览器级别的代理控制、节点切换与状态监控
本扩展不替代 Clash Verge,而是作为浏览器端的补充控制面板。
订阅管理、规则配置、内核更新等仍由 Clash Verge 负责。
---
## ✨ 功能特性
| 功能 | 说明 |
|:---:|:---|
| 🔌 代理开关 | 一键启用/停用浏览器代理,基于 Chrome Proxy API,仅影响浏览器流量 |
| 🔀 节点切换 | 读取 Clash 代理组,支持 Selector / URLTest / Fallback,子组可点击跳转 |
| ⚡ 延迟显示 | 读取 mihomo 缓存的 history 延迟数据,与 Clash Verge 显示一致 |
| 🌍 IP 检测 | 多 API 轮询检测出口 IP,显示国家、地区、ISP、时区、ASN 等详细信息 |
| 📊 实时流量 | Popup 内嵌迷你流量图,设置页提供完整的实时速率图表与连接统计 |
| 🎨 亮暗主题 | 设置页支持亮色/暗色主题切换,状态持久化 |
| 🧭 新手引导 | 内置 4 步向导,引导用户完成首次配置 |
| 🔍 端口扫描 | 自动扫描常见端口,快速发现本地 mihomo 实例 |
---
## 📋 环境要求
- Chrome 或基于 Chromium 的浏览器(Edge、Arc、Brave 等)
- 本地运行 [Clash Verge Rev](https://github.com/clash-verge-rev/clash-verge-rev) 或其他 mihomo 内核客户端
- mihomo 外部控制(External Controller)已启用
---
## 🚀 安装
```
1. 克隆仓库
git clone https://github.com/your-username/proxy-manager.git
2. 打开浏览器扩展管理页
Chrome → chrome://extensions/
Edge → edge://extensions/
3. 开启「开发者模式」
4. 点击「加载已解压的扩展程序」,选择项目中的 extension/ 目录
```
---
## ⚙️ 配置
1. 首次安装后会自动打开设置页,也可以点击 Popup 左下角「参数设置」进入
2. 填写 mihomo API 地址(默认 `http://127.0.0.1:9097`),或点击「扫描」自动检测
3. 如果设置了 Secret 密钥,填入对应字段
4. 点击「测试连接」确认连通后保存
> 💡 如果不清楚如何获取这些信息,设置页内置了「新手引导」,按步骤操作即可。
---
## 🏗️ 架构
```
┌─────────────┐ chrome.runtime.sendMessage ┌──────────────────┐
│ Popup UI │ ◄──────────────────────────────────► │ Service Worker │
│ (popup.js) │ │ (background.js) │
└──────┬──────┘ └────────┬─────────┘
│ │
│ SSE /traffic (迷你图) │ REST API
│ fetch IP APIs (直接) │
▼ ▼
┌──────────────┐ ┌──────────────────┐
│ IP API 服务 │ │ mihomo (本地) │
│ (多个备选) │ │ 127.0.0.1:9097 │
└──────────────┘ └──────────────────┘
```
- **Popup** 通过 Service Worker 中转与 mihomo 通信(节点切换、代理控制等)
- **流量数据** 通过 SSE 直连 mihomo `/traffic` 端点
- **IP 检测** 从 Popup 直接发起请求,经过 Chrome Proxy API,反映真实出口 IP
---
## 📁 项目结构
```
extension/
├── background/ # Service Worker
│ ├── background.js # 入口,生命周期管理
│ └── modules/
│ ├── api.js # Mihomo REST API 客户端
│ ├── message.js # 消息路由与业务逻辑
│ ├── proxy.js # Chrome Proxy API 控制
│ └── state.js # 状态管理与持久化
├── popup/ # 弹窗界面
│ ├── popup.html
│ ├── popup.js # 节点列表、IP 检测、迷你流量图
│ └── styles/popup.css
├── options/ # 设置页面
│ ├── options.html
│ ├── options.js # 连接配置、向导、流量统计图表
│ └── styles/options.css
├── icons/ # 扩展图标 (16/32/48/128)
└── manifest.json # Manifest V3 配置
```
---
## 🛠️ 技术栈
| 类别 | 技术 |
|:---|:---|
| 扩展规范 | Chrome Extension Manifest V3 |
| 后端通信 | mihomo RESTful API + SSE(流量流) |
| 代理控制 | Chrome Proxy API(`chrome.proxy.settings`) |
| 数据存储 | Chrome Storage API(`chrome.storage.local`) |
| 图表渲染 | Canvas 2D — 零第三方依赖 |
| IP 检测 | ip-api.com / ipwho.is / ipapi.co / ipify.org |
---
## 🔐 权限说明
| 权限 | 用途 |
|:---|:---|
| `proxy` | 控制浏览器代理设置 |
| `storage` | 存储用户配置和运行状态 |
| `host_permissions` | 访问本地 mihomo API 和 IP 检测服务 |
> 🔒 本扩展不收集任何用户数据,所有通信仅发生在本地(mihomo)和 IP 检测 API 之间。
---
## 💻 开发
项目为纯前端 Chrome 扩展,无需构建工具,无第三方依赖。
```bash
# 克隆项目
git clone https://github.com/your-username/proxy-manager.git
# 在浏览器中加载 extension/ 目录即可开发
# 修改代码后在 chrome://extensions/ 点击刷新按钮
```
---
## ⚠️ 已知限制
- 仅控制浏览器代理,不影响系统级代理设置
- 延迟数据读取 mihomo 缓存,不主动触发测速(避免对节点造成额外负担)
- IP 检测依赖第三方 API,可能受到请求频率限制
- 需要 mihomo 外部控制处于开启状态
---
Made with ❤️ for a better browsing experience
MIT License