Added geo data update option

I'm not a programmer. I took some lines of code from NidukaAkalanka/x-ui-english and some from maddie/update-v2ray-geo.sh and made some tweaks.
This commit is contained in:
pulsarice 2023-03-06 04:00:01 +03:30 committed by GitHub
parent f0de1e5a62
commit 7d426c6e10
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

42
x-ui.sh
View file

@ -408,6 +408,36 @@ show_xray_status() {
fi fi
} }
update_geo() {
systemctl stop x-ui
cd /usr/local/x-ui/bin
# rm -f geoip.dat geosite.dat
# wget -N https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
# wget -N https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
echo "downloading geoip.dat..."
curl -o ./geoip.dat.tmp -sL https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
if [ $? -ne 0 ]; then
echo -e "failed to download latest geoip.dat, ${red}not updating!${plain}"
else
mv ./geoip.dat.tmp ./geoip.dat
echo -e "geoip.dat ${green}updated${plain}"
fi
echo "downloading geosite.dat..."
curl -o ./geosite.dat.tmp -sL https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
if [ $? -ne 0 ]; then
echo -e "failed to download latest geosite.dat, ${red}not updating!${plain}"
else
mv ./geosite.dat.tmp ./geosite.dat
echo -e "geosite.dat ${green}updated${plain}"
fi
systemctl start x-ui
# echo "Geosite and Geoip have been updated successfully"
}
#this will be an entrance for ssl cert issue #this will be an entrance for ssl cert issue
#here we can provide two different methods to issue cert #here we can provide two different methods to issue cert
#first.standalone mode second.DNS API mode #first.standalone mode second.DNS API mode
@ -662,9 +692,12 @@ show_menu() {
———————————————— ————————————————
${green}15.${plain} Enable BBR ${green}15.${plain} Enable BBR
${green}16.${plain} Issuse Certs ${green}16.${plain} Issuse Certs
" ————————————————
${green}17.${plain} Update Geosite and Geoip
"
show_status show_status
echo && read -p "Please enter your selection [0-16]: " num echo && read -p "Please enter your selection [0-17]: " num
case "${num}" in case "${num}" in
0) 0)
@ -718,8 +751,11 @@ show_menu() {
16) 16)
ssl_cert_issue ssl_cert_issue
;; ;;
17)
update_geo
;;
*) *)
LOGE "Please enter the correct number [0-16]" LOGE "Please enter the correct number [0-17]"
;; ;;
esac esac
} }