diff --git a/setup_cups.sh b/setup_cups.sh index fe28e89..a5fc888 100755 --- a/setup_cups.sh +++ b/setup_cups.sh @@ -507,19 +507,21 @@ install_pantum_driver() { local arch=$(dpkg --print-architecture) info "检测到系统架构: $arch" - # 奔图驱动下载地址 (通用Linux驱动) - local pantum_url="" - local pantum_file="" + # 奔图驱动下载地址 (GitHub镜像,官网有防盗链限制) + # 官网链接无法直接wget下载,使用社区镜像 + local pantum_url="https://github.com/ArticExploit/pantum-driver/releases/download/1.1.123/Pantum.Ubuntu.Driver.V1_1_123.zip" + local pantum_backup_url="https://raw.githubusercontent.com/ArticExploit/pantum-driver/main/Pantum.Ubuntu.Driver.V1_1_123.zip" + # 检查架构是否支持 (奔图官方驱动仅支持x86架构) case $arch in - arm64|aarch64) - pantum_url="https://drivers.pantum.com/userfiles/files/download/drive/Pantum%20Ubuntu%20Driver%20V1_1_123_1.zip" + amd64|x86_64|i386) + # x86架构支持 ;; - armhf|arm) - pantum_url="https://drivers.pantum.com/userfiles/files/download/drive/Pantum%20Ubuntu%20Driver%20V1_1_123_1.zip" - ;; - amd64|x86_64) - pantum_url="https://drivers.pantum.com/userfiles/files/download/drive/Pantum%20Ubuntu%20Driver%20V1_1_123_1.zip" + arm64|aarch64|armhf|arm) + warn "奔图官方驱动不支持ARM架构 ($arch)" + warn "ARM设备可尝试使用通用驱动或IPP Everywhere协议" + warn "如果打印机支持网络打印,可尝试使用driverless方式添加" + return 1 ;; *) warn "不支持的架构: $arch,跳过奔图驱动安装" @@ -532,11 +534,34 @@ install_pantum_driver() { cd "$tmp_dir" info "下载奔图驱动..." - if ! wget -q --show-progress -O pantum_driver.zip "$pantum_url"; then + local download_success=false + + # 尝试主下载链接 + if wget -q --show-progress -O pantum_driver.zip "$pantum_url" 2>/dev/null; then + # 验证下载的文件是否为有效zip + if file pantum_driver.zip | grep -q "Zip archive"; then + download_success=true + else + warn "主链接下载的文件无效,尝试备用链接..." + rm -f pantum_driver.zip + fi + fi + + # 尝试备用链接 + if [ "$download_success" = false ] && [ -n "$pantum_backup_url" ]; then + info "尝试备用下载链接..." + if wget -q --show-progress -O pantum_driver.zip "$pantum_backup_url" 2>/dev/null; then + if file pantum_driver.zip | grep -q "Zip archive"; then + download_success=true + fi + fi + fi + + if [ "$download_success" = false ]; then warn "下载奔图驱动失败,尝试备用方案..." # 备用: 直接安装依赖,用户手动下载驱动 apt install -y libcups2 libcupsimage2 - warn "请手动从 https://www.pantum.com 下载驱动并安装" + warn "请手动从 https://global.pantum.com/support/download/driver/ 下载驱动并安装" cd - > /dev/null rm -rf "$tmp_dir" return 1 @@ -566,7 +591,7 @@ install_pantum_driver() { success "奔图驱动安装完成" else warn "未找到适合的驱动包" - warn "请手动从 https://www.pantum.com 下载驱动" + warn "请手动从 https://global.pantum.com/support/download/driver/ 下载驱动" fi # 清理