Package Details: liteloader-qqnt-bin 1.2.3-1

Git Clone URL: https://aur.archlinux.org/liteloader-qqnt-bin.git (read-only, click to copy)
Package Base: liteloader-qqnt-bin
Description: 轻量, 简洁, 开源的 QQNT 插件加载器
Upstream URL: https://github.com/LiteLoaderQQNT/LiteLoaderQQNT
Licenses: MIT
Conflicts: linuxqq-appimage, liteloader-qqnt
Provides: liteloader-qqnt
Submitter: kobe-koto
Maintainer: kobe-koto (Kevin_Liu)
Last Packager: kobe-koto
Votes: 10
Popularity: 1.16
First Submitted: 2023-07-09 06:03 (UTC)
Last Updated: 2024-11-08 16:29 (UTC)

Pinned Comments

kobe-koto commented on 2024-09-21 10:01 (UTC) (edited on 2024-10-06 06:58 (UTC) by kobe-koto)

FAQs

从低于 v1.2.2 的版本更新

LiteLoaderQQNT 1.2.2 已经发布!

因为安装方式变更, 本次更新需手动介入. 请全新安装 liteloader-qqnt AUR 包(-git -bin), 另推荐重新安装相关 linuxqq (or linuxqq-nt-bwrap) 包以确保 preload*.js 未被修改.

数据目录
  • 不推荐采用 /opt/LiteLoader/ 作为数据目录, 建议转向 ${XDG_CONFIG_HOME}/QQ/LiteLoaderQQNT/

Latest Comments

« First ‹ Previous 1 2 3 4 Next › Last »

yidaduizuoye commented on 2024-08-28 08:26 (UTC)

通过 linuxqq 这个包安装的 QQ,patch_liteloader_bwarp.sh 中应该执行/opt/QQ/qq --no-sandbox /opt/QQ/resources/app

同时,如果只生成相关 preload*.js 文件则需要删去

    --ro-bind /opt/QQ/workarounds/xdg-open.sh /usr/bin/xdg-open \
    --ro-bind /usr/lib/snapd-xdg-open/xdg-open /snapd-xdg-open \
    --ro-bind /usr/lib/flatpak-xdg-utils/xdg-open /flatpak-xdg-open \

kobe-koto commented on 2024-08-28 06:59 (UTC) (edited on 2024-08-28 06:59 (UTC) by kobe-koto)

liteloader-qqnt-bin 1.2.1-2 (liteloader-qqnt-git latest-3) 起应该不需要手动拷贝 preload*.js 文件了.

preload*.js 将会在安装后运行 post-transaction hook 时自动生成, 如有需要手动生成可以使用如下指令

sudo bash /opt/LiteLoaderQQNT/patching/patch_liteloader_bwarp.sh

shmilee commented on 2024-08-26 14:31 (UTC)

liteloader-qqnt 需要修改 linuxqq 文件,通过 hook 来实现,一个包修改另一个包的文件,感觉挺奇怪的。不清楚arch官方打包有没有这样的例子?我感觉应该没有。 我觉得最好两个软件包的维护者,交流一下,在linuxqq里留个可选的接口,主要就两个文件 app_launcher/index.js 和 linuxqq.sh,同时把 liteloader-qqnt 设置为可选依赖。

liteloader-qqnt 这边可以一起打包那几个 preload*.js 文件,放在source数组,压缩后体积很小的,这样就避免第一次启动需要root权限了,或者777问题。(不过打包者还是免不了需要运行一次才能得到这几个文件,临时找个目录放LiteLoaderQQNT框架,用不到root权限。同时也需要注意版本升级后,这几个文件是否一样的问题)

LITELOADERQQNT_PROFILE 打包时指定一个默认目录(在$HOME),同时也允许用户自己指定。 感觉官方也推荐 在用户$HOME存放用户的插件、数据(参考下面的评论,github上的回复)。不同qq号会用不同的插件,插件的数据也包含用户敏感信息。AUR上这些插件包,感觉可以删掉,插件留给框架自己管理也挺好。

我现在用的是自己打包的 linuxqq 和 LiteLoaderQQNT,考虑版本要求的问题,两个用了一个PKGBUILD,但QQ和框架还是分了两个包,把之前那些需要root或者777的操作,都避免掉了,统一在打包脚本处理好,顺便也修了个缺失 dir: plugin 的 bug。 大家有需要的话可以做个参考,在这 https://github.com/shmilee/scripts/tree/master/linuxqq

learturely commented on 2024-08-01 10:06 (UTC)

liteloader 的 init.js 的逻辑并不复杂,主要是将几个 QQ 的 preload*.js 文件前加了 LL 的preload.js 文件的内容之后,将其移到 QQ 的 application 目录下。

也许可以在 hook 中完成这步操作?我自己尝试了一下,不过由于不了解 electron,*.asar 文件解包后全是乱码,我也不晓得咋回事……

至于 LITELOADERQQNT_PROFILE 我觉得维护者可以直接指定,以避免手动操作。不过在 LL 支持 system-wide 插件前,这也阻止了插件的打包(毕竟不可能把包安装在家目录)。

只是一些个人想法,希望能有所帮助。

kobe-koto commented on 2024-07-31 12:56 (UTC) (edited on 2024-07-31 12:57 (UTC) by kobe-koto)

@TTsdzb

对于现阶段 AUR 上打包的插件,我们需要的是一个加载 system-wide 插件的功能,基于这个理念我重新开了一个 issues, 等待官方回复。

https://github.com/LiteLoaderQQNT/LiteLoaderQQNT/issues/366

TTsdzb commented on 2024-07-31 12:11 (UTC) (edited on 2024-07-31 12:15 (UTC) by TTsdzb)

我尝试在官方仓库的 issue 反馈了将插件与数据分开的相关问题。不知道我的表述是否有些问题,官方貌似不太愿意做这些。LITELOADERQQNT_PROFILE 目录下还有其他文件或目录需要读写,不好拆分;同时框架内置的插件安装会出问题。

另外,根据官网给出的安装器的文档来看,官方似乎只鼓励手动安装插件。

kobe-koto commented on 2024-07-31 02:57 (UTC) (edited on 2024-07-31 03:12 (UTC) by kobe-koto)

@learturely

私以为将数据目录放在软件包目录下是十分一种扭曲的行为,另外还有几点原因不推荐这样干:

  1. linuxqq-nt-bwrap 默认使用 ${QQ_APP_DIR}/LiteLoaderQQNT 而不是 /opt/LiteLoader/ 作为数据目录。

  2. 软件包目录权限不应为 0777, 即所有用户都可读写。

  3. 同时这种行为与系统的多用户逻辑相冲突。

推荐的解决方案:

  1. 将 LITELOADERQQNT_PROFILE 设定为 ${XDG_CONFIG_HOME}/QQ/LiteLoaderQQNT

  2. 干净安装 LiteLoaderQQNT 后第一次启动 LinuxQQ 时使用 root 用户运行(a little bit hackly but it worked)

最后有一点让我感到很疑惑: LiteLoaderQQNT 截止 v1.2.0 仍然没有做对 system-wide 插件的支持。(很久之前的版本倒是有,就是不知道为什么后来删掉了。)

TTsdzb commented on 2024-07-31 02:57 (UTC)

在 /usr/bin/linuxqq 中添加 export LITELOADERQQNT_PROFILE=/opt/LiteLoader/(旧数据所在,很多 aur 插件包似乎也用此目录)

插件包会将 /opt/LiteLoader 权限转换为 777。但由于插件包的路径还没有修改,因此会造成这个问题。

感觉这样做不太好,会导致系统上所有用户共享一份插件数据。但 LiteLoaderQQNT 尚未提供将数据和插件分开存放的功能。我目前的解决方法是手动指定 LITELOADERQQNT_PROFILE 到家目录内的路径下,再将 plugins 软链到正确的位置。

learturely commented on 2024-07-31 01:59 (UTC)

干净安装后无法运行,显示 mkdir /opt/LiteLoaderQQNT/data/LiteLoader 没有权限

  • 在 /usr/bin/linuxqq 中添加 export LITELOADERQQNT_PROFILE=/opt/LiteLoader/(旧数据所在,很多 aur 插件包似乎也用此目录)
  • 将生成的 /opt/LiteLoader/application/* 移至 /opt/QQ/resource/app/application 后可运行。

kobe-koto commented on 2024-07-30 13:36 (UTC) (edited on 2024-07-31 02:59 (UTC) by kobe-koto)

为避免与 AUR 上的其他名为 LiteLoader 的包产生冲突和误解,打包路径改变。因此,在从低于 v1.2.0 的版本更新时,请先卸载此包再重新安装。

如果你已经更新:

请手动将 /opt/QQ/resources/app/app_launcher/index.js 中的 require("/opt/LiteLoader"); 删去或改为 require("/opt/LiteLoaderQQNT");