$link1
240 |
241 | 2) $link2
242 |
243 | 3) $link3
244 |
245 | №1 - самый надежный, остальные резервные!
246 |
247 | Клиентские приложения для работы VPN (куда нужно вставить конфиг):
248 |
249 | - iOS: Happ или v2rayTun или FoXray
250 |
251 | - Android: Happ или v2rayTun или v2rayNG
252 |
253 | - Windows: Happ или winLoadXRAY или Hiddify или Nekoray
254 |
255 | Сайт с инструкциями: blog.skybridge.run.
256 |
257 | Поддержать автора.
258 | "
259 |
260 | # Отправка сообщения в Telegram
261 | curl -s -X POST "https://api.telegram.org/bot$tgTOKEN/sendMessage" \
262 | -d chat_id="$userID" \
263 | -d text="$message" \
264 | -d parse_mode="HTML" \
265 | -d disable_web_page_preview=true
266 | fi
267 |
268 | # Формирование ссылок для вывода
269 | link1="vless://${xray_uuid_vrv}@${ipserv}:443?security=reality&sni=${xray_dest_vrv}&fp=chrome&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&type=tcp&flow=xtls-rprx-vision&encryption=none&spx=%2F#VPN-vless-443-SNI"
270 |
271 | link2="vless://${xray_uuid_vrv}@${ipserv}:8443?security=reality&sni=${xray_dest_vrv222}&fp=chrome&pbk=${xray_publicKey_vrv}&sid=${xray_shortIds_vrv}&type=tcp&flow=xtls-rprx-vision&encryption=none&spx=%2F#VPN-vless-8443-SNI"
272 |
273 | ENCODED_STRING=$(echo -n "chacha20-ietf-poly1305:${xray_sspasw_vrv}" | base64)
274 | link3="ss://$ENCODED_STRING@${ipserv}:2040#VPN-ShadowS-2040"
275 |
276 | echo -e "
277 |
278 | Ваши VPN конфиги. Первый - самый надежный, остальные резервные!
279 |
280 | \033[32m$link1\033[0m
281 |
282 | \033[32m$link2\033[0m
283 |
284 | \033[32m$link3\033[0m
285 |
286 | Скопируйте конфиг в специализированное приложение:
287 | - iOS: Happ или v2RayTun или FoXray
288 | - Android: Happ или v2RayTun или v2rayNG
289 | - Windows: Happ & v2RayTun & winLoadXRAY & Throne
290 |
291 | Поддержать автора: https://github.com/xVRVx/autoXRAY
292 |
293 | "
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # autoXRAY - личный ВПН сервер
2 | Bash-скрипт для автоматической настройки ядра [Xray](https://github.com/XTLS/Xray-core). Предназначен для удобного получения актуальных конфигураций VPN для семейного/личного использования, настраивает selfsteal VLESS [XHTTP](https://github.com/XTLS/Xray-core/discussions/4113#discussioncomment-11468947) / [RAW](https://github.com/XTLS/REALITY/blob/main/README.en.md) REALITY.
3 |
4 | **UPD5: Обходим блокировку Gemini на серых IP через [WARP-cli](#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-warp-cli-%D0%B4%D0%BB%D1%8F-%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B0-%D1%81%D0%B5%D1%80%D1%8B%D1%85-ip)**
5 |
6 | **UPD4: Добавлен новый экспериментальный скрипт с [GRPC XHTTP RAW WS XTLS/TLS](#%D1%8D%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D1%81-grpc-xhttp-raw-ws-xtlstls)**
7 |
8 | **UPD3: Обход новых блокировок - скрипт переработан на vless xhttp reality**
9 |
10 | **UPD2: Описание неактуальных скриптов перемещено в [oldScriptReadme.md](https://github.com/xVRVx/autoXRAY/blob/main/old/oldScriptReadme.md).**
11 |
12 | **UPD1: Добавлен новый раздел — [построение моста RU -> EU](#%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC-%D0%BC%D0%BE%D1%81%D1%82-ru---eu).**
13 |
14 | Рекомендуемая система: чистая Ubuntu 24/Debian 12 с root правами.
15 |
16 |
17 | ===========================================================================
18 |
19 | ## Конфигурация с клиентским конфигом для РФ (рекомендуется)
20 | Будем использовать маскировку под собственный сайт (selfsteal), который крутится на вашем же VPS.
21 |
22 | Для установки надо [арендовать VPS](#выбор-сервера-подбирал-промо-тарифы) и [получить домен](#получаем-домен).
23 |
24 | Автоматически перенаправляет весь ру трафик напрямую.
25 | ```bash
26 |
27 | bash -c "$(curl -L https://raw.githubusercontent.com/xVRVx/autoXRAY/main/autoXRAYselfConfRUxhttp.sh)" -- вашДОМЕН.com
28 | ```
29 |
30 | **Вы получите:**
31 | 1) vless RAW reality XTLS на 443 порту - хорошая маскировка, быстрый.
32 | 2) vless XHTTP reality EXTRA на 443 порту - продвинутые настройки, повышенная нагрузка на cpu.
33 | 3) vless RAW reality MUX на 443 порту - MUX работает только через конфиг клиента.
34 | 4) shadowsocks 2022-blake3-chacha20-poly1305 на 8443 порту - новый, простой и быстрый.
35 | 5) socks5 прокси на 10443 порту - используйте для сервисов (например: ТГ).
36 |
37 |
38 | ===========================================================================
39 |
40 | ## Выбор сервера (подбирал промо тарифы)
41 |
42 | - [senko.digital](https://senko.digital/?ref=47670) - от 2€, есть днс-хостинг и домены для selfsteel, есть оплата СБП.
43 | - [notbad](https://my.notbad.cloud/?from=188) - от 3$, есть оплата рублями, хороший курс и канал.
44 | - [WAICORE](https://waicore.com/?from=3063) - от 2€ промо, есть оплата рублями.
45 | - [XorekCloud](https://xorek.cloud/?from=28522) - тут есть новый промо тариф, за 150 руб./мес.
46 | - [hosting-russia](https://hosting-russia.ru/?p=57731) - ру сервера от 180 рублей, для моста ru-eu.
47 | - [cloudcore](https://cloudcore.ru/?affiliate_uuid=e9ad7432-7898-4de2-8606-38eb90e0c1a6) - ру сервера от 100 рублей, для моста ru-eu.
48 |
49 |
50 | Имейте в виду, что подсети некоторых популярных хостинг-провайдеров, таких как аеза, pq(ufo), ishosting и др., заблокированы многими провайдерами(РКН). К ним порой даже невозможно подключиться по SSH. Поэтому, пожалуйста, не используйте их или не жалуйтесь, что у вас не работает основной скрипт.
51 |
52 |
53 | ## Получаем домен
54 |
55 | **Получаем бесплатный поддомен**: регестрируемся в [cloudns](https://www.cloudns.net/aff/id/1919804/). Далее: Управление -> DNS Хостинг -> Создать зону -> Свободная зона -> вводим рандомное имя для поддомена.
56 | Теперь надо создать A-запись: Новая запись -> Тип А -> Хост (имя субдомена) -> Указывает на (IP адрес вашего VPS).
57 |
58 | Еще бесплатный поддомен можно получить тут -> https://freedns.afraid.org/ (он немного лагучий, но на первом иногда возникают лимиты на Let's Encrypt).
59 |
60 | **Платный домен и бесплатный днс-хостинг можно получить** в [senko.digital](https://senko.digital/?ref=47670). Здесь же можно арендовать промо VPS.
61 | Платные сервисы, как правило, работают стабильнее.
62 |
63 | Помните, что DNS-записи обновляются не сразу: иногда это занимает 15 минут, иногда — час и более. Проверить - [xseo.in/dns](https://xseo.in/dns).
64 |
65 |
66 |
67 | ## Настройка VPN
68 | **Скопируйте конфиг (страничка подписки) в специализированное приложение:**
69 |
70 | - iOS/macOS: [Happ](https://www.happ.su/main/ru) или [v2rayTun](https://v2raytun.com/) | (FoXray, Hiddify)
71 | - Android: [Happ](https://www.happ.su/main/ru) или [v2rayTun](https://v2raytun.com/) | (v2rayNG, SimpleXray)
72 | - Windows: [winLoadXray](https://github.com/xVRVx/winLoadXRAY/releases/latest/download/winLoadXRAY.exe), [v2rayN](https://github.com/2dust/v2rayN/releases/) | (Happ, v2rayTun, Throne, Hiddify)
73 | - Linux: [v2rayN](https://github.com/2dust/v2rayN/releases/) | (Happ, Throne, Hiddify)
74 |
75 | () - не поддерживают клиентский конфиг, только vless:// (конфиг для роутера).
76 |
77 |
78 | ===========================================================================
79 |
80 | ## Пояснение и рекомендации
81 |
82 | Сейчас в сети много инструкций по установке GUI-панелей, таких как PasarGuard, 3x-ui или новая RemnaWave. Однако все они избыточны для домашнего использования, так как предназначены для крупных проектов и отличаются высокой сложностью настройки (также используют ядро xray).
83 |
84 | Мануал, который необходимо пройти до получения первого рабочего конфига, занимает более 10 страниц.
85 | Кроме того, подходящий конфиг для Xray нужно ещё поискать и правильно настроить — с этим отлично справляется данный скрипт.
86 |
87 | Без GUI и базы данных Xray потребляет меньше ресурсов сервера и отлично подходит для запуска на слабых VPS-конфигурациях!
88 |
89 | При каждом запуске autoXRAY генерирует новые UUID, ключи и пароли для защиты пользователей.
90 |
91 | **Преимущества selfsteal**
92 | - Сайт всегда работает на вашем ВПС - устраняется точка отказа.
93 | - Ниже пинг - быстрее соединение.
94 | - Не используются CDN, которые есть на многих популярных сайтах.
95 | - Лучше маскировка - т.к. сайт находится в той же сети что и сервер.
96 |
97 | **Обновить ядро xray**
98 | ```bash
99 | bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
100 | ```
101 |
102 | **Перейти на алгоритм BBR**
103 |
104 | Если у вас много одновременных подключений, то можно включить алгоритм BBR (от гугла) - поможет повысить пропускную способность VPN.
105 | Проверка текущего алгоритма: sysctl net.ipv4.tcp_congestion_control
106 |
107 |
108 | ## Смена паролей и сайта маскировки
109 |
110 | Запустите скрипт заново - он сформирует новые конфигурации VPN для YouTube, chatGPT и других нужных сайтов.
111 |
112 | ## Повышенная маскировка
113 |
114 | Настоятельно рекомендуется: сменить порт ssh со стандартного 22 на другой и/или сделать вход на сервер по ключу. Настроить файрвол и оставить открытыми порты для работы скрипта: ваш ssh порт, 80 для certbot, 443, 8443, 10443 для xray.
115 |
116 | Если вы хотите погрузиться в дело конфигурации xray есть отличный [справочник](https://xtls.github.io/ru/config/outbounds/vless.html) и [руководство](https://github.com/XTLS/Xray-core/discussions/3518).
117 |
118 | Редактировать конфиг можно тут: **/usr/local/etc/xray/config.json**
119 |
120 | После изменений ядро надо перезапустить: **systemctl restart xray**
121 |
122 |
123 | ===========================================================================
124 |
125 | ## Настраиваем мост RU -> EU
126 | Многие столкнулись с блокировками хостинг-сетей по TLS (особенно при использовании мобильного интернета). Существует решение — построение моста между серверами в разных локациях. Для этого необходимо:
127 |
128 | 1) На заблокированный чистый VPS ставим стандартный рекомендованный скрипт и берем стандартый получившийся XHTTP конфиг №2:
129 | ```bash
130 | bash -c "$(curl -L https://raw.githubusercontent.com/xVRVx/autoXRAY/main/autoXRAYselfConfRUxhttp.sh)" -- поддомен1.вашДОМЕН.com
131 |
132 | ```
133 | 2) На ru VPS ставим новый скрипт (здесь нам понадобится vless XHTTP reality конфиг №2):
134 | ```bash
135 | bash -c "$(curl -L https://raw.githubusercontent.com/xVRVx/autoXRAY/main/autoXRAYselflConfRUbrEUxhttp.sh)" -- поддомен2.вашДОМЕН.com "vless://вашКонфигXHTTP"
136 | ```
137 | Установится прокси мост между серверами, итоговая цепочка: конфиг клиента -> ru VPS -> eu VPS -> зарубежный сайт
138 |
139 | Также можно взять vless RAW reality XTLS и использовать предыдущий скрипт моста:
140 | ```bash
141 | bash -c "$(curl -L https://raw.githubusercontent.com/xVRVx/autoXRAY/main/old/autoXRAYselfstealConfRUbrEU.sh)" -- поддомен2.вашДОМЕН.com "vless://вашКонфигRAW"
142 | ```
143 |
144 |
145 | ===
146 |
147 | **Если вы хотите пускать YouTube через ruVPS (у вас он без ТСПУ или вы поставили и настроили [zapret4rocket](https://github.com/IndeecFOX/zapret4rocket))**
148 |
149 | Тогда в конфиге ruVPS, который лежит /usr/local/etc/xray/config.json надо добавить в строке 146:
150 | ```bash
151 | "geosite:youtube",
152 | "youtube.com",
153 | "googlevideo.com",
154 | "ytimg.com",
155 | "ggpht.com",
156 | ```
157 | и перезапустить ядро: **systemctl restart xray**
158 |
159 | ===========================================================================
160 |
161 | ## Экспериментальный скрипт с GRPC XHTTP RAW WS XTLS/TLS
162 |
163 | ```bash
164 | bash -c "$(curl -L https://raw.githubusercontent.com/xVRVx/autoXRAY/main/test/autoXRAYselfTLS2.sh)" -- вашДОМЕН.com
165 | ```
166 |
167 |
168 | ===========================================================================
169 |
170 | ## Установка WARP-cli для обхода серых IP
171 | WARP-cli нужен когда VPS выдают серые IP и доступ к некоторым нужным сервисам закрыт.
172 | В этом примере мы обойдем геоблокировку гугл для Gemini.
173 | Установите ПО:
174 | ```bash
175 | cd && bash <(curl -fsSL https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh) w
176 | ```
177 | Ответы на вопросы: 1, 1, 40000, 1
178 |
179 | В конфиге xray **/usr/local/etc/xray/config.json**
180 | поменяйте в конце
181 | ```json
182 | {
183 | "outboundTag": "direct",
184 | "domain": ["geosite:google-gemini","geosite:category-ru"]
185 | }
186 | ```
187 | на
188 | ```json
189 | {
190 | "outboundTag": "warp",
191 | "domain": ["geosite:google-gemini","geosite:category-ru"]
192 | }
193 | ```
194 | После изменений ядро надо перезапустить: **systemctl restart xray**
195 |
196 | ===========================================================================
197 |
198 | Скрипты будут дорабатываться до актуального состояния.
199 |
200 | **[Поддержать автора.](https://pay.cryptocloud.plus/pos/Weu1Y0fOhLho0nte)**
201 |
--------------------------------------------------------------------------------
/old/autoXRAYselfsteal.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | DOMAIN=$1
4 |
5 | if [ -z "$DOMAIN" ]; then
6 | echo "❌ Ошибка: домен не задан."
7 | exit 1
8 | fi
9 |
10 | echo "Обновление и установка необходимых пакетов..."
11 | apt update && apt install -y jq dnsutils
12 |
13 |
14 | LOCAL_IP=$(hostname -I | awk '{print $1}')
15 | DNS_IP=$(dig +short "$DOMAIN" | grep '^[0-9]')
16 |
17 | if [ "$LOCAL_IP" != "$DNS_IP" ]; then
18 | echo "❌ Внимание: IP-адрес ($LOCAL_IP) не совпадает с A-записью $DOMAIN ($DNS_IP)."
19 | echo "Правильно укажите одну A-запись для вашего домена в ДНС - $LOCAL_IP"
20 |
21 | read -p "Продолжить на ваш страх и риск? (y/N): " choice
22 | if [[ ! "$choice" =~ ^[Yy]$ ]]; then
23 | echo "Выполнение скрипта прервано."
24 | exit 1
25 | fi
26 | echo "Продолжение выполнения скрипта..."
27 | fi
28 |
29 |
30 | apt install nginx -y
31 |
32 | systemctl enable --now nginx
33 |
34 | apt install certbot -y
35 |
36 | certbot certonly --webroot -w /var/www/html -d $DOMAIN -m mail@$DOMAIN --agree-tos --non-interactive --deploy-hook "systemctl reload nginx"
37 |
38 | CONFIG_PATH="/etc/nginx/sites-available/default"
39 |
40 | echo "✅ Записываем конфигурацию в $CONFIG_PATH для домена $DOMAIN"
41 |
42 | bash -c "cat > $CONFIG_PATH" <Маршрутизацию нужно выключить, она тут встроенная. По умолчанию она выключена - включается, если вы пользовались сторонними сервисами.
688 | 689 | 690 |Маршрутизацию нужно выключить, она тут встроенная. По умолчанию она выключена - включается, если вы пользовались сторонними сервисами.
688 |Маршрутизацию нужно выключить, она тут встроенная. По умолчанию она выключена - включатся, если вы пользовались сторонними сервисами.
921 |