[PrettyClean] 使用 Rust 写了一款好用的 macOS 磁盘清理工具完美替代 CleanMyMac - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aiyanbo
V2EX    macOS

[PrettyClean] 使用 Rust 写了一款好用的 macOS 磁盘清理工具完美替代 CleanMyMac

  •  
  •   aiyanbo 2022-03-04 17:09:03 +08:00 5911 次点击
    这是一个创建于 1321 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在学习 Rust 编程,刚好自己有一个磁盘清理的需求就边学边开发了,现在已经完成,欢迎大家试用 < href="https://pretty-clean.github.io/" rel="nofollow">https://pretty-clean.github.io/ 。

    为什么要开发这个软件?

    我是一名程序员,工作使用的 MacBook Pro 的磁盘只有 256GB 。以往,我每年都花几百人民币购买 CleanMyMac 帮助我清理磁盘。直到有一天我想把系统升级到 12.x 的时候发现磁盘不够,导致不能升级。我使用 CleanMyMac 彻底清理了我的磁盘,但是空间还不够。经过分析,发现开发工具以及许多项目留下来的编译结果占用了许多的空间,当时我就写了一段脚本做清理工作,结果回收了 30GB 的空间,系统也顺利升级了。

    这段脚本的在使用上存在一些问题,因此我就想能不能开发一款软件来帮助我做到极致的垃圾清理。因此我就使用 Rust 编写了这款软件。

    有哪些功能?

    1. 支持多种扫描方式,针对用户、系统、应用等产生的缓存与下载文件夹中的安装包,尽可能地帮释放磁盘空间。
    2. 保护隐私安全,软件公开所有的扫描过程,可以清晰地观察到所有被扫描的文件,并承诺不会上传任何扫描信息,我们绝对保证您的隐私安全。
    3. 支持开发者模式,支持扫描与清理主流开发工具留下来的编译缓存,目前这是市场上唯一支持开发者选项的磁盘清理工具。
    52 条回复    2023-02-07 10:52:51 +08:00
    beginor
        1
    beginor  
       2022-03-04 17:18:25 +08:00 via Android
    看起来不错,支持一下
    aiyanbo
        2
    aiyanbo  
    OP
       2022-03-04 17:19:41 +08:00
    @beginor 特别感谢,欢迎您随时发表意见与反馈。
    yuhangch
        3
    yuhangch  
       2022-03-04 17:45:30 +08:00
    道理我都懂,「最近在学习 Rust 」能做成这种效果好厉害啊
    livexia
        4
    livexia  
       2022-03-04 17:47:28 +08:00 via iPhone
    厉害 支持一个,等有需求就下载使用
    superchijinpeng
        5
    superchijinpeng  
       2022-03-04 17:48:29 +08:00
    开发缓存不是留着更好,时间换空间?
    love4taylor
        6
    love4taylor  
    PRO
       2022-03-04 17:50:24 +08:00
    能编译成通用架构么?以及能不能加上 AppCleaner 的功能。这样就能扔掉 Lemon 了。
    aiyanbo
        7
    aiyanbo  
    OP
       2022-03-04 17:50:28 +08:00
    @superchijinpeng 开发缓存平时留着没问题,但是在关键时候需要回收磁盘空间的话,一个一个清理会很麻烦。我曾经维护过 30 多个项目。每一个加起来就会占用很多的空间。
    aeli
        8
    aeli  
       2022-03-04 17:51:13 +08:00
    我正版的 CleanMyMac 已经删除了,现在用腾讯的柠檬清理,效果不差
    aiyanbo
        9
    aiyanbo  
    OP
       2022-03-04 17:51:48 +08:00
    @Love4Taylor 好,后续有功能更新,第一时间告诉您。
    aiyanbo
        10
    aiyanbo  
    OP
       2022-03-04 17:54:05 +08:00
    @aeli 很多的软件为了所谓的 DAU 会添加许多用户压根就不需要的功能,我开发这个软件的目标就是:用户有需要的时候打开,扫描,清理就够了。
    sicilianlizard
        11
    sicilianlizard  
       2022-03-04 18:43:50 +08:00
    @aiyanbo 试用了,感觉很棒!多谢!
    一点小建议:我下过很多书、音乐,其中肯定有很多重复的,自己的文件肯定也有重复的,能不能把这些找出来?
    jorneyr
        12
    jorneyr  
       2022-03-04 18:57:47 +08:00
    这个 Ui 让人没有使用的欲望了,其他优秀的磁盘扫描软件都很炫酷。
    run2
        13
    run2  
       2022-03-04 19:20:57 +08:00   1
    macOS 已经有了一个自带的了 ,储存空间管理
    直接在 spotlight 里搜 或者 /System/Library/CoreServices/Applications/Storage\ Management.app
    iClass
        14
    iClass  
       2022-03-04 19:54:08 +08:00 via Android
    建议开源,不留后门。
    oott123
        15
    oott123  
       2022-03-04 20:16:36 +08:00 via Android
    GUI 是用什么库做的呢
    Dogtler
        16
    Dogtler  
       2022-03-04 20:21:30 +08:00 via iPhone
    收藏支持一波,感谢作者
    ClericPy
        17
    ClericPy  
       2022-03-04 20:50:01 +08:00
    最有价值的其实是那套过滤策略(删除规则), 这东西是各种同类软件的主要竞争力, 比速度还重要... 又想干净, 又怕误删最麻烦了
    zhouwb
        18
    zhouwb  
       2022-03-04 21:12:14 +08:00
    不管用不用的着,只要是独立开发者,都先收藏支持一波
    hronro
        19
    hronro  
       2022-03-04 21:21:20 +08:00
    是开源的吗?
    cattyhouse
        20
    cattyhouse  
       2022-03-04 23:37:26 +08:00
    OmniDiskSweeper
    stimw
        21
    stimw  
       2022-03-05 01:29:00 +08:00 via iPhone
    我订阅了 setapp 都不装 cleanmymac 。。风评挺差的
    vokins
        22
    vokins  
       2022-03-05 08:37:54 +08:00 via iPhone
    我来提一个建议:请一定不要清理语言文件!!!
    aiyanbo
        23
    aiyanbo  
    OP
       2022-03-05 10:34:03 +08:00
    @sobigfish 好的,多谢
    aiyanbo
        24
    aiyanbo  
    OP
       2022-03-05 10:35:15 +08:00
    @vokins 不会清理,PrettyClean 的宗旨是只清理哪些占用空间比较大,同时程序可以从网络上重新获取的内容。
    aiyanbo
        25
    aiyanbo  
    OP
       2022-03-05 10:36:29 +08:00
    @ClericPy 是的,所以 PrettyClean 开发了一套规则系统,后面应该会把这个系统开放给用户,我们一起为软件的完美运行出力。
    aiyanbo
        26
    aiyanbo  
    OP
       2022-03-05 10:36:53 +08:00
    @oott123 用的 tauri 这个框架,GUI 用的是 React
    aiyanbo
        27
    aiyanbo  
    OP
       2022-03-05 10:39:16 +08:00
    @sicilianlizard 收到反馈
    aiyanbo
        28
    aiyanbo  
    OP
       2022-03-05 10:39:54 +08:00
    @jorneyr 多谢反馈,后面我会在 UI 设计上做得更好。
    aiyanbo
        29
    aiyanbo  
    OP
       2022-03-05 18:57:53 +08:00
    @iClass Pretty Clean 通过了苹果的安全审查,不存在后门!并且我们承诺保护用户隐私!
    RIDESU
        30
    RIDESU  
       2022-03-05 19:39:48 +08:00
    十分支持,刚用柠檬扫描过垃圾,再用这个软件扫描仍旧有 500 多 M ,看了一下是系统缓存和用户缓存,对于我这种强迫症患者来说十分舒服,楼上有人说 UI 不好看,楼主你别信,如此简洁十分喜欢,不要学那些妖艳贱货。
    另外提两个建议:
    1.适配 Apple Silicon ,M1 Pro 用户表示还是希望能原生运行,这同样是一个强迫症需求。
    2.增加功能,比如能干净卸载软件、扫描清理多余的语言文件和多余的架构文件。目前市面上有一款软件叫「 monolingual 」,清理不需要的语言文件效率极高,比如 Word.app ,能清理出 600 多 M 你可能从来不需要用的语言文件,但是该项目已经停止维护,没适配 Apple Silicon 。至于在「通用」架构时代删除另一个自己不需要的架构,M 系列处理器通过 ditto 命令之后一般能将 app 体积缩小一半以上,Intel Mac 应该也是如此,目前只能通过 ditto 命令手动执行,效率太低。特别希望作者能加入这三个功能,满足需求的话绝对会付费购买。
    iClass
        31
    iClass  
       2022-03-05 19:46:25 +08:00 via Android
    @aiyanbo 承诺不如开源 苹果公司从不承诺没有系统漏洞
    soberzml
        32
    soberzml  
       2022-03-06 10:26:29 +08:00
    用上了
    clare0621
        33
    clare0621  
       2022-03-06 10:44:04 +08:00
    几点建议:
    1 、App 图标弄下
    2 、应用内版本更新,或者上架 AppStore
    3 、扫描白名单或者更完善的自定义规则
    4 、UI 稍微设计下
    5 、软件整体一定保持简单小巧
    aiyanbo
        34
    aiyanbo  
    OP
       2022-03-06 11:46:46 +08:00
    @RIDESU 收到反馈,感谢支持。
    aiyanbo
        35
    aiyanbo  
    OP
       2022-03-06 11:47:40 +08:00
    @clare0621 明白,感谢支持。
    Sting1226
        36
    Sting1226  
       2022-03-06 13:09:51 +08:00
    强烈支持楼上提出的应用内扫描和上架 App Store 。
    微信和 QQ 的图片、文件太多了。
    vokins
        37
    vokins  
       2022-03-07 01:04:55 +08:00 via iPhone
    @aiyanbo 嗯,太好了,市面上很多此类 app 都会清理系统语言文件,很难搞懂着各种想法和逻辑,有时候需要清理的一个临时下载文件比所有语言文件加起来都要打,而且有些 app 只能在特定语言下运行,比如一些手绘 app 国内有代理商,只能在繁体中文下运行国际版本
    xy19009188
        38
    xy19009188  
       2022-03-07 11:02:26 +08:00
    等一波 M1 版
    aiyanbo
        39
    aiyanbo  
    OP
       2022-03-07 11:10:29 +08:00
    @xy19009188 已经在安排了
    newbieRenew
        40
    newbieRenew  
       2022-03-08 10:25:43 +08:00
    才 3M ,体积比 Electron 小很多啊
    aiyanbo
        41
    aiyanbo  
    OP
       2022-03-08 11:08:36 +08:00
    @newbieRenew 是的,Tauri 用的是 WebView2 ,体积会小很多。
    aiyanbo
        42
    aiyanbo  
    OP
       2022-03-08 11:09:50 +08:00
    ubuntuGary
        43
    ubuntuGary  
       2022-03-09 11:07:53 +08:00
    @aiyanbo 作者,开发者工作目录配置好了无法取消,最新版本:0.1.17 (不给个关于看版本号吗)
    aiyanbo
        44
    aiyanbo  
    OP
       2022-03-09 13:43:19 +08:00
    @ubuntuGary 感谢反馈,设置页面是花精力最少的页面,一直也没有找到自己比较满意的交互方式与信息架构方式。想听听大家的建议。
    lnkn
        45
    lnkn  
       2022-03-10 18:48:58 +08:00 via iPhone
    尝试体验下
    lovestudykid
        46
    lovestudykid  
       2022-03-11 05:35:16 +08:00
    没有 Arm 版吗?
    aiyanbo
        47
    aiyanbo  
    OP
       2022-03-14 10:56:51 +08:00
    @lovestudykid Arm 版正在安排中
    aiyanbo
        48
    aiyanbo  
    OP
       2022-09-16 15:22:22 +08:00
    @xy19009188 M1 版本已支持,前往 https://www.prettyclean.cc/ 下载。
    aiyanbo
        49
    aiyanbo  
    OP
       2022-09-16 15:23:13 +08:00
    @lovestudykid ARM 版本已支持
    love4taylor
        50
    love4taylor  
    PRO
       2022-10-02 12:07:44 +08:00
    一个建议:Surge 的这个文件夹不要默认清理。因为一旦清理,用户 Surge 内的远程资源缓存就全没了,我刚还以为自己断网了。。。

    aiyanbo
        51
    aiyanbo  
    OP
       2022-10-09 09:08:40 +08:00
    @Love4Taylor 正在开发相关功能解决这个问题。
    aiyanbo
        52
    aiyanbo  
    OP
       2023-02-07 10:52:51 +08:00
    @Love4Taylor 忽略列表已上线!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1295 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 23:51 PVG 07:51 LAX 16:51 JFK 19:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86