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

[送码] 用 Claude 写了一个 iOS App: Clash Dash

  •  
  •   hallomou · 12 天前 · 6929 次点击

    大家好,这个是我和 Claude 对话生成的 App ,用来管理路由器中的 OpenClash 服务。

    Preview

    这个是 App 的界面,参考了 OpenClash 自带的面板的设计、Loon 以及 QuantumultX 的 UI ,使其更适配 iPhone 竖屏的布局。可以在 iPhone 上查看 OpenClash 的运行数据、切换代理、查看活动连接、标记客户端、修改配置等等。

    已上架 App Store: https://apps.apple.com/cn/app/clash-dash/id6738882561?platform=iphone

    已开源,可以自行编译使用: https://github.com/bin64/OpenClash-Dashboard/tree/main


    弄这个 App 的缘由是虽然 OpenClash 本身提供了好几个 Web 管理面板,但我感觉查看活动连接并不是很方便,所以我在看到 https://v2ex.com/t/913855 的帖子之后感觉我也能借助 AI 来写一个(毕竟我只需要写 UI 界面,然后从 OpenClash 的 API 获取信息呈现出来即可)。

    虽然 90% 的代码都是 Claude 生成的,但我还是设置了 $1.99 销售价格。不为别的,就因为我想拥有在 App Store 挣钱的感觉!(另外 Claude 订阅也是花钱了的,开发者订阅的费用已经被平摊了)。

    我的情况:没有 iOS 开发的背景,非科班出身,没有系统学习程序开发。使用过 Python 、JS 、C#、PHP 等写过各种各样的小工具、后台管理系统还有各类插件。在弄这个 App 之前看了一些 SwiftUI 的教程。

    第一次上架 iOS App ,也遇到了不少问题,包括更换苹果开发者的地址(因为我一开始注册的是美区的开发者计划)、Git 的使用、提交 App 审核等,会整理清楚之后记录下来。

    我只在 iPhone 16 Pro 和 iPhone 12 mini 上测试过,所以可能会有一些 bug ,但因为比较激动,所以就先上架了(我自己使用没有什么问题)。有一种在小时候写的作文发表了,于是想把杂志都买下来给周围的人人手一本的感觉。后续冷静一些了会再次查看有哪些可以修改的地方,添加对 OpenClash 项目的引用链接等等。我也会尽量保持更新来适配 OpenClash 的更新。


    欢迎大家友好交流。

    兑换码:

    JXH3N779AETP
    MEMT63P99J79
    REJ6KE9HFTRY
    TET3W7FKNARY
    WR3WP3MYTWTX
    4EPWFTWKJFLX
    9X7KJ9FXW6KW
    RY4WRXRYYF7A
    LHKX9NJANNJT
    RP9E7JFATRPF
    PH4LJK6MWAPA
    4MJ9JRJENF7A
    6NPY96MR33FE
    6JMPR7XMNLR3
    TRWWN7T7M7WL
    MF3934H6F96J
    YWFAH99EKJ9A
    MFJ3W6YM34EM
    P69AHJT4TLK6
    9AMJX6A9F4RE
    第 1 条附言  ·  12 天前
    谢谢大家的支持。

    Y3TM9X736LW4
    TP379H9NNNLL
    KYJ93M9HLHXM
    X33LK9RWPMM4
    MPWXJMW3HYHR
    9KRRAAMJ3374
    EWXN37MH6RAM
    3NMRN3FAPL7R
    76P7HY3F44E7
    J367LAXHN96L
    W7AJMAJH7A3K
    AYKAMWXJAYTP
    HJTTJMMAWAKN
    WHRTNWNX6E6X
    JFX6AEAK6J93
    TTX4P7LTPHH7
    9KXYJNJJYJ46
    4XJ6F344FMNX
    P7RXJ67A97T4
    M3MXERE7XRHX
    第 2 条附言  ·  11 天前
    如果还有对这个感兴趣的可以使用这个来获取兑换码: https://redeem.ym.si/LK4GXS (非钓鱼网站)。

    目前是适配的 Meta 内核,会尽快适配原版 Clash 内核。
    第 3 条附言  ·  11 天前

    100 个全部发完了,谢谢大家的支持: https://redeem.ym.si/4TNXLV Status

    114 条回复    2024-12-13 17:06:55 +08:00
    1  2  
    d460686680
        101
    d460686680  
       9 天前
    更新后,还是 1.0.0
    GeekGao
        102
    GeekGao  
       9 天前
    ui 很可以,虽然我暂时用不上它。
    hallomou
        103
    hallomou  
    OP
       9 天前
    @d460686680 #101 UI 里的版本号没改😅,下次更新注意...这次更新的内容比较少,就是添加了对原版 Clash 内核的支持,还有可以对代理组自定义排序。接下来也是先对 App 流畅度还有网络的连接稳定性进行提升,欢迎继续关注👏
    Retas
        104
    Retas  
       8 天前 via iPhone
    感谢楼主的兑换码,体验了两天,一些建议
    1.代理组顺序建议默认按照配置文件顺序给
    2.代理组点击折叠展开热区太小了
    3.增加默认启动直接进入某个面板的功能
    Lituby
        105
    Lituby  
       8 天前 via Android
    非常需要呀大佬,求码
    bGl0dWJ5QG91dGxvb2suY29t
    hallomou
        106
    hallomou  
    OP
       7 天前
    @Retas 谢谢你的这些建议,我觉得都很棒。代码已更新,已上传商店等待审核。请等待更新,谢谢。
    hallomou
        107
    hallomou  
    OP
       7 天前
    @Lituby #105 现在生成不了新的兑换码了哈,抱歉。
    guoziyang0033
        108
    guoziyang0033  
       7 天前
    提个小建议,规则顺序建议还是用默认顺序,因为规则顺序是会影响路由结果的
    hallomou
        109
    hallomou  
    OP
       7 天前
    @guoziyang0033 你好,今天发的 1.1.0 版本已经使用配置文件里面的规则顺序了。
    guoziyang0033
        110
    guoziyang0033  
       7 天前 via iPhone
    @hallomou 看了下版本已经是 1.1.0 ,规则还是按照首字母聚合的
    hallomou
        111
    hallomou  
    OP
       6 天前
    @guoziyang0033 你好,我测试了一下,现在是按照 Config 文件内的顺序排序的,可否提供一下你在使用的脱敏后的配置文件给我看看呢?我的邮箱:eWFubW91MTk5NkBnbWFpbC5jb20= 谢谢
    hallomou
        112
    hallomou  
    OP
       6 天前
    @guoziyang0033 #110 你好,这个可能是之前启用的自定义排序被记录了,我已经在新的版本里移除了与之相关的逻辑,请等待更新,谢谢。
    huyasi
        113
    huyasi  
       6 天前
    大佬能辛苦送个码吗?
    linxi7
        114
    linxi7  
       3 天前
    能限免下吗?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1212 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 23:53 · PVG 07:53 · LAX 15:53 · JFK 18:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.