Mouri_Naruto 发表于 2021-8-15 00:04:33

【2021 年 8 月 14 日更新】毛利优化插件 9.0.2662.0 技术预览版

前言

大概数年前和鸭子(DISM++ 作者)提到我想做一个轻量化的框架,方便我进行测试和使用我写的系统维护功能。如果对应功能在这个轻量级框架下测试的比较成熟就集成入 DISM++,因为我觉得直接在 DISM++ 代码仓库对我编写的清理模块(NCleaner.dll)进行改进和测试还是太重(DISM++ 好歹也是一个百万行规模的项目)了,而且顾虑的事情会比较多,容易放不开手脚。虽然鸭子很爽快的同意了,但是要设计一个让强迫症比较多的我用起来比较舒服的轻量化框架,是一个令人非常纠结的事情。当时的我接触到了 busybox 后立马回忆起了将近十年前常用的 nircmd,这类能把几十个功能塞入到一个二进制的瑞士军刀风格的设施让我颇有兴致,于是我立了个代号为 reiwa(令和)的项目,毕竟我觉得 DISM++ 和 CCleaner 是平成时代的维护工具,我想开发一个比较有新意的玩意,而不是复刻品。

当然想让我满意到能下决心做是个挺耗时间的过程,主要原因还是做 exe 版本的话即使是控制台应用也得写一套基本的用户交互框架,一想到这就感觉写起来太复杂了,下不了手。直到大概三个月前,我的工作机的系统盘磁盘空间所剩无几,觉得自己必须得写个家伙出来了。但我又不想单独设计一套交互逻辑,因为无论是图形界面还是控制台界面蛋疼的事情还是不少的……于是想了想,干脆自己把这家伙做成动态链接库好了,然后做个宿主承载这家伙,这样就不需要特意写那么多蛋疼的交互逻辑了。刚好想起了比和鸭子提到做轻量化框架更久之前的 NSudo 的环境配置文件的大饼,这个特性是支持加载预处理和后处理插件来对目标应用的运行环境进行深度定制,譬如通过这个机制实现一些软件的绿化还有解决语言区域导致的乱码问题,如果能把这个大饼实现了,感觉自己的遗憾也能少一点,毕竟这个大饼从 2016 年就开始画了,但是当时的自己技术力还不够设计不出满意的结果。

最终,根据这些想法考虑出来的就是 NSudo 的下一个大版本,也就是 9.0,将会引入环境配置文件、上下文插件和交互控制台三大特性。交互控制台提供 NSudo 高级用户向导(我一直都想大幅扩充 NSudo 图形界面版本的功能)和上下文插件的交互,环境配置文件可以对用户要运行的应用的环境进行深度定制(按照自己的设想是可以为目标应用搭建一个轻量级沙盒的程度),上下文插件使得环境配置文件定义起来更加灵活。既然不管怎么样都要给 NSudo 的用户提供一个代码示例来让他们了解如何开发一个 NSudo 的上下文插件,那么把我做的轻量级系统维护工具作为 NSudo 的上下文插件的开发示例并且附带在二进制包里作为一个比较有用的工具插件那简直是多赢之举(毕竟我不想只提供一个只有开发者会参阅的示例,想提供一个带一点实际功能的示例),于是就这么愉快的决定了。

当然在这个上下文插件的命名上也纠结了不少,最后敲定为毛利优化插件 (Mouri Optimization Plugin),因为二进制名字可以写成 MoPlugin.dll 刚好符合 DOS 时代的 8.3 命名规则,看起来比较简洁。

NSudo 9.0 这个计划貌似诱人到甚至吸引到实质上的赞助(前段日子我购买新笔记本的时候遇到了一些问题,刚好认识了该笔记本品牌的产品经理,因为他是 NSudo 的用户并且因此在工作上解决了不少小白方面的问题,因为前段日子听到我提到 9.0 的计划瞬间就来了精神,为了能让我顺利开发 NSudo 帮我解决了笔记本方面的问题),于是这个饼我表示无论如何都要做出来,但因为计划的内容比较多,于是我得发布好几个预览版,前段日子,在工作之余,终于完成了毛利优化插件的第一波计划功能的开发,由于 NSudo 9.0 的本体正在开发(因为要把上下文插件机制融入环境配置文件的支持设施),于是写了个目前只有中文版的刚好能支撑毛利优化插件运行的 NSudo 插件宿主,经过了还算有点规模(毕竟帮我解决了笔记本问题的产品经理在他的用户群已经进行了踩坑)的测试后,发现稳定性和实际效果超出了我们二人的想象,于是我忍不住想在更大的范围(远景论坛)对外发布测试。

功能列表


[*]内存碎片整理
[*]开启 Microsoft Update
[*]CompactOS 管理
[*]Chromium 内核缓存清理
[*]损坏的 AppX 包清理
[*]传递优化缓存清理
[*]Gecko 内核缓存清理(9.0.2662.0 新增)
[*]NuGet 缓存清理
[*]Package Cache 目录清理
[*]系统还原点清理
[*]Trident (MSHTML 和 EdgeHtml) 内核缓存清理
[*]Visual Studio Code 缓存清理
[*]Visual Studio Installer 缓存清理
[*]Windows 事件日志清理
[*]Windows 商店应用一键升级


使用方法

参阅压缩包内的 MoPluginReadmeChinese.txt(中文)或 MoPluginReadmeEnglish.txt(英文)。
功能使用也可以参考本贴置顶回复(94 楼和 99 楼)。

注意事项


[*]由于 NSudo 插件宿主是一个要求管理员权限的控制台应用,于是双击使用会直接报命令错误而直接退出,在管理员权限的命令提示符下调用可以获得更好的用户体验。
[*]在使用毛利优化插件的清理功能之前强烈建议先使用对应清理功能的扫描模式,在确认 OK 后再使用清理模式。


相对于上一版的改动


[*]增加 Gecko 内核缓存清理,实现了对 Firefox 谱系的 Web 浏览器的 Web 缓存通用清理
[*]插件宿主添加多语言支持,并且提供英文支持
[*]用户体验和文档改进


下载地址



后记

NSudo 9.0 的源代码暂时并没有在 GitHub 公开仓库更新,因为 NSudo 的上下文插件接口发布后要保证二进制接口的兼容(曾经 NCleaner 作为 DISM++ 的独立插件后来并入 DISM++ 的主要原因就是 DISM++ 在 NCleaner 作为独立插件时期插件接口变动频繁),于是我在把插件接口打磨得让我未来的遗憾尽可能降到最低之前不会更新公开仓库。


NSudo 从 9.0 开始,虽然对外发布用的版本号的规则基本不变,但是二进制用的文件版本号规则进行了改进方便以后发布多个预览版。NSudo 从 9.0 开始二进制的第三段版本号,即构建号(Build Number),是构建日期距离 NSudo 第一个版本编写并发布的日期(2014 年 5 月 1 日)的间隔天数。于是 NSudo 的二进制包的文件命名方面也不会标注日期,因为从构建号就能看出。

毛利优化插件里面的功能如果在用户使用后问题不大,会把部分功能移植到 DISM++,毕竟这也是做这家伙的初心。鉴于如何判断用户使用后问题不大这点,暂定为相关功能发布半年以后没有出现严重问题,毕竟给 DISM++ 移植内容这方面我是想负点责任的,毕竟不想做那种只能在专家模式(按照我的理解就是有严重风险但没法轻易解决问题的功能会塞到专家模式)里躺到天荒地老的功能。


毛利,于 2021 年 8 月 14 日

0xAA55 发表于 2021-8-17 17:36:04

这个会自动更新吗?我在想,如果你改进了它,我们使用的时候它自己从你这里下载新版。

Golden Blonde 发表于 2021-8-18 07:03:04

没看懂这玩意到底是干啥的。。。
页: [1]
查看完整版本: 【2021 年 8 月 14 日更新】毛利优化插件 9.0.2662.0 技术预览版