From d4a9f8c6ec3fa7154b2ae0ef531a28daa6ceaf51 Mon Sep 17 00:00:00 2001 From: "Dr. YFish" <261328128+dryfish09@users.noreply.github.com> Date: Sat, 22 Aug 2026 18:53:39 +0700 Subject: [PATCH 1/3] Update 0300-zalo-unoffical.hook.chroot --- .../live/0300-zalo-unoffical.hook.chroot | 147 ++++++++++++++---- 1 file changed, 114 insertions(+), 33 deletions(-) diff --git a/config/hooks/live/0300-zalo-unoffical.hook.chroot b/config/hooks/live/0300-zalo-unoffical.hook.chroot index ce51e49..22cc601 100755 --- a/config/hooks/live/0300-zalo-unoffical.hook.chroot +++ b/config/hooks/live/0300-zalo-unoffical.hook.chroot @@ -1,54 +1,135 @@ #!/usr/bin/env bash -echo "Cài Zalo..." set -e +# === Cấu hình === APP_NAME="Zalo" -APPIMAGE_URL="https://github.com/hthienloc/zalo-for-linux/releases/download/26.5.10/Zalo-26.5.10+ZaDark-26.2-5051532.AppImage" - +APP_VERSION="26.5.10" +APPIMAGE_URL="https://github.com/hthienloc/zalo-for-linux/releases/download/${APP_VERSION}/Zalo-${APP_VERSION}+ZaDark-26.2-5051532.AppImage" INSTALL_DIR="/usr/local/bin" -APPIMAGE_PATH="$INSTALL_DIR/Zalo.AppImage" - +APPIMAGE_PATH="${INSTALL_DIR}/Zalo-${APP_VERSION}.AppImage" DESKTOP_FILE="/usr/share/applications/zalo.desktop" ICON_PATH="/usr/share/pixmaps/zalo.png" -echo "==> Kiểm tra quyền root" +# === Màu sắc cho output === +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[0;33m' +NC='\033[0m' # No Color -if [ "$EUID" -ne 0 ]; then - echo "Vui lòng chạy bằng sudo" +error() { + echo -e "${RED}[LỖI]${NC} $1" >&2 exit 1 +} + +warn() { + echo -e "${YELLOW}[CẢNH BÁO]${NC} $1" +} + +success() { + echo -e "${GREEN}[OK]${NC} $1" +} + +echo -e "${GREEN}==> Cài đặt Zalo cho Linux${NC}" + +# === Kiểm tra root === +if [ "$EUID" -ne 0 ]; then + error "Vui lòng chạy bằng sudo hoặc root" +fi + +# === Kiểm tra dependencies === +for cmd in wget; do + if ! command -v "$cmd" &>/dev/null; then + error "Lệnh '$cmd' không tìm thấy. Vui lòng cài đặt: apt install wget (Debian/Ubuntu)" + fi +done + +# === Kiểm tra file cũ === +if [ -f "$APPIMAGE_PATH" ]; then + warn "File AppImage đã tồn tại tại $APPIMAGE_PATH" + read -p "Bạn có muốn ghi đè? (y/N): " -n 1 -r + echo + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + error "Hủy cài đặt theo yêu cầu" + fi fi -echo "==> Tạo thư mục" -mkdir -p "$INSTALL_DIR" +# === Tạo thư mục === +echo "==> Tạo thư mục..." +mkdir -p "$INSTALL_DIR" || error "Không thể tạo thư mục $INSTALL_DIR" -echo "==> Tải AppImage" -wget -O "$APPIMAGE_PATH" "$APPIMAGE_URL" +# === Tải AppImage với kiểm tra === +echo "==> Tải AppImage từ GitHub..." +if ! wget -q --show-progress -O "$APPIMAGE_PATH" "$APPIMAGE_URL"; then + error "Không thể tải AppImage từ $APPIMAGE_URL" +fi -echo "==> Cấp quyền thực thi" -chmod +x "$APPIMAGE_PATH" +# Kiểm tra file tải về +if [ ! -s "$APPIMAGE_PATH" ]; then + error "File tải về bị rỗng hoặc lỗi" +fi -echo "==> Tải icon" -wget -O "$ICON_PATH" "https://upload.wikimedia.org/wikipedia/commons/9/91/Icon_of_Zalo.svg" +# === Cấp quyền thực thi === +echo "==> Cấp quyền thực thi..." +chmod +x "$APPIMAGE_PATH" || error "Không thể cấp quyền thực thi" + +# === Tải icon === +echo "==> Tải icon..." +if ! wget -q --show-progress -O "$ICON_PATH" "https://upload.wikimedia.org/wikipedia/commons/9/91/Icon_of_Zalo.svg"; then + warn "Không thể tải icon từ Wikimedia. Sử dụng icon dự phòng" + # Fallback: Tạo icon đơn giản từ system + convert -size 128x128 xc:blue -fill white -draw "text 20,70 'Z'" "$ICON_PATH" 2>/dev/null || true +fi -echo "==> Tạo shortcut .desktop" +# === Tạo .desktop file === +echo "==> Tạo shortcut .desktop..." +{ + echo "[Desktop Entry]" + echo "Name=Zalo" + echo "Comment=Ứng dụng nhắn tin Zalo" + echo "Exec=$APPIMAGE_PATH --no-sandbox" + echo "Icon=$ICON_PATH" + echo "Terminal=false" + echo "Type=Application" + echo "Categories=Network;InstantMessaging;" + echo "StartupNotify=true" + echo "StartupWMClass=Zalo" +} > "$DESKTOP_FILE" || error "Không thể tạo desktop file" -cat > "$DESKTOP_FILE" < Cập nhật database ứng dụng..." +if command -v update-desktop-database &>/dev/null; then + update-desktop-database /usr/share/applications 2>/dev/null || warn "Không thể cập nhật database" +else + warn "update-desktop-database không có sẵn. Bỏ qua bước này." +fi -echo "==> Cập nhật database ứng dụng" -update-desktop-database /usr/share/applications 2>/dev/null || true +# === Kiểm tra tính tương thích === +echo "==> Kiểm tra tương thích..." +if [ -f "$APPIMAGE_PATH" ]; then + # Kiểm tra file thực thi + if file "$APPIMAGE_PATH" | grep -q "ELF"; then + success "AppImage hợp lệ" + else + warn "AppImage có thể không tương thích với hệ thống này" + fi +fi +# === Hoàn tất === +echo "" +echo "===================================" +echo -e "${GREEN}Cài đặt hoàn tất!${NC}" +echo "===================================" +echo -e "📦 Đường dẫn: $APPIMAGE_PATH" +echo -e "🖼️ Icon: $ICON_PATH" +echo -e "🚀 Shortcut: $DESKTOP_FILE" echo "" -echo "Cài đặt hoàn tất." -echo "Mở Zalo từ taskbar hoặc menu ứng dụng." +echo -e "${GREEN}✓${NC} Mở Zalo từ taskbar hoặc menu ứng dụng" +echo -e "Hoặc chạy: ${YELLOW}$APPIMAGE_PATH${NC}" +echo "" +echo -e "${YELLOW}Lưu ý:${NC} Nếu không chạy được, thử thêm --no-sandbox" +echo "===================================" + +# === Thoát với mã thành công === +exit 0 From c460f72e744d34b5e037f7e1e62325e7213c0470 Mon Sep 17 00:00:00 2001 From: "Dr. YFish" <261328128+dryfish09@users.noreply.github.com> Date: Sat, 22 Aug 2026 20:02:50 +0700 Subject: [PATCH 2/3] feat: update zalo install source :) --- config/hooks/live/0300-zalo-unoffical.hook.chroot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/hooks/live/0300-zalo-unoffical.hook.chroot b/config/hooks/live/0300-zalo-unoffical.hook.chroot index 22cc601..7c16972 100755 --- a/config/hooks/live/0300-zalo-unoffical.hook.chroot +++ b/config/hooks/live/0300-zalo-unoffical.hook.chroot @@ -3,8 +3,8 @@ set -e # === Cấu hình === APP_NAME="Zalo" -APP_VERSION="26.5.10" -APPIMAGE_URL="https://github.com/hthienloc/zalo-for-linux/releases/download/${APP_VERSION}/Zalo-${APP_VERSION}+ZaDark-26.2-5051532.AppImage" +APP_VERSION="26.8.10" +APPIMAGE_URL="https://github.com/doandat943/zalo-for-linux/releases/tag/{APP_VERSION}/Zalo-{APP_VERSION}+ZaDark-26.2.1-66ebe8a.AppImage" INSTALL_DIR="/usr/local/bin" APPIMAGE_PATH="${INSTALL_DIR}/Zalo-${APP_VERSION}.AppImage" DESKTOP_FILE="/usr/share/applications/zalo.desktop" From fe21b592dd1923c1492bb31a5b1fef28c1c9f5ee Mon Sep 17 00:00:00 2001 From: "Dr. YFish" <261328128+dryfish09@users.noreply.github.com> Date: Sat, 22 Aug 2026 20:19:46 +0700 Subject: [PATCH 3/3] fix: syntax error (attempt 1) --- config/hooks/live/0300-zalo-unoffical.hook.chroot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/hooks/live/0300-zalo-unoffical.hook.chroot b/config/hooks/live/0300-zalo-unoffical.hook.chroot index 7c16972..ce2df6c 100755 --- a/config/hooks/live/0300-zalo-unoffical.hook.chroot +++ b/config/hooks/live/0300-zalo-unoffical.hook.chroot @@ -4,7 +4,7 @@ set -e # === Cấu hình === APP_NAME="Zalo" APP_VERSION="26.8.10" -APPIMAGE_URL="https://github.com/doandat943/zalo-for-linux/releases/tag/{APP_VERSION}/Zalo-{APP_VERSION}+ZaDark-26.2.1-66ebe8a.AppImage" +APPIMAGE_URL="https://github.com/doandat943/zalo-for-linux/releases/tag/$APP_VERSION/Zalo-$APP_VERSION+ZaDark-26.2.1-66ebe8a.AppImage" INSTALL_DIR="/usr/local/bin" APPIMAGE_PATH="${INSTALL_DIR}/Zalo-${APP_VERSION}.AppImage" DESKTOP_FILE="/usr/share/applications/zalo.desktop"