mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
Skip release checksum verification in installer
This commit is contained in:
@@ -86,7 +86,7 @@ curl -fsSL https://raw.githubusercontent.com/fawney19/Aether/aether-rust-pioneer
|
||||
```
|
||||
|
||||
运行后按提示输入语言、版本和部署方式。固定安装某个 tag 时,版本选择选 `2`,再输入类似 `v0.7.0-rc23` 的 tag。默认会安装最新预发布版本;Docker Compose 模式默认使用 `pre` 镜像通道。
|
||||
systemd 二进制安装在下载 Release 压缩包前会询问是否使用下载加速源;选择使用时会先打印原始 GitHub URL,再要求输入新的压缩包下载 URL。非交互式安装可用 `AETHER_RELEASE_ARCHIVE_URL` 指定压缩包 URL,用 `AETHER_RELEASE_CHECKSUM_URL` 指定 `SHA256SUMS` URL。
|
||||
systemd 二进制安装在下载 Release 压缩包前会询问是否使用下载加速源;选择使用时会先打印原始 GitHub URL,再要求输入新的压缩包下载 URL。非交互式安装可用 `AETHER_RELEASE_ARCHIVE_URL` 指定压缩包 URL。
|
||||
如果安装目录里已经有配置,脚本会优先复用:Docker Compose 保留已有 `.env`,systemd 保留已有 `/etc/aether/aether-gateway.env`。只有首次生成新配置时才会提示输入管理员密码。
|
||||
|
||||
```text
|
||||
|
||||
64
install.sh
64
install.sh
@@ -28,7 +28,6 @@ GENERATED_ENV=""
|
||||
ADMIN_PASSWORD_SOURCE=""
|
||||
UI_LANG="${AETHER_LANG:-${AETHER_LANGUAGE:-auto}}"
|
||||
RELEASE_ARCHIVE_URL="${AETHER_RELEASE_ARCHIVE_URL:-${AETHER_DOWNLOAD_URL:-}}"
|
||||
RELEASE_CHECKSUM_URL="${AETHER_RELEASE_CHECKSUM_URL:-}"
|
||||
|
||||
usage() {
|
||||
cat <<'EOF'
|
||||
@@ -49,7 +48,6 @@ Options:
|
||||
--source-ref REF Source branch/tag used for compose templates (default: aether-rust-pioneer)
|
||||
--archive PATH Install from a local release tarball instead of downloading
|
||||
--download-url URL Download the release archive from this URL instead of GitHub
|
||||
--checksum-url URL Download SHA256SUMS from this URL instead of GitHub
|
||||
--env-file PATH Use an existing aether-gateway.env file
|
||||
--install-root PATH Install root (default: /opt/aether)
|
||||
--compose-dir PATH Docker Compose deployment directory (default: /opt/aether/compose)
|
||||
@@ -61,7 +59,7 @@ Options:
|
||||
Environment overrides:
|
||||
AETHER_REPO, AETHER_SOURCE_REF, AETHER_INSTALL_MODE, AETHER_CHANNEL, AETHER_VERSION
|
||||
AETHER_LANG or AETHER_LANGUAGE
|
||||
AETHER_RELEASE_ARCHIVE_URL or AETHER_DOWNLOAD_URL, AETHER_RELEASE_CHECKSUM_URL
|
||||
AETHER_RELEASE_ARCHIVE_URL or AETHER_DOWNLOAD_URL
|
||||
AETHER_IMAGE_REPO, AETHER_APP_IMAGE
|
||||
INSTALL_ROOT, AETHER_COMPOSE_DIR, CONFIG_DIR, SERVICE_USER, SERVICE_GROUP
|
||||
ADMIN_PASSWORD (required for non-interactive first install when generating a new env)
|
||||
@@ -204,11 +202,6 @@ parse_args() {
|
||||
RELEASE_ARCHIVE_URL="$2"
|
||||
shift 2
|
||||
;;
|
||||
--checksum-url|--sums-url)
|
||||
[[ $# -ge 2 ]] || die "--checksum-url requires a value"
|
||||
RELEASE_CHECKSUM_URL="$2"
|
||||
shift 2
|
||||
;;
|
||||
--env-file)
|
||||
[[ $# -ge 2 ]] || die "--env-file requires a path"
|
||||
ENV_SOURCE="$2"
|
||||
@@ -522,7 +515,6 @@ download_stdout() {
|
||||
|
||||
select_release_download_urls() {
|
||||
local original_archive_url="$1"
|
||||
local original_sums_url="$2"
|
||||
|
||||
if [[ -z "${RELEASE_ARCHIVE_URL}" && interactive_tty_available ]]; then
|
||||
if ui_is_zh; then
|
||||
@@ -576,25 +568,6 @@ EOF
|
||||
die "replacement archive download URL cannot be empty"
|
||||
fi
|
||||
}
|
||||
|
||||
if ui_is_zh; then
|
||||
cat >/dev/tty <<EOF
|
||||
|
||||
原始校验文件 URL:
|
||||
${original_sums_url}
|
||||
|
||||
如校验文件也需要加速,请输入新的校验文件下载 URL;直接回车使用原始 URL:
|
||||
EOF
|
||||
else
|
||||
cat >/dev/tty <<EOF
|
||||
|
||||
Original checksum URL:
|
||||
${original_sums_url}
|
||||
|
||||
Enter replacement checksum download URL, or press Enter to use the original URL:
|
||||
EOF
|
||||
fi
|
||||
IFS= read -r RELEASE_CHECKSUM_URL </dev/tty || RELEASE_CHECKSUM_URL=""
|
||||
;;
|
||||
*)
|
||||
if ui_is_zh; then
|
||||
@@ -617,18 +590,6 @@ EOF
|
||||
info "original archive URL: ${original_archive_url}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "${RELEASE_CHECKSUM_URL}" ]]; then
|
||||
RELEASE_CHECKSUM_URL="${original_sums_url}"
|
||||
elif [[ "${RELEASE_CHECKSUM_URL}" != "${original_sums_url}" ]]; then
|
||||
if ui_is_zh; then
|
||||
info "使用自定义校验文件下载 URL"
|
||||
info "原始校验文件 URL: ${original_sums_url}"
|
||||
else
|
||||
info "using custom checksum download URL"
|
||||
info "original checksum URL: ${original_sums_url}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
raw_project_url() {
|
||||
@@ -679,21 +640,6 @@ resolve_version() {
|
||||
echo "${tag}"
|
||||
}
|
||||
|
||||
verify_checksum() {
|
||||
local sums_file="$1"
|
||||
local archive_file="$2"
|
||||
local archive_name
|
||||
archive_name="$(basename "${archive_file}")"
|
||||
|
||||
if command -v sha256sum >/dev/null 2>&1; then
|
||||
(cd "$(dirname "${archive_file}")" && grep " ${archive_name}\$" "${sums_file}" | sha256sum -c -)
|
||||
elif command -v shasum >/dev/null 2>&1; then
|
||||
(cd "$(dirname "${archive_file}")" && grep " ${archive_name}\$" "${sums_file}" | shasum -a 256 -c -)
|
||||
else
|
||||
warn "sha256sum/shasum not found; skipping release checksum verification"
|
||||
fi
|
||||
}
|
||||
|
||||
current_script_dir() {
|
||||
local source="${BASH_SOURCE[0]}"
|
||||
if [[ -n "${source}" && -f "${source}" ]]; then
|
||||
@@ -724,18 +670,16 @@ download_or_unpack_bundle() {
|
||||
local arch
|
||||
arch="$(detect_arch)"
|
||||
|
||||
local tag asset base_url archive_url sums_url archive_file sums_file
|
||||
local tag asset base_url archive_url archive_file
|
||||
tag="$(resolve_version)"
|
||||
[[ -n "${tag}" ]] || die "could not resolve ${CHANNEL} release tag for ${REPO}"
|
||||
VERSION="${tag}"
|
||||
asset="aether-${tag}-linux-${arch}.tar.gz"
|
||||
base_url="https://github.com/${REPO}/releases/download/${tag}"
|
||||
archive_url="${base_url}/${asset}"
|
||||
sums_url="${base_url}/SHA256SUMS"
|
||||
archive_file="${TMP_ROOT}/${asset}"
|
||||
sums_file="${TMP_ROOT}/SHA256SUMS"
|
||||
|
||||
select_release_download_urls "${archive_url}" "${sums_url}"
|
||||
select_release_download_urls "${archive_url}"
|
||||
if [[ "${RELEASE_ARCHIVE_URL}" == "${archive_url}" ]]; then
|
||||
info "downloading ${asset} from ${REPO}"
|
||||
elif ui_is_zh; then
|
||||
@@ -744,8 +688,6 @@ download_or_unpack_bundle() {
|
||||
info "downloading ${asset} from custom URL"
|
||||
fi
|
||||
download_to "${RELEASE_ARCHIVE_URL}" "${archive_file}" progress
|
||||
download_to "${RELEASE_CHECKSUM_URL}" "${sums_file}"
|
||||
verify_checksum "${sums_file}" "${archive_file}"
|
||||
tar -xzf "${archive_file}" -C "${TMP_ROOT}"
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user