diff --git a/yarx.sh b/yarx.sh index 527b11e..8fa7cc3 100644 --- a/yarx.sh +++ b/yarx.sh @@ -1,11 +1,12 @@ #!/bin/bash +#Качаем и ставим пакет wget https://github.com/XTLS/Xray-core/releases/download/v1.8.4/Xray-linux-64.zip sudo apt install unzip -y sudo mkdir /opt/xray sudo unzip ./Xray-linux-64.zip -d /opt/xray sudo chmod +x /opt/xray/xray - +#Накатываем конфиг для XRAY read -p "Вы хотите, чтобы через VPN был доступ до сайтов на территории РФ? Есть вариант спалиться (Y/N):" GEOIP if [ $GEOIP = "Y"] || [ $GEOIP = "y" ]; then ROUTES=$(cat << EOF @@ -40,7 +41,7 @@ else ] EOF ) - +#Накатываем конфиг для сервиса sudo cat << EOF > /usr/lib/systemd/system/xray.service [Unit] Description=Xray Service @@ -62,7 +63,7 @@ LogLevelMax=4 [Install] WantedBy=multi-user.target EOF - +#Определяем переменные и накатываем конфиг для пользователя sites=("amd" "intel" "apple" "microsoft" "ubuntu") random_index=$((RANDOM % ${#sites[@]})) RANDOM_SITE=${sites[$random_index]} @@ -141,6 +142,29 @@ EOF sudo systemctl start xray sudo systemctl enable xray +#Делаем скрипт для мониторинга работоспособности службы и её подъёма, если упала +sudo cat < /usr/local/bin/xray_monitor.sh +#!/bin/bash + +SERVICE_NAME="xray" + +check_service() { + if systemctl is-active --quiet $SERVICE_NAME; then + echo "XRAY working" + else + systemctl restart $SERVICE_NAME + if systemctl is-active --quiet $SERVICE_NAME; then + echo "XRAY успешно перезапущен" + else + echo "XRAY не стартует" + fi + fi +} + +check_service +EOF + +(crontab -l 2>/dev/null; echo "*/5 * * * * /usr/local/bin/xray_monitor.sh >> /var/log/xray_monitor.log 2>&1") | crontab - echo "Клиент https://github.com/MatsuriDayo/nekoray/releases" echo ""