From e60fdd694208a93939e393b7f77ceebc706b8ecf Mon Sep 17 00:00:00 2001 From: KZ25T Date: Mon, 22 Apr 2024 14:19:02 +0800 Subject: [PATCH] init repo --- README.md | 85 ++++++++++++++++++ src/AppRun | 85 ++++++++++++++++++ src/etc/.kyact | 5 ++ src/etc/LICENSE | 19 ++++ src/etc/lsb-release | 7 ++ src/etc/os-release | 6 ++ src/usr/share/applications/wechat.desktop | 9 ++ .../icons/hicolor/256x256/apps/wechat.png | Bin 0 -> 24035 bytes src/wechat.desktop | 8 ++ src/wechat.png | Bin 0 -> 24035 bytes 10 files changed, 224 insertions(+) create mode 100644 README.md create mode 100755 src/AppRun create mode 100644 src/etc/.kyact create mode 100644 src/etc/LICENSE create mode 100644 src/etc/lsb-release create mode 100644 src/etc/os-release create mode 100644 src/usr/share/applications/wechat.desktop create mode 100644 src/usr/share/icons/hicolor/256x256/apps/wechat.png create mode 100755 src/wechat.desktop create mode 100644 src/wechat.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..1bd2ec1 --- /dev/null +++ b/README.md @@ -0,0 +1,85 @@ +# 微信 AppImage + +使用 AppImage 运行 Linux 原生微信 + +- 无需安装 +- 规避原微信的不可卸载特性 +- 无需更改系统的 `lsb-release` 等 `/etc` 内的文件 +- 无需 sudo +- 限制读写目录,以防在操作系统里到处乱放文件 + +## 使用前提 + +- 需要安装 bwrap(常见发行版都有) +- 需要有 XDG 用户目录(常见发行版都有) + - 查看 `~/.config/user-dirs.dirs`(必须有这个文件) + - 里面要有 `XDG_DESKTOP_DIR`、`XDG_DOWNLOAD_DIR` 和 `XDG_DOCUMENTS_DIR` + - 运行时,在用户目录下,微信只能读写这三个目录、微信数据库文件(放在 `${XDG_DOCUMENTS_DIR}/xwechat_files` 下,原生微信是 `~/xwechat_files`)、微信配置文件(`~/.xwechat`)和字体配置文件。 + +## 获取 AppImage 文件 + +### 从 release 下载 + +在本仓库 release 下载 x86_64 版,该版本基于[吾爱破解](https://www.52pojie.cn/thread-1896902-1-1.html)给出的 238 版构建。下载后记得给执行权限。 + +### 自行构建 + +以下构建方式仅测试过 238 的 x86_64 版。 + +下载本仓库,同时下载一个微信 Linux 版本的 deb 包。 + +解包 deb,移植文件: + +```bash +# pwd 为仓库根目录 +dpkg -X your_wechat.deb /tmp/out +cp -r /tmp/out/opt src # 大部分文件 +cp -r /tmp/out/usr/lib src/usr # 应该只有 libactivation.so +``` + +安装 appimagetool(自己上网搜) + +打包 appimage: + +```bash +# pwd 为仓库根目录上一级 +appimagetool ./wechat-appimage +``` + +可以取得 `wechat-x86_64.AppImage` + +## 运行方法 + +已经测试在 Debian 和 kali 运行过。 + +注:实际测试中有极少时候第一次扫码之后没反应,此时可以关闭重新启动扫码。 + +### 简单运行 + +直接双击此文件或者命令行启动即可。 + +### 安装运行 + +```bash +sudo mv wechat-x86_64.AppImage /usr/bin/wechat +sudo wechat --install # 安装图标 +``` + +然后你可以在桌面添加类似的启动器图标。 + +### 更多功能 + +```bash +# 帮助 +wechat-x86_64.AppImage --help +# 进入 bwrap 的 shell(bash) +wechat-x86_64.AppImage --debug +# 关闭微信进程(早期版本无法退出,现在应该没了) +wechat-x86_64.AppImage --kill +# 安装图标 +sudo wechat-x86_64.AppImage --install +``` + +## 声明 + +未经过严格测试,使用本仓库造成的一切后果由使用者负责。 diff --git a/src/AppRun b/src/AppRun new file mode 100755 index 0000000..705a167 --- /dev/null +++ b/src/AppRun @@ -0,0 +1,85 @@ +#!/bin/bash +export PATH="$APPDIR/opt/wechat-beta:$PATH" +export LD_LIBRARY_PATH="$APPDIR/opt/wechat-beta:$APPDIR/usr/lib" +export LANG=zh_CN.UTF-8 +EXEC="wechat" +if [ $# -eq 1 ]; then + if [ "$1" = "help" -o "$1" = "--help" ]; then + echo "Run wechat without options" + echo "Options:" + echo " --debug return a shell but not wechat" + echo " --kill to kill wechat process" + echo " --install(root required) to install desktop file to /usr/share/applications" + exit $? + fi + if [ "$1" = "--debug" ]; then + EXEC="bash" + fi + if [ "$1" = "--kill" ]; then + kill $(ps -e | grep wechat | grep -v "wechat-" | awk '{print $1}') + exit $? + fi + if [ "$1" = "--install" ]; then + cp $APPDIR/usr/share/applications/wechat.desktop /usr/share/applications + cp $APPDIR/usr/share/icons/hicolor/256x256/apps/wechat.png /usr/share/icons/hicolor/256x256/apps + exit $? + fi +fi +# wechat-beta only support xcb +BWRAP_ENV_APPEND="--setenv QT_QPA_PLATFORM xcb " +if [ -z ${QT_IM_MODULE} ]; then + BWRAP_ENV_APPEND="${BWRAP_ENV_APPEND} --setenv QT_IM_MODULE fcitx" +fi +if [ -z ${GTK_USE_PORTAL} ]; then + BWRAP_ENV_APPEND="${BWRAP_ENV_APPEND} --setenv GTK_USE_PORTAL 1" +fi +# append user config file +BWRAP_FILE_APPEND="" +if [ -e ~/.config/user-dirs.dirs ]; then + source ~/.config/user-dirs.dirs + WECHAT_CFG_DIR=${XDG_DOCUMENTS_DIR}/xwechat_files + mkdir -p ${WECHAT_CFG_DIR} + BWRAP_FILE_APPEND="${BWRAP_FILE_APPEND} --bind ${XDG_DESKTOP_DIR} ${XDG_DESKTOP_DIR} " + BWRAP_FILE_APPEND="${BWRAP_FILE_APPEND} --bind ${XDG_DOCUMENTS_DIR} ${XDG_DOCUMENTS_DIR} " + BWRAP_FILE_APPEND="${BWRAP_FILE_APPEND} --bind ${XDG_DOWNLOAD_DIR} ${XDG_DOWNLOAD_DIR} " + BWRAP_FILE_APPEND="${BWRAP_FILE_APPEND} --bind ${WECHAT_CFG_DIR} $HOME/xwechat_files " +else + echo ">>>>> WARNING: no xdg config file (~/.config/user-dirs.dirs) found." + echo ">>>>> YOU SHOULD CONFIG IT but now wechat will try continue to run." +fi +FONT1=$HOME/.cache/fontconfig +FONT2=$HOME/.config/fontconfig +if [ -e ${FONT1} ]; then + BWRAP_FILE_APPEND="${BWRAP_FILE_APPEND} --bind ${FONT1} ${FONT1} " +fi +if [ -e ${FONT2} ]; then + BWRAP_FILE_APPEND="${BWRAP_FILE_APPEND} --bind ${FONT2} ${FONT2} " +fi +mkdir -p $HOME/.xwechat +bwrap --die-with-parent \ + --ro-bind / / \ + --tmpfs /sys --tmpfs /home --tmpfs /etc --proc /proc \ + --tmpfs /run --tmpfs /usr/lib --tmpfs /tmp --dev /dev \ + --ro-bind $APPDIR $APPDIR \ + --ro-bind $APPDIR/etc/os-release /etc/os-release \ + --ro-bind $APPDIR/etc/lsb-release /etc/lsb-release \ + --ro-bind $APPDIR/etc/.kyact /etc/.kyact \ + --ro-bind $APPDIR/etc/LICENSE /etc/LICENSE \ + --ro-bind /etc/alternatives /etc/alternatives \ + --ro-bind /etc/fonts /etc/fonts \ + --ro-bind /etc/hostname /etc/hostname \ + --ro-bind /etc/hosts /etc/hosts \ + --ro-bind /etc/ld.so.cache /etc/ld.so.cache \ + --ro-bind /etc/localtime /etc/localtime \ + --ro-bind /etc/passwd /etc/passwd \ + --ro-bind /etc/resolv.conf /etc/resolv.conf \ + --ro-bind $APPDIR/usr/lib/libactivation.so /usr/lib/libactivation.so \ + --ro-bind /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu \ + --ro-bind /usr/lib/udev /usr/lib/udev \ + --ro-bind /run/user/$UID /run/user/$UID \ + --bind $HOME/.xwechat $HOME/.xwechat \ + ${BWRAP_FILE_APPEND} \ + ${BWRAP_ENV_APPEND} \ + ${EXEC} +# refer: https://blog.lilydjwg.me/2021/8/12/using-bwrap.215869.html +# refer: https://github.com/lfift/wechat-beta-bwrap/blob/main/wechat.sh diff --git a/src/etc/.kyact b/src/etc/.kyact new file mode 100644 index 0000000..5af4b92 --- /dev/null +++ b/src/etc/.kyact @@ -0,0 +1,5 @@ +systemuuid=25ef0280-ec82-42b0-8fb6-10adccc67c02 +netmac=00:07:3e:9c:2e:43 +registernum=WCYU-3AS2-Q7LP-HWH6-SJPZ +serialnum=27734012 +harddisk=WDC-PC-SN530-SDBPNPZ-512G_204485805972 diff --git a/src/etc/LICENSE b/src/etc/LICENSE new file mode 100644 index 0000000..b795523 --- /dev/null +++ b/src/etc/LICENSE @@ -0,0 +1,19 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +TO:麒麟软件内部版本 +SERIAL:100000 +TERM:2021-08-29 +CLASS:desktop +VERSION:Desktop +PLATFORM:x86_64 +OSNAME:Kylin V10 SP1 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iJwEAQECAAYFAmEDwk8ACgkQLRr+uL6cqPu6xAP/QRty0END7q0VxbbwgoKYefHk +VJF9F7SFSU5FGVUyR0pLmKzAMAmi+9xhbGw5tGp2XLIBOJHayK6TGhdpgvP+wT6s +0QLrh3c7HZhM0maoo6ZNR07bYzXXPcrMt6qTgaSRQnV+zfARn9+e2Ub5xfBfphtk +KHL1Nd4NRj0aICyjlys= +=6SEp +-----END PGP SIGNATURE----- diff --git a/src/etc/lsb-release b/src/etc/lsb-release new file mode 100644 index 0000000..25aaa17 --- /dev/null +++ b/src/etc/lsb-release @@ -0,0 +1,7 @@ +DISTRIB_ID=Kylin +DISTRIB_RELEASE=V10 +DISTRIB_CODENAME=kylin +DISTRIB_DESCRIPTION="Kylin V10 SP1" +DISTRIB_KYLIN_RELEASE=V10 +DISTRIB_VERSION_TYPE=enterprise +DISTRIB_VERSION_MODE=normal diff --git a/src/etc/os-release b/src/etc/os-release new file mode 100644 index 0000000..b67486e --- /dev/null +++ b/src/etc/os-release @@ -0,0 +1,6 @@ +NAME="Kylin Linux Advanced Server" +VERSION="V10 (Tercel)" +ID="kylin" +VERSION_ID="V10" +PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)" +ANSI_COLOR="0;31" diff --git a/src/usr/share/applications/wechat.desktop b/src/usr/share/applications/wechat.desktop new file mode 100644 index 0000000..c534cfc --- /dev/null +++ b/src/usr/share/applications/wechat.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=微信 +Exec=wechat %U +StartupNotify=true +Terminal=false +Icon=/usr/share/icons/hicolor/256x256/apps/wechat.png +Type=Application +Categories=Utility; +Comment=微信桌面版 diff --git a/src/usr/share/icons/hicolor/256x256/apps/wechat.png b/src/usr/share/icons/hicolor/256x256/apps/wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..9133e9f89120f50ed981b77f8e2641e5a7f30b6b GIT binary patch literal 24035 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 literal 0 HcmV?d00001 diff --git a/src/wechat.desktop b/src/wechat.desktop new file mode 100755 index 0000000..f735bff --- /dev/null +++ b/src/wechat.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=wechat +StartupNotify=true +Terminal=false +Icon=wechat +Type=Application +Categories=Utility; +Comment=微信桌面版 diff --git a/src/wechat.png b/src/wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..9133e9f89120f50ed981b77f8e2641e5a7f30b6b GIT binary patch literal 24035 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 literal 0 HcmV?d00001