脚本效果
脚本内容
#!/usr/bin/env bash # # wb-update-url.sh — 获取 WorkBuddy Linux 更新包(deb)的官方下载直链 # # 背景:WorkBuddy 官网下载区没有 Linux 入口,Linux 版更新源由客户端内置逻辑 # 调用,接口格式: # https://copilot.tencent.com/v2/update?platform=<平台>&version=<当前版本> # 其中 version 表示"当前已安装版本",接口返回最新版本信息;已是最新时返回空体。 # # 平台参数(本脚本按 /etc/os-release 自动探测): # UOS 系统 -> workbuddy-linux-uos- # 麒麟系统 -> workbuddy-linux-kylin- # 其他发行版 -> workbuddy-linux--deb (arch: x64 / arm64) # # 依赖:curl 必须;python3 / jq 任一用于解析 JSON(都没有时自动降级为 grep)。 set -euo pipefail API_BASE="${WORKBUDDY_UPDATE_API:-https://copilot.tencent.com/v2/update}" DOWNLOAD=0 OUTDIR="." PLATFORM_OVERRIDE="" REQUESTED_VERSION="" die() { echo "错误: $*" >&2; exit 1; } info() { echo "==> $*"; } usage() { cat <<'USAGE' 用法: wb-update-url.sh [选项] [版本号] 根据客户端提示的新版本号,获取 WorkBuddy Linux 更新包(deb)的官方下载直链。 参数: 版本号 客户端提示的新版本,如 5.5.6.38337834(可带 V 前缀)。 缺省时自动读取本机已安装的 workbuddy 版本。 选项: -d, --download 查询后直接下载安装包并校验完整性 (MD5 与腾讯云 COS 存储元数据比对) -o, --output-dir 下载保存目录(默认: 当前目录) -p, --platform 手动指定平台参数,默认按系统自动探测。 常用值: workbuddy-linux-x64-deb workbuddy-linux-arm64-deb workbuddy-linux-uos-x64 workbuddy-linux-kylin-x64 -h, --help 显示本帮助 环境变量: WORKBUDDY_UPDATE_API 更新接口地址 (默认: https://copilot.tencent.com/v2/update) 示例: ./wb-update-url.sh # 用已安装版本查询最新 deb 链接 ./wb-update-url.sh 5.5.6.38337834 # 用客户端提示的版本号查询 ./wb-update-url.sh -d V5.5.6.38337834 # 查询并下载到当前目录 ./wb-update-url.sh -p workbuddy-linux-uos-x64 # 手动指定平台 USAGE } # ---------------- 参数解析 ---------------- while [[ $# -gt 0 ]]; do case "$1" in -d|--download) DOWNLOAD=1 ;; -o|--output-dir) [[ $# -ge 2 ]] || die "$1 需要一个目录参数"; OUTDIR="$2"; shift ;; -p|--platform) [[ $# -ge 2 ]] || die "$1 需要一个平台参数"; PLATFORM_OVERRIDE="$2"; shift ;; -h|--help) usage; exit 0 ;; -*) die "未知选项: $1(用 -h 查看帮助)" ;; *) REQUESTED_VERSION="$1" ;; esac shift done # ---------------- 架构与发行版探测 ---------------- detect_arch() { case "$(uname -m)" in x86_64) echo "x64" ;; aarch64|arm64) echo "arm64" ;; *) die "不支持的 CPU 架构: $(uname -m)(可用 -p 手动指定平台参数)" ;; esac } detect_platform() { local arch os_id="" arch="$(detect_arch)" if [[ -r /etc/os-release ]]; then os_id="$(. /etc/os-release && echo "${ID:-}" | tr '[:upper:]' '[:lower:]')" fi case "$os_id" in uos) echo "workbuddy-linux-uos-${arch}" ;; kylin) echo "workbuddy-linux-kylin-${arch}" ;; *) echo "workbuddy-linux-${arch}-deb" ;; esac } # ---------------- 更新源查询 ---------------- # 用法: api_query
厉害
👍
已用上 5.6.2 Linux版
感谢,终于找到安装包了
This script is really helpful for getting new packages.
官网开下载了😂 ,以后可以直接下载了
Featured Collection
Popular Events
脚本效果

脚本内容