起因

打电子的 aur 包时,习惯性会把包拆掉。用系统自带的。

问题

但是有些拆了直接用 asar 跑,甚至把 asar 拆了,直接 electron app 会进入 develop 模式,而不是生产模式。

解法 1

一种比较好处理的是用 ELECTRON_IS_DEV 绕过。

解法 2

但是后来 electron 自己提供了 isPackaged,绕不过去。
EDIT: 用 sed 把所有的 isPackaged 的地方替换成 true
查看源码可以发现在 Linux 上只是 basename == electron 判断了一下。
于是 install -vDm755 copy + 重命名了下。basename 拿到的就不是 electron 了,绕过了判定。
pros:非常简单,加一行代码就行
cons:electron 本体很大,还是有大小冗余

待改进的点

可能:用一个 tiny 二进制做一个跳转骗过 basename (失败
可能:或者覆盖掉 app.isPackaged 方法. 做不到,因为是 readonly。

可能可以试试 hijack 掉 basename
 
Loading...
Steven Lynn
Steven Lynn
喂马、劈柴、周游世界
最新发布
我与 Dify 的半年
2025-3-9
我的2022年终小结
2024-11-9
记录雅思考试经历与一点学习心得
2024-11-9
Hackergame 2024 思路小结
2024-11-9
黑客松、日本、入职:我的2024下半年的总结
2024-11-9
NotionNext:基于Notion和NextJS的开源博客
2024-11-9