33 lines
		
	
	
		
			694 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			694 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
declare -a DB_MIRRORS=(
 | 
						|
  "switch.clamav.net"
 | 
						|
  "clamavdb.heanet.ie"
 | 
						|
  "clamav.iol.cz"
 | 
						|
  "clamav.univ-nantes.fr"
 | 
						|
  "clamav.easynet.fr"
 | 
						|
  "clamav.begi.net"
 | 
						|
)
 | 
						|
declare -a DB_MIRRORS=( $(shuf -e "${DB_MIRRORS[@]}") )
 | 
						|
 | 
						|
DB_FILES=(
 | 
						|
  "bytecode.cvd"
 | 
						|
  "daily.cvd"
 | 
						|
  "main.cvd"
 | 
						|
)
 | 
						|
 | 
						|
for i in "${DB_MIRRORS[@]}"; do
 | 
						|
  for j in "${DB_FILES[@]}"; do
 | 
						|
  [[ -f "/var/lib/clamav/${j}" && -s "/var/lib/clamav/${j}" ]] && continue;
 | 
						|
  if [[ $(curl -o /dev/null --connect-timeout 1 \
 | 
						|
    --max-time 1 \
 | 
						|
    --silent \
 | 
						|
    --head \
 | 
						|
    --write-out "%{http_code}\n" "${i}/${j}") == 200 ]]; then
 | 
						|
    curl "${i}/${j}" -o "/var/lib/clamav/${j}" -#
 | 
						|
  fi
 | 
						|
  done
 | 
						|
done
 | 
						|
 | 
						|
chown clamav:clamav /var/lib/clamav/*.cvd
 |