diff --git a/x-ui.sh b/x-ui.sh
index 8fdde3b0..e7b93975 100644
--- a/x-ui.sh
+++ b/x-ui.sh
@@ -21,33 +21,30 @@ function LOGI() {
 [[ $EUID -ne 0 ]] && LOGE "ERROR: You must be root to run this script! \n" && exit 1
 
 # check os
-if [[ -f /etc/redhat-release ]]; then
-    release="centos"
-elif cat /etc/issue | grep -Eqi "debian"; then
+if cat /etc/issue | grep -Eqi "debian"; then
     release="debian"
 elif cat /etc/issue | grep -Eqi "ubuntu"; then
     release="ubuntu"
-elif cat /etc/issue | grep -Eqi "centos|red hat|redhat"; then
+elif cat /etc/issue | grep -Eqi "centos"; then
     release="centos"
+elif cat /etc/issue | grep -Eqi "fedora"; then
+    release="fedora"
 elif cat /proc/version | grep -Eqi "debian"; then
     release="debian"
 elif cat /proc/version | grep -Eqi "ubuntu"; then
     release="ubuntu"
-elif cat /proc/version | grep -Eqi "centos|red hat|redhat"; then
+elif cat /proc/version | grep -Eqi "centos"; then
     release="centos"
+elif cat /proc/version | grep -Eqi "fedora"; then
+    release="fedora"
 else
     LOGE "check system OS failed,please contact with author! \n" && exit 1
 fi
 
-os_version=""
 
-# os version
-if [[ -f /etc/os-release ]]; then
-    os_version=$(awk -F'[= ."]' '/VERSION_ID/{print $3}' /etc/os-release)
-fi
-if [[ -z "$os_version" && -f /etc/lsb-release ]]; then
-    os_version=$(awk -F'[= ."]+' '/DISTRIB_RELEASE/{print $2}' /etc/lsb-release)
-fi
+os_version=""
+os_version=$(grep -i version_id /etc/os-release | cut -d \" -f2 | cut -d . -f1)
+
 
 if [[ x"${release}" == x"centos" ]]; then
     if [[ ${os_version} -le 6 ]]; then
@@ -57,6 +54,12 @@ elif [[ x"${release}" == x"ubuntu" ]]; then
     if [[ ${os_version} -lt 16 ]]; then
         LOGE "please use Ubuntu 16 or higher version!\n" && exit 1
     fi
+    
+elif [[ x"${release}" == x"fedora" ]]; then
+    if [[ ${os_version} -lt 29 ]]; then
+        LOGE "please use Fedora 29 or higher version!\n" && exit 1
+    fi
+
 elif [[ x"${release}" == x"debian" ]]; then
     if [[ ${os_version} -lt 8 ]]; then
         LOGE "please use Debian 8 or higher version!\n" && exit 1