Files
LiteLoaderQQNT_Install/install_mac.sh
T
2024-01-21 22:35:33 +08:00

95 lines
3.5 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
echo "请输入您的密码以提升权限:"
sudo -v
echo "正在拉取最新版本的仓库..."
cd /tmp
rm -rf LiteLoader
git clone https://github.com/LiteLoaderQQNT/LiteLoaderQQNT.git LiteLoader
# 移动到安装目录
echo "拉取完成,正在安装LiteLoader..."
sudo cp -f LiteLoader/src/preload.js /Applications/QQ.app/Contents/Resources/app/application/preload.js
# 如果目标目录存在且不为空,则先备份处理
if [ -e "$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader" ]; then
# 删除上次的备份
rm -rf "$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader_bak"
# 将已存在的目录重命名为LiteLoader_bak
mv "$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader" "$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader_bak"
echo "已将原LiteLoader目录备份为LiteLoader_bak"
fi
# 移动LiteLoader
mv -f LiteLoader $HOME/Library/Containers/com.tencent.qq/Data/Documents/
# 如果LiteLoader_bak中存在plugins文件夹,则复制到新的LiteLoader目录
if [ -d "$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader_bak/plugins" ]; then
cp -r "$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader_bak/plugins" "$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader/"
echo "已将 LiteLoader_bak 中旧插件Plugins复制到新的 LiteLoader 目录"
fi
# 如果LiteLoader_bak中存在data文件夹,则复制到新的LiteLoader目录
if [ -d "$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader_bak/data" ]; then
cp -r "$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader_bak/data" "$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader/"
echo "已将 LiteLoader_bak 中旧数据文件data复制到新的 LiteLoader 目录"
fi
# 是否为插件目录创建软连接
read -p "是否为插件目录创建软连接方便安装插件 (y/N): " create_symlink
if [ "$create_symlink" = "y" ] || [ "$create_symlink" = "Y" ]; then
# 自定义插件,默认为~/Downloads/plugins
read -p "请输入LiteLoader插件目录(默认为$HOME/Downloads/plugins): " custompluginsDir
pluginsDir=${custompluginsDir:-"$HOME/Downloads"}
echo "插件目录: $pluginsDir"
# 创建pluginsDir目录
if [ ! -d "$pluginsDir" ]; then
mkdir -p "$pluginsDir"
echo "已创建插件目录: $pluginsDir"
fi
# 创建软连接
liteLoaderPluginsDir="$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader/plugins"
if [ ! -d "$liteLoaderPluginsDir" ]; then
mkdir -p "$liteLoaderPluginsDir"
fi
sudo ln -s "$liteLoaderPluginsDir" "$pluginsDir"
echo "已为插件目录创建软连接到 $pluginsDir"
fi
# 进入安装目录
cd /Applications/QQ.app/Contents/Resources/app/app_launcher
# 修改index.json
echo "正在修补index.json..."
# 检查是否已存在相同的修改
if grep -q "require('$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader');" index.js; then
echo "index.json 已包含相同的修改,无需再次修改。"
else
# 如果不存在,则进行修改
sudo sed -i '' -e "1i\\
require('$HOME/Library/Containers/com.tencent.qq/Data/Documents/LiteLoader');\
" -e '$a\' index.js
echo "已修补 index.json。"
fi
echo "安装完成!脚本将在3秒后退出..."
# 清理临时文件
rm -rf /tmp/LiteLoader
# 错误处理
if [ $? -ne 0 ]; then
echo "发生错误,安装失败"
exit 1
fi
# 等待3秒后退出
sleep 3
exit 0