-
-
Notifications
You must be signed in to change notification settings - Fork 40
Features
Juwan-Hwang edited this page Apr 10, 2026
·
30 revisions
基于原生 Canvas 2D API 手绘的双色面积图,不依赖任何第三方图表库。
- 双色面积图 — 紫色(下载)+ 蓝色(上传)平滑贝塞尔曲线
-
60 秒滑动窗口 — 保留最近 60 个数据点,
requestAnimationFrame节流渲染 -
HTTP Streaming — 通过 Mihomo
/traffic端点的ReadableStream实时推送,非 WebSocket - 智能重连 — 指数退避策略(1s → 30s),最大 15 次重试,连续 10 次解析错误自动重连
- DPR 适配 — 自动适配设备像素比,Retina 屏幕清晰渲染
- 高分屏自适应 — 1-4 列响应式网格布局,自动适配屏幕宽度
- 延迟颜色编码 — <200ms 绿色、<500ms 黄色、其余红色
- 多维度排序 — 默认顺序 / 按延迟升序 / 按名称排序,一键循环切换
-
3D 悬浮效果 — 鼠标跟踪透视变换(
perspective + rotateX/Y),requestAnimationFrame节流 -
虚拟化渲染 —
content-visibility: auto优化大量节点场景 - 节点滚轮 — 首页交互式滚轮选择器,鼠标悬停 300ms 或点击展开完整列表
-
并行检测 — 通过 Mihomo
/proxies/{name}/delayAPI 并行测试 - 乐观 UI — 测试启动时立即显示加载动画,结果返回后平滑更新
- 后台刷新 — 测试完成后自动刷新节点列表
三段式滑块切换,带动画过渡:
| 模式 | 说明 |
|---|---|
| Rule | 规则分流(默认),按规则匹配流量 |
| Global | 全局代理,所有流量走代理 |
| Direct | 直连模式,所有流量直连 |
系统级透明代理,自动配置路由。
-
macOS — 通过
osascript请求管理员权限,以 root 身份启动 Mihomo 进程 - Windows / Linux — 标准权限启动,自动配置路由
- 状态同步 — TUN 开关状态在主窗口和托盘菜单之间双向实时同步
- 托盘图标 — TUN 激活时托盘图标变为红色,系统代理激活时变为黄色
订阅链接下载时实施多层防护:
- DNS 解析验证 — 先解析域名的 IP 地址,确认非私有 IP 后才发起请求
-
私有 IP/Host 拦截 — 阻止
127.0.0.0/8、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、localhost、.local、.test等 - 重定向链校验 — 自定义重定向策略(最多 5 次),每次重定向都验证目标
- 协议白名单 — 仅允许 HTTP/HTTPS 协议
- SHA256 完整性校验 — 内核更新和 GeoIP/GeoSite 数据下载均从 GitHub API 获取预期哈希值,校验失败中止
-
可信域名白名单 — 仅允许
github.com、api.github.com、objects.githubusercontent.com - 文件大小限制 — 下载压缩包 100MB 上限,解压后 200MB 上限
-
路径遍历防护 — ZIP/TAR 解压时检查
..、绝对路径等危险路径
-
AES-256-GCM 加密 — 订阅 URL 和使用量元数据(
sub_info)加密存储 - PBKDF2 密钥派生 — 从机器指纹派生 32 字节密钥(100,000 次迭代)
-
机器绑定 — Windows 使用 MachineGuid + 卷序列号,macOS 使用 IOPlatformUUID + 序列号,Linux 使用
/etc/machine-id - 密钥持久化 — 首次生成后持久化到平台特定路径,跨会话一致
-
v2 格式 —
"v2:" + nonce + ciphertext,Base64 编码
- URL 解码 — 先解码再提取文件名,防止编码绕过
-
文件名净化 — 检查
..、路径分隔符、空字节、控制字符、扩展名白名单、长度限制(255 字符) -
Windows 保留名 — 拒绝
CON、PRN、AUX、NUL等保留名称 -
目录边界验证 —
canonicalize或字符串前缀检查,确保文件在预期目录内
自动移除 YAML 配置中的危险键:
-
全局 —
script、script-path(防止脚本注入) -
proxy-provider —
path(防止任意文件读取) -
其他位置 —
path键不受影响
-
Unix — 配置文件以
0600权限创建(仅所有者可读写) - Windows — 使用 DACL 设置仅当前用户 + SYSTEM 可访问
- NSIS 安装包 + MSI(Full / Lite 双版本)
- 注册表原子写入系统代理(带回滚)
- UWP 环回免除工具(5 分钟限流 + 用户确认对话框)
- PowerShell 脚本 Base64 编码执行
- 中英双语安装器
- DMG 安装包(自定义背景和窗口布局)
- Apple Silicon + Intel 通用二进制(交叉编译)
- TUN 模式通过
osascript提权 -
networksetup逐服务设置代理 - 最低支持 macOS 10.13 (High Sierra)
- DEB + AppImage + RPM 三种格式
- GNOME(
gsettings原子写入)、KDE(kwriteconfig5/6+ DBus)、XFCE(xfconf-query) - 系统原生窗口装饰(非透明无边框)
- TUN 模式通过
pkexec提权
- 多格式兼容 — Clash YAML、Base64 编码订阅(自动检测并解码)
- 客户端伪装 — 自定义 User-Agent,内置 Clash Verge / Mihomo Party / Flclash 版本查询
- 批量更新 — 一键更新所有订阅
-
拖拽导入 — 将
.yaml/.yml文件拖入窗口直接导入 -
流量进度条 — 解析
sub_info字段显示已用/总量进度
- 13 种规则类型 — DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD、IP-CIDR、IP-CIDR6、GEOIP、USER-AGENT、PROCESS-NAME、DST-PORT、SRC-PORT、SRC-IP-CIDR、GEOSITE、RULE-SET、MATCH
-
Shadowrocket 导入 — 自动转换 SR 规则为 Clash 格式(FINAL→MATCH,IP-CIDR6 支持,保留
no-resolve) - 可视化编辑 — 点击编辑、拖拽排序(移至顶部/底部)、搜索过滤
- 热重载 — 保存后自动 PATCH 到核心 + 断开所有连接
- TCP/UDP 隧道 — 自定义协议、监听地址、目标地址
- 模态框管理 — 添加/查看隧道列表
- 独立配置面板 — 弹出式 DNS 服务器配置模态框
- 内置防泄漏 — Fake-IP 模式 + 自定义 DNS 服务器
- 配置持久化 — DNS 设置保存到应用配置
高级设置页提供核心配置的完整动态编辑器:
- 递归渲染 — 自动展开所有嵌套键值对
- 类型感知 — 布尔值 Toggle、数字输入、字符串输入、数组编辑器
- 实时生效 — 修改后立即 PATCH 到 Mihomo 核心 + 持久化到文件
- 折叠展开 — 嵌套对象可折叠/展开
- Tauri
autostart插件集成 - 系统托盘最小化
- 关闭时最小化到托盘(可选)
- 配置修改后无需重启核心
- 通过 Mihomo API
PUT /configs?force=true热重载 - YAML 深度合并(深度限制 50 层,null 值删除键)