Sync subset from blackmatrix7/ios_rule_script
This commit is contained in:
56
scripts/sync_subset.sh
Executable file
56
scripts/sync_subset.sh
Executable file
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
SURGE_DIR="$ROOT_DIR/rule/Surge"
|
||||
UPSTREAM_BASE="https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge"
|
||||
GITEA_ENV_FILE="$ROOT_DIR/../gitea/.env"
|
||||
|
||||
if [[ ! -f "$GITEA_ENV_FILE" ]]; then
|
||||
echo "missing Gitea env file: $GITEA_ENV_FILE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source "$GITEA_ENV_FILE"
|
||||
|
||||
GITEA_REPO_OWNER="${GITEA_REPO_OWNER:-admin}"
|
||||
GITEA_REPO_NAME="${GITEA_REPO_NAME:-ios-rule-script-subset}"
|
||||
GITEA_REMOTE_URL="https://${GITEA_ADMIN_USERNAME}:${GITEA_ADMIN_PASSWORD}@git.halonice.com/${GITEA_REPO_OWNER}/${GITEA_REPO_NAME}.git"
|
||||
|
||||
mkdir -p "$SURGE_DIR"
|
||||
|
||||
declare -A FILE_MAP=(
|
||||
["Lan.list"]="Lan/Lan.list"
|
||||
["Apple.list"]="Apple/Apple.list"
|
||||
["OpenAI.list"]="OpenAI/OpenAI.list"
|
||||
["Gemini.list"]="Gemini/Gemini.list"
|
||||
["Claude.list"]="Claude/Claude.list"
|
||||
["China.list"]="China/China.list"
|
||||
["ChinaIPs.list"]="ChinaIPs/ChinaIPs.list"
|
||||
["Proxy.list"]="Proxy/Proxy.list"
|
||||
)
|
||||
|
||||
for target in "${!FILE_MAP[@]}"; do
|
||||
src="${FILE_MAP[$target]}"
|
||||
tmp="$SURGE_DIR/.${target}.tmp"
|
||||
curl -fsSL "$UPSTREAM_BASE/$src" -o "$tmp"
|
||||
mv "$tmp" "$SURGE_DIR/$target"
|
||||
done
|
||||
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
if [[ ! -d .git ]]; then
|
||||
git init -b main >/dev/null
|
||||
git remote add origin "$GITEA_REMOTE_URL"
|
||||
fi
|
||||
|
||||
git add README.md .gitignore scripts/sync_subset.sh rule/Surge
|
||||
|
||||
if git diff --cached --quiet; then
|
||||
echo "No upstream changes."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
git -c user.name="$GITEA_ADMIN_USERNAME" -c user.email="$GITEA_ADMIN_EMAIL" commit -m "Sync subset from blackmatrix7/ios_rule_script" >/dev/null
|
||||
|
||||
git push origin main
|
||||
Reference in New Issue
Block a user