fix: 修复奔图驱动下载失败问题

- 奔图官网有CDN防盗链,wget直接下载返回403错误页面
- 更换为GitHub社区镜像下载地址
- 添加下载文件有效性验证(检查是否为真正的zip文件)
- 添加备用下载链接自动重试机制
- 明确提示ARM架构不支持奔图官方驱动
- 更新手动下载提示链接

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-01 09:25:48 +08:00
parent 24c49cdf2f
commit 2c8f0162fd

View File

@@ -507,19 +507,21 @@ install_pantum_driver() {
local arch=$(dpkg --print-architecture) local arch=$(dpkg --print-architecture)
info "检测到系统架构: $arch" info "检测到系统架构: $arch"
# 奔图驱动下载地址 (通用Linux驱动) # 奔图驱动下载地址 (GitHub镜像官网有防盗链限制)
local pantum_url="" # 官网链接无法直接wget下载使用社区镜像
local pantum_file="" 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 case $arch in
arm64|aarch64) amd64|x86_64|i386)
pantum_url="https://drivers.pantum.com/userfiles/files/download/drive/Pantum%20Ubuntu%20Driver%20V1_1_123_1.zip" # x86架构支持
;; ;;
armhf|arm) arm64|aarch64|armhf|arm)
pantum_url="https://drivers.pantum.com/userfiles/files/download/drive/Pantum%20Ubuntu%20Driver%20V1_1_123_1.zip" warn "奔图官方驱动不支持ARM架构 ($arch)"
;; warn "ARM设备可尝试使用通用驱动或IPP Everywhere协议"
amd64|x86_64) warn "如果打印机支持网络打印可尝试使用driverless方式添加"
pantum_url="https://drivers.pantum.com/userfiles/files/download/drive/Pantum%20Ubuntu%20Driver%20V1_1_123_1.zip" return 1
;; ;;
*) *)
warn "不支持的架构: $arch,跳过奔图驱动安装" warn "不支持的架构: $arch,跳过奔图驱动安装"
@@ -532,11 +534,34 @@ install_pantum_driver() {
cd "$tmp_dir" cd "$tmp_dir"
info "下载奔图驱动..." 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 "下载奔图驱动失败,尝试备用方案..." warn "下载奔图驱动失败,尝试备用方案..."
# 备用: 直接安装依赖,用户手动下载驱动 # 备用: 直接安装依赖,用户手动下载驱动
apt install -y libcups2 libcupsimage2 apt install -y libcups2 libcupsimage2
warn "请手动从 https://www.pantum.com 下载驱动并安装" warn "请手动从 https://global.pantum.com/support/download/driver/ 下载驱动并安装"
cd - > /dev/null cd - > /dev/null
rm -rf "$tmp_dir" rm -rf "$tmp_dir"
return 1 return 1
@@ -566,7 +591,7 @@ install_pantum_driver() {
success "奔图驱动安装完成" success "奔图驱动安装完成"
else else
warn "未找到适合的驱动包" warn "未找到适合的驱动包"
warn "请手动从 https://www.pantum.com 下载驱动" warn "请手动从 https://global.pantum.com/support/download/driver/ 下载驱动"
fi fi
# 清理 # 清理