V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
foru17
V2EX  ›  分享创造

现代美观的 Clash 流量可视化工具: Clash Master

  •  
  •   foru17 ·
    foru17 · 22 小时 19 分钟前 · 3116 次点击
    昨晚写了一个 OpenClash (也兼容其他使用 Clash 内核的应用) 的流量可视化面板。

    主要是为了解决原生面板在数据分析和历史趋势查看上的不足,直观感知家庭网络流量。

    推荐家里用 OpenClash 或 Clash 内核的朋友体验下 👇

    👁️ 旁路部署:非侵入式设计,不影响原 Clash 核心稳定性
    📊 多维度统计:域名 / IP / 节点流量 / ASN / 地理位置实时监控
    📈 30 分钟~24 小时趋势分析
    🔄 多后端监控:支持同时管理多个 Clash 实例
    💾 数据持久化
    🐳 部署便捷:Docker 一键启动


    代码已开源,欢迎 Star 和试用:
    🔗 https://github.com/foru17/clash-master



    62 条回复    2026-02-07 13:13:49 +08:00
    xavierniu
        1
    xavierniu  
       22 小时 6 分钟前
    看起来相当不错,支持 mihomo 吗?
    foru17
        2
    foru17  
    OP
       22 小时 0 分钟前   ❤️ 1
    @xavierniu 支持,我就是用的 mihome 内核。
    JimLee0921
        3
    JimLee0921  
       21 小时 59 分钟前
    考虑做个 v2ray 的嘛哥
    foru17
        4
    foru17  
    OP
       21 小时 55 分钟前
    @JimLee0921 原理应该都差不多,把 v2ray 的日志丢过去让 AI 写个脚本处理应该也能适配。
    PrinceofInj
        5
    PrinceofInj  
       21 小时 54 分钟前 via Android
    卧槽,终于有这种程序了。之前因为 mihomo 不支持这个功能一直停留在原版 clash ,就是为了使用 profile 功能。
    Flowing
        6
    Flowing  
       21 小时 43 分钟前
    家里路由器装 shellclash 的可以用吗
    Melting
        7
    Melting  
       20 小时 49 分钟前
    @Flowing #6 我试了一下,也是可以的
    zoharSoul
        8
    zoharSoul  
       20 小时 46 分钟前
    可以按客户端 ip 来看访问网站吗?
    drlee
        9
    drlee  
       20 小时 18 分钟前
    部署完了,发现打不开 web
    compose 支持端口修改不是更好吗?还要整个 override 有点麻烦了
    foru17
        10
    foru17  
    OP
       20 小时 6 分钟前
    @drlee v1.0.2 版本的应该修复这个问题了。可以重新拉下。另外我正在发布 1.0.3,可以稍等下。
    drlee
        11
    drlee  
       20 小时 3 分钟前
    @foru17 谢谢罗磊,我正要说 override 不生效
    fantasynoff
        12
    fantasynoff  
       19 小时 57 分钟前
    很棒,如果能把 zashboard 功能吸收一下,直接当成前端控制+统计,那就无敌了
    dddedd
        13
    dddedd  
       19 小时 54 分钟前
    @fantasynoff +1 zashboard 的连接拓扑也很实用
    y1y1
        14
    y1y1  
       19 小时 46 分钟前
    非常酷炫

    考虑添加分 app 流量统计吗

    还有 webui 端口能不能改成可以修改的
    CodersZzz
        15
    CodersZzz  
       19 小时 43 分钟前
    羡慕用这个的, 我用的 v2ray 的。
    foru17
        16
    foru17  
    OP
       19 小时 39 分钟前
    @y1y1 我之前也考虑了这个功能(更像 UniFi OS 那套),比如 YouTube 流量,TikTok 流量,Netflix 流量。我但是不紧急,后面迭代再弄吧。
    qiuyue0
        17
    qiuyue0  
       19 小时 24 分钟前
    连接后端是不是没有做连通性测试?
    FaCai
        18
    FaCai  
       19 小时 8 分钟前
    @Melting shellclash 可以?那必须冲冲冲
    EastLord
        19
    EastLord  
       19 小时 7 分钟前
    哥们,你为啥不用你推特的头像
    GaranPoe
        20
    GaranPoe  
       18 小时 25 分钟前
    @drlee
    我部署完也是访问不了 web 为啥?
    drlee
        21
    drlee  
       18 小时 16 分钟前
    @GaranPoe 如果你端口 3000 已经占用,而 override 自定义端口实际上是不工作的,就访问不了 web
    drlee
        22
    drlee  
       18 小时 15 分钟前
    @foru17 发布没
    foru17
        23
    foru17  
    OP
       17 小时 16 分钟前
    @drlee
    docker pull foru17/clash-master:1.0.3

    1.0.3 版本做了不小改动。
    Midnight
        24
    Midnight  
       17 小时 2 分钟前
    可以,我装了 不过启动不久后就会把我的内核搞崩。。。
    Midnight
        25
    Midnight  
       17 小时 0 分钟前
    停掉你的项目 openclash 才正常。。。不然一直启动一直死
    foru17
        26
    foru17  
    OP
       16 小时 59 分钟前
    @Midnight 啥?这个就是跟 yacd,zashboard 面板一样的原理,就是保持通信而已,是不是你跑 clash 的机器硬件有点弱?
    foru17
        27
    foru17  
    OP
       16 小时 56 分钟前
    @Midnight 另外补充下,我不建议将这个 Docker 容器与 OpenWrt 部署在同一台设备上。由于其依赖较多且数据库有持续的 I/O 读写,可能比较消耗硬件资源。该项目我也才刚运行一天,还需要进一步观察 CPU 和内存的占用情况。 😂
    foru17
        28
    foru17  
    OP
       16 小时 55 分钟前
    @EastLord V 站我这个头像可能都用了 10+年了。🐶
    Midnight
        29
    Midnight  
       16 小时 44 分钟前
    @foru17 两台不同的机器,openclash 运行在 N100 8G
    foru17
        30
    foru17  
    OP
       16 小时 27 分钟前
    @Midnight 那应该不至于,我 Openclash 运行在 N5105 的机器上,比你硬件还低一点。 我 Clash master 也部署在同一台机器上。而且我 Clash Master 同时监听了内网 LAN 和远程两个实例,我刚看了下虚拟机 CPU 基本没波动。服务也一直在线。
    q000q000
        31
    q000q000  
       16 小时 23 分钟前
    🐶概览的 TOP 代理 里带有国旗 EMOJI 的节点名中的国旗 EMOJI 会不显示,是不是 BUG ?
    xuzhzzz
        32
    xuzhzzz  
       16 小时 17 分钟前
    不敢统计,统计的话我的 top domain 怕得是成人网站了
    Magicmadoka
        33
    Magicmadoka  
       15 小时 12 分钟前
    建议把镜像大小优化一下,默认镜像太大了。[img][/img][img][/img]
    精简之后运行正常。
    shmilypeter
        34
    shmilypeter  
       15 小时 8 分钟前
    surge 有类似的功能吗,能不能让老刘做一个
    intr0Trailer
        35
    intr0Trailer  
       15 小时 4 分钟前
    添加 openclash 地址,提示 api error:500 ,是啥原因
    Magicmadoka
        36
    Magicmadoka  
       14 小时 57 分钟前
    @intr0Trailer API 端口 3001 不要修改
    foru17
        37
    foru17  
    OP
       14 小时 52 分钟前
    @Magicmadoka 精简这块,有啥建议不?我现在还在做前端的功能相关,后端依赖这块还没细看。
    intr0Trailer
        38
    intr0Trailer  
       14 小时 50 分钟前
    @Magicmadoka #36 3001 已经被占用了,不该就没法用了?
    Magicmadoka
        39
    Magicmadoka  
       14 小时 46 分钟前 via Android
    @foru17 我主要是 mihomo 已经部署在 ros 上,想说精简一下一起丢 ros 路由器上得了。😆
    Magicmadoka
        40
    Magicmadoka  
       14 小时 46 分钟前 via Android
    @intr0Trailer 修改了目前只是监听端口变了,程序内部是写死的,等作者更新吧
    Magicmadoka
        41
    Magicmadoka  
       14 小时 44 分钟前 via Android
    @foru17 我目前只精简了构建镜像的步骤,测试完功能我 pull 到 github
    foru17
        42
    foru17  
    OP
       14 小时 43 分钟前
    @Magicmadoka 我是不建议这类应用跟网关机器放到同一个地方,这种服务日志爆了啥的很容易出事,玩意影响到主路由,你家网络就仆街了,我都是放到隔离的机器。OpenWrt 老老实实只做最基础的网络相关。
    lemon6
        43
    lemon6  
       14 小时 41 分钟前
    @Melting 请教一下,shellcrash 的后端主机地址和端口应该填啥,为啥我一直提示 API error: 500
    Magicmadoka
        44
    Magicmadoka  
       14 小时 39 分钟前 via Android
    @foru17 嗯,就是要观察这个长期跑会不会 OOM ,mihomo 和 tailscale 都部署在 ros 上,我用了挺久了,内存占用基本稳定。
    mikaelson
        45
    mikaelson  
       14 小时 38 分钟前
    @Flowing #6 singbox 内核可以吗?
    Jiajin
        46
    Jiajin  
       14 小时 23 分钟前
    确实蛮美观的,能分享下 vibe coding 写前端的经验吗
    Ccf
        47
    Ccf  
       14 小时 19 分钟前
    网页版 clash mate?
    xavierniu
        48
    xavierniu  
       14 小时 0 分钟前
    可否让浏览器发送请求,类似于 MetacubeXD ,它跟 clash 的通信是在前端完成的。我现在的服务部署在家里的内网,要连接公司内网,原来都是在我 MAC 的 Chrome 上通信的(连接 VPN ),clash master 似乎不行?
    foru17
        49
    foru17  
    OP
       13 小时 57 分钟前
    @xavierniu 自己弄一个公网转发服务,转发你内网的 openclash:port 服务,tailscale ,ddns + 端口转发,cf tunnel 都行。我就是这么弄得。
    FrankAdler
        50
    FrankAdler  
       13 小时 20 分钟前
    用上了,很方便,顺便体验了下 pve 从 oci registry 拉取镜像使用 lxc 运行,挺方便的
    Melting
        51
    Melting  
       13 小时 11 分钟前
    @lemon6 #43 后端地址就是你 shellclash 的 ip ,端口默认应该是 9999 ,可以在 shellclash 面板设置看到
    foru17
        52
    foru17  
    OP
       12 小时 53 分钟前   ❤️ 1
    v1.0.4 刚刚发布了,大家提的问题都修复了
    @qiuyue0 添加了连通测试
    @q000q000 emoji 的问题修复了,现在默认显示原始节点名称
    @intr0Trailer @lemon6 现在支持自定义端口部署,详情可以看文档
    lemon6
        53
    lemon6  
       11 小时 52 分钟前
    @foru17 sqlite 的写入逻辑有点问题,一直在大量的 IO 写入,一小时就已经 2GB 的了,应该是“批量提交”机制没做好
    ronman
        54
    ronman  
       11 小时 44 分钟前
    试用了下很不错,提个需求希望可以把规则域名分布中点击可以展示具体域名,因为我发现我有很多漏网之鱼的流量,我希望借此优化下我的分流规则,感谢
    Magicmadoka
        55
    Magicmadoka  
       11 小时 32 分钟前

    除了磁盘写入量有点高,实际运行占用挺低的,等这个问题修好了再部署一次。
    yoyoyoyolol
        56
    yoyoyoyolol  
       5 小时 48 分钟前 via iPhone
    昨晚写的?一晚上写出来的吗这么牛逼
    foru17
        57
    foru17  
    OP
       3 小时 21 分钟前 via Android
    @yoyoyoyolol 准确说第一版是四个小时 🐶
    damichifan
        58
    damichifan  
       3 小时 3 分钟前
    漂亮呀
    foru17
        59
    foru17  
    OP
       2 小时 24 分钟前
    @Magicmadoka @lemon6
    定位到问题了,写入逻辑是有问题,下一版改成了批量写入+限流,我再跑观察下。
    huifeideyu1991
        60
    huifeideyu1991  
       2 小时 2 分钟前
    curl -fsSL https://raw.githubusercontent.com/foru17/clash-master/main/setup.sh | bash 执行完后访问 localhost:3000 无法访问
    foru17
        61
    foru17  
    OP
       2 小时 1 分钟前
    @huifeideyu1991 建议先用 docker 部署。
    Thiece
        62
    Thiece  
       20 分钟前
    @foru17
    你用 3000 端口不是和 AdGuardHome 冲突吗?
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1920 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:34 · PVG 13:34 · LAX 21:34 · JFK 00:34
    ♥ Do have faith in what you're doing.