bash - update menu

This commit is contained in:
mhsanaei 2024-06-24 15:22:05 +02:00
parent f481ab993e
commit 6fb6241c3c

123
x-ui.sh
View File

@ -157,6 +157,30 @@ update() {
fi fi
} }
update_menu() {
echo -e "${yellow}Updating Menu${plain}"
confirm "This function will update the menu to the latest changes." "y"
if [[ $? != 0 ]]; then
LOGE "Cancelled"
if [[ $# == 0 ]]; then
before_show_menu
fi
return 0
fi
wget --no-check-certificate -O /usr/bin/x-ui https://raw.githubusercontent.com/MHSanaei/3x-ui/main/x-ui.sh
chmod +x /usr/local/x-ui/x-ui.sh
chmod +x /usr/bin/x-ui
if [[ $? == 0 ]]; then
echo -e "${green}Update successful. The panel has automatically restarted.${plain}"
exit 0
else
echo -e "${red}Failed to update the menu.${plain}"
return 1
fi
}
custom_version() { custom_version() {
echo "Enter the panel version (like 2.0.0):" echo "Enter the panel version (like 2.0.0):"
read panel_version read panel_version
@ -247,10 +271,11 @@ reset_webbasepath() {
# Apply the new web base path setting # Apply the new web base path setting
/usr/local/x-ui/x-ui setting -webBasePath "${config_webBasePath}" >/dev/null 2>&1 /usr/local/x-ui/x-ui setting -webBasePath "${config_webBasePath}" >/dev/null 2>&1
systemctl restart x-ui
# Display confirmation message # Display confirmation message
echo -e "Web base path has been reset to: ${green} ${config_webBasePath} ${plain}" echo -e "Web base path has been reset to: ${green}${config_webBasePath}${plain}"
echo -e "${green} Please use the new web base path to access the panel. ${plain}" echo -e "${green}Please use the new web base path to access the panel.${plain}"
} }
reset_config() { reset_config() {
@ -1303,36 +1328,37 @@ show_menu() {
———————————————— ————————————————
${green}1.${plain} Install ${green}1.${plain} Install
${green}2.${plain} Update ${green}2.${plain} Update
${green}3.${plain} Custom Version ${green}3.${plain} Update Menu
${green}4.${plain} Uninstall ${green}4.${plain} Custom Version
${green}5.${plain} Uninstall
———————————————— ————————————————
${green}5.${plain} Reset Username & Password & Secret Token ${green}6.${plain} Reset Username & Password & Secret Token
${green}6.${plain} Reset Web Base Path ${green}7.${plain} Reset Web Base Path
${green}7.${plain} Reset Settings ${green}8.${plain} Reset Settings
${green}8.${plain} Change Port ${green}9.${plain} Change Port
${green}9.${plain} View Current Settings ${green}10.${plain} View Current Settings
———————————————— ————————————————
${green}10.${plain} Start ${green}11.${plain} Start
${green}11.${plain} Stop ${green}12.${plain} Stop
${green}12.${plain} Restart ${green}13.${plain} Restart
${green}13.${plain} Check Status ${green}14.${plain} Check Status
${green}14.${plain} Check Logs ${green}15.${plain} Check Logs
———————————————— ————————————————
${green}15.${plain} Enable Autostart ${green}16.${plain} Enable Autostart
${green}16.${plain} Disable Autostart ${green}17.${plain} Disable Autostart
———————————————— ————————————————
${green}17.${plain} SSL Certificate Management ${green}18.${plain} SSL Certificate Management
${green}18.${plain} Cloudflare SSL Certificate ${green}19.${plain} Cloudflare SSL Certificate
${green}19.${plain} IP Limit Management ${green}20.${plain} IP Limit Management
${green}20.${plain} WARP Management ${green}21.${plain} WARP Management
${green}21.${plain} Firewall Management ${green}22.${plain} Firewall Management
———————————————— ————————————————
${green}22.${plain} Enable BBR ${green}23.${plain} Enable BBR
${green}23.${plain} Update Geo Files ${green}24.${plain} Update Geo Files
${green}24.${plain} Speedtest by Ookla ${green}25.${plain} Speedtest by Ookla
" "
show_status show_status
echo && read -p "Please enter your selection [0-24]: " num echo && read -p "Please enter your selection [0-25]: " num
case "${num}" in case "${num}" in
0) 0)
@ -1345,73 +1371,76 @@ show_menu() {
check_install && update check_install && update
;; ;;
3) 3)
check_install && custom_version check_install && update_menu
;; ;;
4) 4)
check_install && uninstall check_install && custom_version
;; ;;
5) 5)
check_install && reset_user check_install && uninstall
;; ;;
6) 6)
check_install && reset_webbasepath check_install && reset_user
;; ;;
7) 7)
check_install && reset_config check_install && reset_webbasepath
;; ;;
8) 8)
check_install && set_port check_install && reset_config
;; ;;
9) 9)
check_install && check_config check_install && set_port
;; ;;
10) 10)
check_install && start check_install && check_config
;; ;;
11) 11)
check_install && stop check_install && start
;; ;;
12) 12)
check_install && restart check_install && stop
;; ;;
13) 13)
check_install && status check_install && restart
;; ;;
14) 14)
check_install && show_log check_install && status
;; ;;
15) 15)
check_install && enable check_install && show_log
;; ;;
16) 16)
check_install && disable check_install && enable
;; ;;
17) 17)
ssl_cert_issue_main check_install && disable
;; ;;
18) 18)
ssl_cert_issue_CF ssl_cert_issue_main
;; ;;
19) 19)
iplimit_main ssl_cert_issue_CF
;; ;;
20) 20)
warp_cloudflare iplimit_main
;; ;;
21) 21)
firewall_menu warp_cloudflare
;; ;;
22) 22)
bbr_menu firewall_menu
;; ;;
23) 23)
update_geo bbr_menu
;; ;;
24) 24)
update_geo
;;
25)
run_speedtest run_speedtest
;; ;;
*) *)
LOGE "Please enter the correct number [0-24]" LOGE "Please enter the correct number [0-25]"
;; ;;
esac esac
} }