|
@@ -179,6 +179,20 @@ delete_script() {
|
|
|
exit 1
|
|
exit 1
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+xui_env_file_path() {
|
|
|
|
|
+ case "${release}" in
|
|
|
|
|
+ ubuntu | debian | armbian)
|
|
|
|
|
+ echo "/etc/default/x-ui"
|
|
|
|
|
+ ;;
|
|
|
|
|
+ arch | manjaro | parch | alpine)
|
|
|
|
|
+ echo "/etc/conf.d/x-ui"
|
|
|
|
|
+ ;;
|
|
|
|
|
+ *)
|
|
|
|
|
+ echo "/etc/sysconfig/x-ui"
|
|
|
|
|
+ ;;
|
|
|
|
|
+ esac
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
uninstall() {
|
|
uninstall() {
|
|
|
confirm "Are you sure you want to uninstall the panel? xray will also uninstalled!" "n"
|
|
confirm "Are you sure you want to uninstall the panel? xray will also uninstalled!" "n"
|
|
|
if [[ $? != 0 ]]; then
|
|
if [[ $? != 0 ]]; then
|
|
@@ -202,6 +216,7 @@ uninstall() {
|
|
|
|
|
|
|
|
rm /etc/x-ui/ -rf
|
|
rm /etc/x-ui/ -rf
|
|
|
rm ${xui_folder}/ -rf
|
|
rm ${xui_folder}/ -rf
|
|
|
|
|
+ rm -f "$(xui_env_file_path)"
|
|
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
|
echo -e "Uninstalled Successfully.\n"
|
|
echo -e "Uninstalled Successfully.\n"
|
|
@@ -289,6 +304,18 @@ check_config() {
|
|
|
fi
|
|
fi
|
|
|
LOGI "${info}"
|
|
LOGI "${info}"
|
|
|
|
|
|
|
|
|
|
+ local db_env_file
|
|
|
|
|
+ db_env_file="$(xui_env_file_path)"
|
|
|
|
|
+ if [[ -r "$db_env_file" ]] && grep -q '^XUI_DB_TYPE=postgres' "$db_env_file"; then
|
|
|
|
|
+ local dsn
|
|
|
|
|
+ dsn="$(grep -E '^XUI_DB_DSN=' "$db_env_file" | head -1 | cut -d= -f2-)"
|
|
|
|
|
+ local dsn_safe
|
|
|
|
|
+ dsn_safe="$(echo "$dsn" | sed -E 's|(://[^:/@]+:)[^@]+@|\1****@|')"
|
|
|
|
|
+ echo -e "${green}Database: PostgreSQL — ${dsn_safe}${plain}"
|
|
|
|
|
+ else
|
|
|
|
|
+ echo -e "${green}Database: SQLite (/etc/x-ui/x-ui.db)${plain}"
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
local existing_webBasePath=$(echo "$info" | grep -Eo 'webBasePath: .+' | awk '{print $2}')
|
|
local existing_webBasePath=$(echo "$info" | grep -Eo 'webBasePath: .+' | awk '{print $2}')
|
|
|
local existing_port=$(echo "$info" | grep -Eo 'port: .+' | awk '{print $2}')
|
|
local existing_port=$(echo "$info" | grep -Eo 'port: .+' | awk '{print $2}')
|
|
|
local existing_cert=$(${xui_folder}/x-ui setting -getCert true | grep 'cert:' | awk -F': ' '{print $2}' | tr -d '[:space:]')
|
|
local existing_cert=$(${xui_folder}/x-ui setting -getCert true | grep 'cert:' | awk -F': ' '{print $2}' | tr -d '[:space:]')
|