notable禁用更新
思路
从1.5.x版本的源码(还是开源的)中找到更新检查的位置在文件中src/main/app.ts
类似:
__updaterCheck = async ( notifications: Event | boolean = false ) => {}
发现这个方法貌似是更新的实现,也被多次调用,软件中有启动更新、定时更新、通过按钮更新 这几种途径估计可能都是走这个方法。配置项中也发现有updater
这样的字样,如果能在反编译后的源码中找到update相关的方法然后修改下可能可以禁用更新。
操作
安装反编译工具:
npm install -g asar
在安装目录找到C:\Users\{user}\AppData\Local\Programs\notable\resources\app.asar
反编译app.asar文件:
asar extract ./app.asar ./app
反编译得到main/main.js
,在里面搜索 updater.run
发现有类似的逻辑:
'updater.run': async (n,e) => {...}
这个方法应该就是去检查更新的,把方法体改成:
{
'updater.run': (n, e) => {}
}
重新打包并替换app.asar:
rm -f app.asar
asar pack ./app ./app.asar
重启notable就不再提示更新了。
附件下载