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
405
yarx.sh
405
yarx.sh
|
|
@ -1,189 +1,248 @@
|
|||
#!/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
|
||||
"rules": [],
|
||||
"domainStrategy": "AsIs"
|
||||
read -p "Вы хотите установить VLESS (Y/N)?: " VLESSYN
|
||||
if [ $VLESSYN = "Y" ] || [ $VLESSYN = "y" ]; then
|
||||
#Качаем и ставим пакет
|
||||
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
|
||||
"rules": [],
|
||||
"domainStrategy": "AsIs"
|
||||
EOF
|
||||
)
|
||||
else
|
||||
echo "Ну нет так нет"
|
||||
ROUTES=$(cat << EOF
|
||||
"domainStrategy": "IPIfNonMatch",
|
||||
"rules": [
|
||||
)
|
||||
else
|
||||
echo "Ну нет так нет"
|
||||
ROUTES=$(cat << EOF
|
||||
"domainStrategy": "IPIfNonMatch",
|
||||
"rules": [
|
||||
{
|
||||
"type": "field",
|
||||
"ip": [
|
||||
"geoip:private"
|
||||
],
|
||||
"outboundTag": "block"
|
||||
},
|
||||
{
|
||||
"type": "field",
|
||||
"ip": ["geoip:ru"],
|
||||
"outboundTag": "block"
|
||||
},
|
||||
{
|
||||
"type": "field",
|
||||
"domain": [
|
||||
"geosite:category-ads-all"
|
||||
],
|
||||
"outboundTag": "block"
|
||||
}
|
||||
]
|
||||
EOF
|
||||
)
|
||||
#Накатываем конфиг для сервиса
|
||||
sudo cat << EOF > /usr/lib/systemd/system/xray.service
|
||||
[Unit]
|
||||
Description=Xray Service
|
||||
Documentation=https://github.com/xtls
|
||||
After=network.target nss-lookup.target
|
||||
|
||||
[Service]
|
||||
User=nobody
|
||||
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||
NoNewPrivileges=true
|
||||
ExecStart=/opt/xray/xray run -config /opt/xray/config.json
|
||||
Restart=on-failure
|
||||
RestartPreventExitStatus=23
|
||||
LimitNPROC=10000
|
||||
LimitNOFILE=1000000
|
||||
LogLevelMax=4
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
#Определяем переменные и накатываем конфиг для пользователя
|
||||
sites=("vk" "yandex" "mail" "mts" "gosuslugi")
|
||||
random_index=$((RANDOM % ${#sites[@]}))
|
||||
RANDOM_SITE=${sites[$random_index]}
|
||||
|
||||
UUID=$(/opt/xray/xray uuid)
|
||||
KEYS=$(/opt/xray/xray x25519)
|
||||
PRIVATE=$(echo $KEYS | awk '{print $3}')
|
||||
PUBLIC=$(echo $KEYS | awk '{print $6}')
|
||||
SHORT=$(openssl rand -hex 8)
|
||||
MAIL=$(hostname)
|
||||
IP=$(ip r get 8.8.8.8 | awk '{print $7}')
|
||||
|
||||
sudo cat << EOF > /opt/xray/config.json
|
||||
{
|
||||
"log": {
|
||||
"loglevel": "warning"
|
||||
},
|
||||
"routing": {
|
||||
$ROUTES
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"type": "field",
|
||||
"ip": [
|
||||
"geoip:private"
|
||||
],
|
||||
"outboundTag": "block"
|
||||
"port": 443,
|
||||
"protocol": "vless",
|
||||
"tag": "vless_tls",
|
||||
"settings": {
|
||||
"clients": [
|
||||
{
|
||||
"id": "$UUID",
|
||||
"email": "$USER@$MAIL",
|
||||
"flow": "xtls-rprx-vision"
|
||||
}
|
||||
],
|
||||
"decryption": "none"
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "tcp",
|
||||
"security": "reality",
|
||||
"realitySettings": {
|
||||
"show": false,
|
||||
"dest": "www.$RANDOM_SITE.ru:443",
|
||||
"xver": 0,
|
||||
"serverNames": [
|
||||
"www.$RANDOM_SITE.ru"
|
||||
],
|
||||
"privateKey": "$PRIVATE",
|
||||
"minClientVer": "",
|
||||
"maxClientVer": "",
|
||||
"maxTimeDiff": 0,
|
||||
"shortIds": [
|
||||
"$SHORT"
|
||||
]
|
||||
}
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"protocol": "freedom",
|
||||
"tag": "direct"
|
||||
},
|
||||
{
|
||||
"type": "field",
|
||||
"ip": ["geoip:ru"],
|
||||
"outboundTag": "block"
|
||||
},
|
||||
{
|
||||
"type": "field",
|
||||
"domain": [
|
||||
"geosite:category-ads-all"
|
||||
],
|
||||
"outboundTag": "block"
|
||||
"protocol": "blackhole",
|
||||
"tag": "block"
|
||||
}
|
||||
]
|
||||
EOF
|
||||
)
|
||||
#Накатываем конфиг для сервиса
|
||||
sudo cat << EOF > /usr/lib/systemd/system/xray.service
|
||||
[Unit]
|
||||
Description=Xray Service
|
||||
Documentation=https://github.com/xtls
|
||||
After=network.target nss-lookup.target
|
||||
|
||||
[Service]
|
||||
User=nobody
|
||||
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||
NoNewPrivileges=true
|
||||
ExecStart=/opt/xray/xray run -config /opt/xray/config.json
|
||||
Restart=on-failure
|
||||
RestartPreventExitStatus=23
|
||||
LimitNPROC=10000
|
||||
LimitNOFILE=1000000
|
||||
LogLevelMax=4
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
#Определяем переменные и накатываем конфиг для пользователя
|
||||
sites=("vk" "yandex" "mail" "mts" "gosuslugi")
|
||||
random_index=$((RANDOM % ${#sites[@]}))
|
||||
RANDOM_SITE=${sites[$random_index]}
|
||||
|
||||
UUID=$(/opt/xray/xray uuid)
|
||||
KEYS=$(/opt/xray/xray x25519)
|
||||
PRIVATE=$(echo $KEYS | awk '{print $3}')
|
||||
PUBLIC=$(echo $KEYS | awk '{print $6}')
|
||||
SHORT=$(openssl rand -hex 8)
|
||||
MAIL=$(hostname)
|
||||
IP=$(ip r get 8.8.8.8 | awk '{print $7}')
|
||||
|
||||
sudo cat << EOF > /opt/xray/config.json
|
||||
{
|
||||
"log": {
|
||||
"loglevel": "warning"
|
||||
},
|
||||
"routing": {
|
||||
$ROUTES
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"port": 443,
|
||||
"protocol": "vless",
|
||||
"tag": "vless_tls",
|
||||
"settings": {
|
||||
"clients": [
|
||||
{
|
||||
"id": "$UUID",
|
||||
"email": "$USER@$MAIL",
|
||||
"flow": "xtls-rprx-vision"
|
||||
}
|
||||
],
|
||||
"decryption": "none"
|
||||
},
|
||||
"streamSettings": {
|
||||
"network": "tcp",
|
||||
"security": "reality",
|
||||
"realitySettings": {
|
||||
"show": false,
|
||||
"dest": "www.$RANDOM_SITE.ru:443",
|
||||
"xver": 0,
|
||||
"serverNames": [
|
||||
"www.$RANDOM_SITE.ru"
|
||||
],
|
||||
"privateKey": "$PRIVATE",
|
||||
"minClientVer": "",
|
||||
"maxClientVer": "",
|
||||
"maxTimeDiff": 0,
|
||||
"shortIds": [
|
||||
"$SHORT"
|
||||
]
|
||||
}
|
||||
},
|
||||
"sniffing": {
|
||||
"enabled": true,
|
||||
"destOverride": [
|
||||
"http",
|
||||
"tls"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"outbounds": [
|
||||
{
|
||||
"protocol": "freedom",
|
||||
"tag": "direct"
|
||||
},
|
||||
{
|
||||
"protocol": "blackhole",
|
||||
"tag": "block"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
sudo systemctl start xray
|
||||
sudo systemctl enable xray
|
||||
#Делаем скрипт для мониторинга работоспособности службы и её подъёма, если упала
|
||||
sudo cat <<EOF > /usr/local/bin/xray_monitor.sh
|
||||
#!/bin/bash
|
||||
sudo systemctl start xray
|
||||
sudo systemctl enable xray
|
||||
#Делаем скрипт для мониторинга работоспособности службы и её подъёма, если упала
|
||||
sudo cat <<EOF > /usr/local/bin/xray_monitor.sh
|
||||
#!/bin/bash
|
||||
|
||||
SERVICE_NAME="xray"
|
||||
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() {
|
||||
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
|
||||
check_service
|
||||
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 ""
|
||||
echo "ПАРАМЕТРЫ ДЛЯ НАСТРОЙКИ ПРИЛОЖЕНИЯ. СОХРАНИТЕ ИХ!!!"
|
||||
echo "Название: Любое"
|
||||
echo "Адрес: $IP"
|
||||
echo "Порт: 443"
|
||||
echo "ID: $UUID"
|
||||
echo "Поток: xtls-rprx-vision"
|
||||
echo "Шифрование: none"
|
||||
echo "Сеть: tcp"
|
||||
echo "Тип заголовка: none"
|
||||
echo "Узел HTTP и Путь пустые"
|
||||
echo "TLS: reality"
|
||||
echo "SNI www.$RANDOM_SITE.ru"
|
||||
echo "ОТПЕЧАТОК: Chrome"
|
||||
echo "ОТКРЫТЫЙ КЛЮЧ: $PUBLIC"
|
||||
echo "ShortID: $SHORT"
|
||||
echo "SpiderX: Пусто"
|
||||
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 "Клиент https://github.com/MatsuriDayo/nekoray/releases"
|
||||
echo ""
|
||||
echo "ПАРАМЕТРЫ ДЛЯ НАСТРОЙКИ ПРИЛОЖЕНИЯ. СОХРАНИТЕ ИХ!!!"
|
||||
echo "Название: Любое"
|
||||
echo "Адрес: $IP"
|
||||
echo "Порт: 443"
|
||||
echo "ID: $UUID"
|
||||
echo "Поток: xtls-rprx-vision"
|
||||
echo "Шифрование: none"
|
||||
echo "Сеть: tcp"
|
||||
echo "Тип заголовка: none"
|
||||
echo "Узел HTTP и Путь пустые"
|
||||
echo "TLS: reality"
|
||||
echo "SNI www.$RANDOM_SITE.ru"
|
||||
echo "ОТПЕЧАТОК: Chrome"
|
||||
echo "ОТКРЫТЫЙ КЛЮЧ: $PUBLIC"
|
||||
echo "ShortID: $SHORT"
|
||||
echo "SpiderX: Пусто"
|
||||
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"
|
||||
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