自行跨平台编译 PicGo
等了很久, PicGo终于发布了 2.3.0 正式版,但是在安装后第一次打开的时候出现了一个隐私协议的弹窗,里面有这样一句话
1 |
|
看到这句时又一不小心看到了上面的这句话
1 |
|
按照习惯点确定再去软件设置里修改,但是找了一圈没找到关闭上传使用数据这个按钮。
就算你要这些信息提高服务,但是也要想下并不是每个人都愿意提供自己的使用数据,应该给个开关自己设置。
然后一想,这是个开源软件,可以自己修改代码再重新编译。
修改代码
首先抓包了一个,看看是用了哪个平台的数据分析,然后抓到了http://sdk.talkingdata.com/app/h5/v1?appid=7E6832BCE3F1438696579E541DFEBFDA&vn=2.3.0&vc=2.3.0
和h5data.talkingdata.net/app/v1
搜索了一下,发现是使用了一个公司名叫北京腾云天下的服务,该公司成立于2011年。
打开软件源码地址PicGo,在源码里搜索了上面抓的网址,发现在src/renderer/utils/analytics.ts
文件中
阅读了一下,发现在入口处 src/main.ts
最后一行是数据分析的初始化,由于是在整个程序的入口,所以删除 initTalkingData()
就行了。
至此,数据分析服务已经删除。
安装依赖
由于国内众所周知的网络环境,所以就选择外面的服务器进行编译。我选择的操作系统是 Debian 11。
安装nodejs
在官网上有提供通过包管理器安装 nodejs 的方法。按照提示操作即可。
我选择安装的是 LTS 版本,可以根据自己的实际情况进行选择。
1 |
|
安装yarn
在库里的README.md
写了需要用 yarn 安装依赖,如果用 npm 安装依赖会出现未知错误。
在安装完 nodejs 后,有一个提示是安装 yarn 的操作方法,按照提示安装即可。
1 |
|
安装wine
由于是跨平台编译,在 linux 平台上编译 windows 的应用,所以需要安装 wine,到官网上根据教程安装即可。
页面上写了 WineHQ 安装包安装于 Debian 10 或更新的版本时,会要求安装 libfaudio0 依赖。
1 |
|
编译
准备工作做好后最后一步就是编译了,由于是跨平台编译,所以需要把根目录里的 package.json
修改一下使其支持编译出适用 windows 的安装包。
在electron:build
后面加上 --win --x64
即可。
1 |
|
最后编译就好了
1 |
|
编译完成后就可在 dist_electron 文件夹里看到编译后的软件了。