mirror of
				https://github.com/DaoCloud/public-image-mirror.git
				synced 2025-10-31 21:59:22 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| set -o errexit
 | |
| set -o nounset
 | |
| set -o pipefail
 | |
| 
 | |
| ROOT="${ROOT:-$(dirname "${BASH_SOURCE}")/..}"
 | |
| DEFAULT_REGEX='^([a-z]+-)?[a-z]*[0-9]+(\.[0-9]+){0,2}(-.+)?(__.+)?$|^[a-z]+$'
 | |
| SKOPEO="${SKOPEO:-skopeo}"
 | |
| ROOT=$(realpath ${ROOT})
 | |
| 
 | |
| function helper::replace_domain() {
 | |
|     local domain="${1}"
 | |
|     local file="${2:-domain.txt}"
 | |
|     for line in $(cat ${file}); do
 | |
|         line="${line/ /}"
 | |
|         if [[ "${line}" == "" ]]; then
 | |
|             continue
 | |
|         fi
 | |
| 
 | |
|         key="${line%=*}"
 | |
|         val="${line##*=}"
 | |
|         if [[ "${key}" == "" || "${val}" == "" ]]; then
 | |
|             continue
 | |
|         fi
 | |
| 
 | |
|         if [[ "${domain}" =~ ^${key} ]]; then
 | |
|             echo "${domain}" | sed -e "s#^${key}#${val}#"
 | |
|             return 0
 | |
|         fi
 | |
|     done
 | |
|     echo "Error: domain ${domain} not found"
 | |
|     return 1
 | |
| }
 | |
| 
 | |
| function helper::get_source() {
 | |
|     local source="${1:-mirror.txt}"
 | |
|     cat "${source}" | tr -d ' ' | grep -v -E '^$' | grep -v -E '^#'
 | |
| }
 | |
| 
 | |
| function helper::exclude() {
 | |
|     local exclude="${1:-exclude.txt}"
 | |
|     local tmp=$(cat "${exclude}" | tr -d ' ' | grep -v -E '^$' | grep -v -E '^#' | tr '\n' '|')
 | |
|     echo "${tmp%|}"
 | |
| }
 |