Added hysteria
This commit is contained in:
parent
f4a246eb14
commit
0d12288a51
2 changed files with 236 additions and 177 deletions
0
LICENSE
Normal file → Executable file
0
LICENSE
Normal file → Executable file
213
yarx.sh
213
yarx.sh
|
|
@ -1,20 +1,22 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
#Качаем и ставим пакет
|
read -p "Вы хотите установить VLESS (Y/N)?: " VLESSYN
|
||||||
wget https://github.com/XTLS/Xray-core/releases/download/v1.8.4/Xray-linux-64.zip
|
if [ $VLESSYN = "Y" ] || [ $VLESSYN = "y" ]; then
|
||||||
sudo apt install unzip -y
|
#Качаем и ставим пакет
|
||||||
sudo mkdir /opt/xray
|
wget https://github.com/XTLS/Xray-core/releases/download/v1.8.4/Xray-linux-64.zip
|
||||||
sudo unzip ./Xray-linux-64.zip -d /opt/xray
|
sudo apt install unzip -y
|
||||||
sudo chmod +x /opt/xray/xray
|
sudo mkdir /opt/xray
|
||||||
#Накатываем конфиг для XRAY
|
sudo unzip ./Xray-linux-64.zip -d /opt/xray
|
||||||
read -p "Вы хотите, чтобы через VPN был доступ до сайтов на территории РФ? Есть вариант спалиться (Y/N):" GEOIP
|
sudo chmod +x /opt/xray/xray
|
||||||
if [ $GEOIP = "Y"] || [ $GEOIP = "y" ]; then
|
#Накатываем конфиг для XRAY
|
||||||
|
read -p "Вы хотите, чтобы через VPN был доступ до сайтов на территории РФ? Есть вариант спалиться (Y/N):" GEOIP
|
||||||
|
if [ $GEOIP = "Y"] || [ $GEOIP = "y" ]; then
|
||||||
ROUTES=$(cat << EOF
|
ROUTES=$(cat << EOF
|
||||||
"rules": [],
|
"rules": [],
|
||||||
"domainStrategy": "AsIs"
|
"domainStrategy": "AsIs"
|
||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
echo "Ну нет так нет"
|
echo "Ну нет так нет"
|
||||||
ROUTES=$(cat << EOF
|
ROUTES=$(cat << EOF
|
||||||
"domainStrategy": "IPIfNonMatch",
|
"domainStrategy": "IPIfNonMatch",
|
||||||
|
|
@ -40,49 +42,49 @@ else
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
#Накатываем конфиг для сервиса
|
#Накатываем конфиг для сервиса
|
||||||
sudo cat << EOF > /usr/lib/systemd/system/xray.service
|
sudo cat << EOF > /usr/lib/systemd/system/xray.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Xray Service
|
Description=Xray Service
|
||||||
Documentation=https://github.com/xtls
|
Documentation=https://github.com/xtls
|
||||||
After=network.target nss-lookup.target
|
After=network.target nss-lookup.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
User=nobody
|
User=nobody
|
||||||
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||||
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||||
NoNewPrivileges=true
|
NoNewPrivileges=true
|
||||||
ExecStart=/opt/xray/xray run -config /opt/xray/config.json
|
ExecStart=/opt/xray/xray run -config /opt/xray/config.json
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartPreventExitStatus=23
|
RestartPreventExitStatus=23
|
||||||
LimitNPROC=10000
|
LimitNPROC=10000
|
||||||
LimitNOFILE=1000000
|
LimitNOFILE=1000000
|
||||||
LogLevelMax=4
|
LogLevelMax=4
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
#Определяем переменные и накатываем конфиг для пользователя
|
#Определяем переменные и накатываем конфиг для пользователя
|
||||||
sites=("vk" "yandex" "mail" "mts" "gosuslugi")
|
sites=("vk" "yandex" "mail" "mts" "gosuslugi")
|
||||||
random_index=$((RANDOM % ${#sites[@]}))
|
random_index=$((RANDOM % ${#sites[@]}))
|
||||||
RANDOM_SITE=${sites[$random_index]}
|
RANDOM_SITE=${sites[$random_index]}
|
||||||
|
|
||||||
UUID=$(/opt/xray/xray uuid)
|
UUID=$(/opt/xray/xray uuid)
|
||||||
KEYS=$(/opt/xray/xray x25519)
|
KEYS=$(/opt/xray/xray x25519)
|
||||||
PRIVATE=$(echo $KEYS | awk '{print $3}')
|
PRIVATE=$(echo $KEYS | awk '{print $3}')
|
||||||
PUBLIC=$(echo $KEYS | awk '{print $6}')
|
PUBLIC=$(echo $KEYS | awk '{print $6}')
|
||||||
SHORT=$(openssl rand -hex 8)
|
SHORT=$(openssl rand -hex 8)
|
||||||
MAIL=$(hostname)
|
MAIL=$(hostname)
|
||||||
IP=$(ip r get 8.8.8.8 | awk '{print $7}')
|
IP=$(ip r get 8.8.8.8 | awk '{print $7}')
|
||||||
|
|
||||||
sudo cat << EOF > /opt/xray/config.json
|
sudo cat << EOF > /opt/xray/config.json
|
||||||
{
|
{
|
||||||
"log": {
|
"log": {
|
||||||
"loglevel": "warning"
|
"loglevel": "warning"
|
||||||
},
|
},
|
||||||
"routing": {
|
"routing": {
|
||||||
$ROUTES
|
$ROUTES
|
||||||
},
|
},
|
||||||
"inbounds": [
|
"inbounds": [
|
||||||
{
|
{
|
||||||
|
|
@ -137,18 +139,18 @@ $ROUTES
|
||||||
"tag": "block"
|
"tag": "block"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
sudo systemctl start xray
|
sudo systemctl start xray
|
||||||
sudo systemctl enable xray
|
sudo systemctl enable xray
|
||||||
#Делаем скрипт для мониторинга работоспособности службы и её подъёма, если упала
|
#Делаем скрипт для мониторинга работоспособности службы и её подъёма, если упала
|
||||||
sudo cat <<EOF > /usr/local/bin/xray_monitor.sh
|
sudo cat <<EOF > /usr/local/bin/xray_monitor.sh
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
SERVICE_NAME="xray"
|
SERVICE_NAME="xray"
|
||||||
|
|
||||||
check_service() {
|
check_service() {
|
||||||
if systemctl is-active --quiet $SERVICE_NAME; then
|
if systemctl is-active --quiet $SERVICE_NAME; then
|
||||||
echo "XRAY working"
|
echo "XRAY working"
|
||||||
else
|
else
|
||||||
|
|
@ -159,31 +161,88 @@ check_service() {
|
||||||
echo "XRAY не стартует"
|
echo "XRAY не стартует"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
check_service
|
check_service
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
(crontab -l 2>/dev/null; echo "*/5 * * * * /usr/local/bin/xray_monitor.sh >> /var/log/xray_monitor.log 2>&1") | crontab -
|
(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 "Клиент https://github.com/MatsuriDayo/nekoray/releases"
|
||||||
echo ""
|
echo ""
|
||||||
echo "ПАРАМЕТРЫ ДЛЯ НАСТРОЙКИ ПРИЛОЖЕНИЯ. СОХРАНИТЕ ИХ!!!"
|
echo "ПАРАМЕТРЫ ДЛЯ НАСТРОЙКИ ПРИЛОЖЕНИЯ. СОХРАНИТЕ ИХ!!!"
|
||||||
echo "Название: Любое"
|
echo "Название: Любое"
|
||||||
echo "Адрес: $IP"
|
echo "Адрес: $IP"
|
||||||
echo "Порт: 443"
|
echo "Порт: 443"
|
||||||
echo "ID: $UUID"
|
echo "ID: $UUID"
|
||||||
echo "Поток: xtls-rprx-vision"
|
echo "Поток: xtls-rprx-vision"
|
||||||
echo "Шифрование: none"
|
echo "Шифрование: none"
|
||||||
echo "Сеть: tcp"
|
echo "Сеть: tcp"
|
||||||
echo "Тип заголовка: none"
|
echo "Тип заголовка: none"
|
||||||
echo "Узел HTTP и Путь пустые"
|
echo "Узел HTTP и Путь пустые"
|
||||||
echo "TLS: reality"
|
echo "TLS: reality"
|
||||||
echo "SNI www.$RANDOM_SITE.ru"
|
echo "SNI www.$RANDOM_SITE.ru"
|
||||||
echo "ОТПЕЧАТОК: Chrome"
|
echo "ОТПЕЧАТОК: Chrome"
|
||||||
echo "ОТКРЫТЫЙ КЛЮЧ: $PUBLIC"
|
echo "ОТКРЫТЫЙ КЛЮЧ: $PUBLIC"
|
||||||
echo "ShortID: $SHORT"
|
echo "ShortID: $SHORT"
|
||||||
echo "SpiderX: Пусто"
|
echo "SpiderX: Пусто"
|
||||||
echo ""
|
echo ""
|
||||||
echo "ТАКЖЕ МОЖНО ПРОСТО ИМПОРТИРОВАТЬ НАСТРОЙКИ ИЗ ДАННОЙ СТРОКИ"
|
echo "ТАКЖЕ МОЖНО ПРОСТО ИМПОРТИРОВАТЬ НАСТРОЙКИ ИЗ ДАННОЙ СТРОКИ"
|
||||||
echo "vless://$UUID@$IP:443?security=reality&encryption=none&pbk=$PUBLIC&headerType=none&fp=chrome&type=tcp&flow=xtls-rprx-vision&sni=www.$RANDOM_SITE.com&sid=$SHORT#VLESS%20HEILTZEENTCH"
|
echo "vless://$UUID@$IP:443?security=reality&encryption=none&pbk=$PUBLIC&headerType=none&fp=chrome&type=tcp&flow=xtls-rprx-vision&sni=www.$RANDOM_SITE.com&sid=$SHORT#VLESS%20HEILTZEENTCH"
|
||||||
|
else
|
||||||
|
echo "Понял, идём дальше"
|
||||||
|
fi
|
||||||
|
echo "Для установки hysterya Вам нужно иметь свой домен"
|
||||||
|
read -p "Вы хотите установить HYSTERIA2 (Y/N)?: " HYSTERIAYN
|
||||||
|
if [ $HYSTERIAYN = "Y" ] || [ $HYSTERIAYN = "y" ]; then
|
||||||
|
curl -fsSL https://get.hy2.sh/ > hysterya.sh
|
||||||
|
chmod +x hysterya.sh
|
||||||
|
sudo ./hysterya.sh
|
||||||
|
read -p "Введите Ваш домен: " HYSTERIADOMEN
|
||||||
|
read -p "Введите Ваш пароль от пользователя Hysteria: " HYSTERIAPASS
|
||||||
|
read -p "Введите Ваш пароль от обфускатора Salamander: " SALAMANDERPASS
|
||||||
|
read -p "Введите почту для уведомлений: " EMAILFORNOTIFICATIONS
|
||||||
|
rm /etc/hysteria/config.yaml
|
||||||
|
sudo tee /etc/hysteria/config.yaml <<EOF
|
||||||
|
listen: :443
|
||||||
|
|
||||||
|
acme:
|
||||||
|
domains:
|
||||||
|
- $HYSTERIADOMEN
|
||||||
|
email: $EMAILFORNOTIFICATIONS
|
||||||
|
|
||||||
|
obfs:
|
||||||
|
type: salamander
|
||||||
|
salamander:
|
||||||
|
password: $SALAMANDERPASS
|
||||||
|
|
||||||
|
auth:
|
||||||
|
type: password
|
||||||
|
password: $HYSTERIAPASS
|
||||||
|
EOF
|
||||||
|
sudo systemctl start hysteria-server.service
|
||||||
|
sudo systemctl enable hysteria-server.service
|
||||||
|
sudo tee hysteria-client.yaml <<EOF
|
||||||
|
server: $HYSTERIADOMEN:443
|
||||||
|
|
||||||
|
auth: $HYSTERIAPASS
|
||||||
|
|
||||||
|
obfs:
|
||||||
|
type: salamander
|
||||||
|
salamander:
|
||||||
|
password: $SALAMANDERPASS
|
||||||
|
|
||||||
|
bandwidth:
|
||||||
|
up: 50 mbps
|
||||||
|
down: 200 mbps
|
||||||
|
|
||||||
|
socks5:
|
||||||
|
listen: 127.0.0.1:1080
|
||||||
|
EOF
|
||||||
|
echo "Ваша строка для подключения:"
|
||||||
|
hysteria share -c hysteria-client.yaml
|
||||||
|
echo "И она же в виде QR-кода:"
|
||||||
|
hysteria share -c hysteria-client.yaml --qr
|
||||||
|
else
|
||||||
|
echo "Тогда заканчиваем"
|
||||||
|
fi
|
||||||
Loading…
Add table
Reference in a new issue