Files
tizi/config/install.bash
T
2026-07-15 13:36:24 +08:00

69 lines
1.8 KiB
Bash

#!/bin/bash
# 获取脚本所在目录的绝对路径
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# 切换到脚本目录
cd "$SCRIPT_DIR" || exit
echo "=========================================="
echo "开始下载 GeoData 文件到:"
echo "$SCRIPT_DIR"
echo "=========================================="
# 直接定义完整的 URL,避免解析出错
GEOIP_URL="https://cdn.jsdmirror.com/gh/MetaCubeX/meta-rules-dat@release/geoip.dat"
GEOSITE_URL="https://cdn.jsdmirror.com/gh/MetaCubeX/meta-rules-dat@release/geosite.dat"
METADB_URL="https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb"
# 下载函数
download_file() {
local url="$1"
local output="$2"
local name="$3"
# 检查文件是否已存在
if [ -f "$output" ]; then
echo ""
echo "⏭️ $name 已存在,跳过下载"
return 0
fi
echo ""
echo "正在下载: $name"
echo "来源: $url"
if curl -L -f -# -o "$output" "$url"; then
if command -v du &>/dev/null; then
SIZE=$(du -h "$output" | cut -f1)
echo "✅ 下载成功: $name (大小: $SIZE)"
else
echo "✅ 下载成功: $name"
fi
return 0
else
echo "❌ 下载失败: $name"
return 1
fi
}
# 依次下载三个文件
download_file "$GEOIP_URL" "$SCRIPT_DIR/geoip.dat" "geoip.dat"
if [ $? -ne 0 ]; then exit 1; fi
download_file "$GEOSITE_URL" "$SCRIPT_DIR/geosite.dat" "geosite.dat"
if [ $? -ne 0 ]; then exit 1; fi
download_file "$METADB_URL" "$SCRIPT_DIR/geoip.metadb" "geoip.metadb"
if [ $? -ne 0 ]; then exit 1; fi
echo ""
echo "=========================================="
echo "✅ 所有文件下载完成!"
echo ""
echo "📁 文件位置: $SCRIPT_DIR"
echo ""
echo "📝 后续操作:"
echo " 请在 config.yaml 中注释掉所有 geox-url 配置"
echo "=========================================="