fix: fix install-dat-release.sh check sum256

change download file,
change check 256sum,
change install file.
pull/97/head
xiagw 2020-09-11 22:11:32 +07:00
parent dd07d27f89
commit 5e95aff37b
No known key found for this signature in database
GPG Key ID: AA79D99901C34E05
1 changed files with 30 additions and 37 deletions

View File

@ -14,9 +14,13 @@
# 0 0 * * * /usr/local/bin/install-dat-release > /dev/null 2>&1 # 0 0 * * * /usr/local/bin/install-dat-release > /dev/null 2>&1
# You can modify it to /usr/local/lib/v2ray/ # You can modify it to /usr/local/lib/v2ray/
V2RAY="/usr/local/share/v2ray/" V2RAY="/usr/local/share/v2ray"
DOWNLOAD_LINK_GEOIP="https://github.com/v2ray/geoip/releases/latest/download/geoip.dat" DOWNLOAD_LINK_GEOIP="https://github.com/v2ray/geoip/releases/latest/download"
DOWNLOAD_LINK_GEOSITE="https://github.com/v2ray/domain-list-community/releases/latest/download/dlc.dat" DOWNLOAD_LINK_GEOSITE="https://github.com/v2ray/domain-list-community/releases/latest/download"
file_ip='geoip.dat'
file_dlc='dlc.dat'
file_site='geosite.dat'
dir_tmp="$(mktemp -d)"
check_if_running_as_root() { check_if_running_as_root() {
# If you want to run as another user, please modify $UID to be owned by this user # If you want to run as another user, please modify $UID to be owned by this user
@ -26,53 +30,42 @@ check_if_running_as_root() {
fi fi
} }
download_geoip() { download_file() {
if ! curl -L -H 'Cache-Control: no-cache' -o "${V2RAY}geoip.dat.new" "$DOWNLOAD_LINK_GEOIP"; then if ! curl -L -H 'Cache-Control: no-cache' -o "${dir_tmp}/${2}" "${1}/${2}"; then
echo 'error: Download failed! Please check your network or try again.' echo 'error: Download failed! Please check your network or try again.'
exit 1 exit 1
fi fi
if ! curl -L -H 'Cache-Control: no-cache' -o "${V2RAY}geoip.dat.sha256sum.new" "$DOWNLOAD_LINK_GEOIP.sha256sum"; then if ! curl -L -H 'Cache-Control: no-cache' -o "${dir_tmp}/${2}.sha256sum" "${1}/${2}.sha256sum"; then
echo 'error: Download failed! Please check your network or try again.' echo 'error: Download failed! Please check your network or try again.'
exit 1 exit 1
fi fi
SUM="$(sha256sum ${V2RAY}geoip.dat.new | sed 's/ .*//')"
CHECKSUM="$(sed 's/ .*//' ${V2RAY}geoip.dat.sha256sum.new)"
if [[ "$SUM" != "$CHECKSUM" ]]; then
echo 'error: Check failed! Please check your network or try again.'
exit 1
fi
} }
download_geosite() {
if ! curl -L -H 'Cache-Control: no-cache' -o "${V2RAY}geosite.dat.new" "$DOWNLOAD_LINK_GEOSITE"; then check_sum() {
echo 'error: Download failed! Please check your network or try again.' (
exit 1 cd "${dir_tmp}" || exit
fi for i in "${dir_tmp}"/*.sha256sum; do
if ! curl -L -H 'Cache-Control: no-cache' -o "${V2RAY}geosite.dat.sha256sum.new" "$DOWNLOAD_LINK_GEOSITE.sha256sum"; then if ! sha256sum -c "${i}"; then
echo 'error: Download failed! Please check your network or try again.'
exit 1
fi
SUM="$(sha256sum ${V2RAY}geosite.dat.new | sed 's/ .*//')"
CHECKSUM="$(sed 's/ .*//' ${V2RAY}geosite.dat.sha256sum.new)"
if [[ "$SUM" != "$CHECKSUM" ]]; then
echo 'error: Check failed! Please check your network or try again.' echo 'error: Check failed! Please check your network or try again.'
exit 1 exit 1
fi fi
}
rename_new() {
for DAT in 'geoip' 'geosite'; do
install -m 644 "${V2RAY}$DAT.dat.new" "${V2RAY}$DAT.dat"
rm "${V2RAY}$DAT.dat.new"
rm "${V2RAY}$DAT.dat.sha256sum.new"
done done
)
}
install_file() {
rm -f "${dir_tmp}"/*.sha256sum
mv "${dir_tmp}"/${file_dlc} "${dir_tmp}"/${file_site}
install -m 644 "${dir_tmp}"/* "${V2RAY}"/
} }
main() { main() {
check_if_running_as_root check_if_running_as_root
download_geoip download_file $DOWNLOAD_LINK_GEOIP $file_ip
download_geosite download_file $DOWNLOAD_LINK_GEOSITE $file_dlc
rename_new check_sum
install_file
} }
main main "$@"