-
Постов
277 -
Зарегистрирован
-
Посещение
-
Победитель дней
38
Тип контента
Профили
Форумы
Галерея
Загрузки
Блоги
События
Сообщения, опубликованные Skrill0
-
-
52 минуты назад, Sercha сказал:
Добрый вечер. Прежде всего большое спасибо автору за такой своевременный и масштабный проект.
У меня, к сожалению, пока не получается запустить систему. Прошу по возможности помощи.
Прежде всего, мне чертовски важен UDP, так что вариант с встроенным прокси не рассматриваю. Так же не могу использовать сторонние прокси в клиентах - роутер должен всё переварить сам). Мне не нужна фильтрация и гео-роутинг - я хочу всё завернуть в туннель.
Версия xkeen у меня актуальная. В режиме socks-прокси работает через внешний прокси-клиент (firefox), на стороне сервера подключение вижу (vless reality). Через встроенный прокси - не работает (не идёт трафик), ну да мне он и не нужен, я с ним особо не разбирался. А вот в режиме redirect весь трафик всегда идёт через провайдера, а не в туннель. В логах всё чисто, в системном логе xkeen рапортует о запуске в redirect режиме. Возможно подскажете, куда копать, спасибо! Далее прилагаю свои основные конфиги/диагностики. За основу брал "ленивый" пример из документации.
08_outbounds.json заполнен по рыбе и работает, думаю не нужен.
07_inbounds.json:
// Настройка исходящих соединений
{
"inbounds": [
{
"listen": "192.168.99.1", // Адрес Вашего шлюза
"port": 54836, // Порт на котором будет слушать Xray. Рекомендуется выбрать порт от 49152 до 65535
"protocol": "dokodemo-door",
"settings": {
"network": "tcp,udp",
"followRedirect": true
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls"
]
},
"tag": "socks-in"
}
]
}10_inbounds.json:
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"inboundTag": ["socks-in"],
"outboundTag": "proxy",
"type": "field"
}
]
}
}iptables -t nat -L PREROUTING -n -v
на скриншоте
Спасибо!
Доброго Вам вечера!
ndm не отрабатывает сразу после внесения автоматом. Нужно немного подождать)
Попробуйте запустить руками:/opt/etc/ndm/netfilter.d/xray.sh
В ближайшем обновлении будет исправлено) -
16 минут назад, Roman Balaev сказал:
Подскажите, а можно использовать отличный от 443 порт, так как он уже занят у меня на сервере под обратный прокси? в конфиге написано настоятельно рекмендуется, чем обернется использование другого порта?
Все будет работать, но провайдер | цензор может счесть трафик подозрительным. Так как классическое соединение для https запросов устанавливается через 443 порт.
А цель связки сделать соединение максимально приближенное к обычному интернет-серфингу, где-нибудь на rutube | amd | google и т.п.
Соответственно, Ваше соединение будет выглядеть [Устанавливает соединение по https > порт отличный от 443 = модифицированное соединение]
В outbounds на keenetic рекомендуется использовать 443 порт, а на reverse proxy в inbounds — также может быть 443 порт. Все должно работать.-
1
-
-
21 минуту назад, avn сказал:
Скажу по поводу tproxy - все мои эксперименты окончились фиаско. Длинные цепочки на keenetic работают очень плохо за счет постоянного их пересоздания и очистки. Думаю про tproxy можно забыть в длинных цепочках. А redirect работает и с udp. С ним проблем не наблюдаю.
Скажите, пожалуйста, а нет ли у Вас проблем с серверами игр Steam / WhatsApp?
У некоторых пользователей они возникают в работе с Redirect, при том, что UDP включен.Т.е. redirect UDP есть и в inbounds по dokodemo-door udp влючен.
-
11 минуту назад, Роберт Зарипов сказал:
а почему redirect при ручном перезапуске xray долго срабатывает 25 минут аж
На данном этапе не инициируется ручной перезапуск netfilter скрипта.
Используется автоматический запуск средствами ndm.
Можете попробовать инициировать его вручную/opt/etc/ndm/netfilter.d/xray.sh
В следующем обновлении будет также и инициация. -
1 минуту назад, Роберт Зарипов сказал:
я настроил его под ваши ленивые конфиги через dokodemo-door
Tproxy требует дополнительной настройки в iptables с поднятием самого модуля Tproxy.
Без них Tproxy не поднимется -
28 минут назад, Роберт Зарипов сказал:
добрый день почему когда я перезагружаю роутер xray сразу срабатывает а когда я вручную перезапускаю он только через 24 минуты срабатывает у меня подключение через redirect tproxy
Здравствуйте!
За внесение правил в таблицу отвечает netfilter.
Он срабатывает автоматически, раз в промежуток времени.
Вы отредактировали init.d под tproxy?
Так как Xkeen пока что не поддерживает Tproxy полноценно, только в ближайшие несколько дней будет обновление для него. -
1 час назад, jameszero сказал:
Самым производительным решением оказалась связка xkeen + kvas. При этом список доменов, которые должны идти через vpn, обрабатывает не xray, а kvas, остальные идут напрямую, минуя socks и redirect. В этом решении есть некоторые минусы, например kvas не работает с файлами geoip и geosite, поддерживается только список вручную указанных доменов, ну и автоматизации установки xkeen + kvas тоже нет, нужно поставить kvas с поддержкой shadowsocks, затем xkeen и вместо shadowsocks запустить xray на том-же порту по протоколу dokodemo-door (не используя режим redirect xkeen). Надеюсь авторы проектов скооперируются и выпустят совместимые между собой версии xkeen и kvas 💪 🙂
Доброго Вам дня!
В одном из следующих обновлений могу сделать аналогичный мод для Xkeen, по спискам)
Чтобы Xray открывал только указанные в Вашем личном списке домены. Но, как Вы заметили, без GeoIP/GeoSite)-
3
-
-
Всем доброго утра!
Xkeen сейчас поддерживает работу в 2-х режимах- Socks
- Redirect
Socks — режим, который был изначально. Использовать можно через встроенный прокси-клиент Keenetic или через Proxy интерфейсы windows/браузера.
Redirect — новый режим, перенаправляет вообще все соединение на Xray. Могут возникнуть проблемы с сервисами / играми, которые не любят работать с Proxy.
Эта проблема должна быть решена с выходом Transparent proxy режима.Режимы включаются автоматически, в зависимости от содержимого Inbounds.
Если у Вас соединение через Dokodemo-door, то будет использовать Redirect. Если через Socks — будет использоваться Socks.Выход режима Transparent proxy откладывается приблизительно на неделю, так как я немного заболела.
-
5
-
1
-
Только что, The_Same сказал:
Не помогает, к сожалению. Меня сын проклянет сейчас уже😄Сожалею, что так вышло.
Попробуйте следующее решение. Будем направлять не все соединение, а только с портов 443 и 80 на xray, то есть тех, которые используются для интернет-серфинга.
Обновите init.d файл S24xray до следующего содержимогоСкрытый текст#!/bin/sh ### Начало информации о службе # Краткое-описание: Запуск / Остановка Xray # version="0.8" # Версия ### Конец информации о службе # Цвета для вывода green="\033[32m" red="\033[31m" yellow="\033[33m" reset="\033[0m" # Пути и переменные xkeen_info_log="/opt/var/log/xkeen/info.log" xkeen_error_log="/opt/var/log/xkeen/error.log" path="/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin" xray_path="xray" xray_config="/opt/etc/xray/configs" app_name="Xkeen" interface="br0" export XRAY_LOCATION_ASSET="/opt/etc/xray/dat/" # Функции для ведения журнала в роутере log_notice_init() { local header="${app_name}" logger -p notice -t "${header}" "${1}" } log_error_init() { local header="${app_name}" logger -p error -t "${header}" "${1}" } exit_with_error() { echo "Ошибка: $1" exit 1 } # Функция для определения файла inbounds determine_config_file() { config_file="" if [ -n "$(ls "$xray_config" | grep 'inbounds')" ]; then config_file="$xray_config/$(ls "$xray_config" | grep 'inbounds')" elif [ -e "$xray_config/config.json" ]; then config_file="$xray_config/config.json" fi } # Функция для определения порта xray determine_xray_port() { xray_port=$(cat "$config_file" | grep -o '"port": [0-9]*' | awk '{print $2}' | head -n 1) if [ -z "$xray_port" ]; then exit_with_error "Не удалось определить xray_port из настроек." else # Проверяем, что xray_port является числом if ! [[ "$xray_port" =~ ^[0-9]+$ ]]; then exit_with_error "xray_port не является допустимым числом." fi fi } add_rules () { determine_config_file determine_xray_port if grep -q '"protocol": "dokodemo-door"' "$config_file"; then if grep -q '"tproxy": "tproxy"' "$config_file"; then xray_mode="tproxy" else xray_mode="redirect" fi else xray_mode="socks" fi case "$xray_mode" in "tproxy") log_notice_init "Найден «dokodemo-door» с режимом Transparent proxy в inbounds. Xray запущен в режиме Transparent proxy." ;; "redirect") log_notice_init "Найден «dokodemo-door» в inbounds. Xray запущен в режиме Redirect." ;; "socks") log_notice_init "Не найден «dokodemo-door» в inbounds. Xray запущен в обычном режиме. Для работы Xray нужно направить на него соединение любым удобным Вам способом." ;; *) log_notice_init "Ошибка: Недопустимое значение xray_mode: $xray_mode" exit 1 ;; esac echo -n > /opt/etc/ndm/netfilter.d/xray.sh cat > /opt/etc/ndm/netfilter.d/xray.sh <<EOL #!/bin/sh xray_mode=$xray_mode if [ "\$xray_mode" = "socks" ]; then exit 0 elif [ "\$xray_mode" = "redirect" ]; then if ! iptables -t nat -C PREROUTING -i $interface -p udp --dport 80 -j REDIRECT --to-port $xray_port 2>/dev/null; then iptables -t nat -A PREROUTING -i $interface -p udp --dport 80 -j REDIRECT --to-port $xray_port fi if ! iptables -t nat -C PREROUTING -i $interface -p udp --dport 443 -j REDIRECT --to-port $xray_port 2>/dev/null; then iptables -t nat -A PREROUTING -i $interface -p udp --dport 443 -j REDIRECT --to-port $xray_port fi if ! iptables -t nat -C PREROUTING -i $interface -p tcp --dport 80 -j REDIRECT --to-port $xray_port 2>/dev/null; then iptables -t nat -A PREROUTING -i $interface -p tcp --dport 80 -j REDIRECT --to-port $xray_port fi if ! iptables -t nat -C PREROUTING -i $interface -p tcp --dport 443 -j REDIRECT --to-port $xray_port 2>/dev/null; then iptables -t nat -A PREROUTING -i $interface -p tcp --dport 443 -j REDIRECT --to-port $xray_port fi if ! ip6tables -t nat -C PREROUTING -i $interface -p udp --dport 80 -j REDIRECT --to-port $xray_port 2>/dev/null; then ip6tables -t nat -A PREROUTING -i $interface -p udp --dport 80 -j REDIRECT --to-port $xray_port fi if ! ip6tables -t nat -C PREROUTING -i $interface -p udp --dport 443 -j REDIRECT --to-port $xray_port 2>/dev/null; then ip6tables -t nat -A PREROUTING -i $interface -p udp --dport 443 -j REDIRECT --to-port $xray_port fi if ! ip6tables -t nat -C PREROUTING -i $interface -p tcp --dport 80 -j REDIRECT --to-port $xray_port 2>/dev/null; then ip6tables -t nat -A PREROUTING -i $interface -p tcp --dport 80 -j REDIRECT --to-port $xray_port fi if ! ip6tables -t nat -C PREROUTING -i $interface -p tcp --dport 443 -j REDIRECT --to-port $xray_port 2>/dev/null; then ip6tables -t nat -A PREROUTING -i $interface -p tcp --dport 443 -j REDIRECT --to-port $xray_port fi elif [ "\$xray_mode" = "tproxy" ]; then iptables -t mangle -N XRAY iptables -t mangle -N XRAY_SELF iptables -t mangle -N DIVERT else echo "Ошибка: Недопустимое значение переменной xray_mode: $xray_mode" exit 1 fi EOL } # Функция для удаления правил redirect для адресов IPv4 delete_rules() { echo -n > /opt/etc/ndm/netfilter.d/xray.sh determine_config_file determine_xray_port # Проверка существования правил и удаление их, если они существуют if iptables -t nat -C PREROUTING -i $interface -p udp --dport 80 -j REDIRECT --to-port $xray_port 2>/dev/null; then iptables -t nat -D PREROUTING -i $interface -p udp --dport 80 -j REDIRECT --to-port $xray_port fi if iptables -t nat -C PREROUTING -i $interface -p udp --dport 443 -j REDIRECT --to-port $xray_port 2>/dev/null; then iptables -t nat -D PREROUTING -i $interface -p udp --dport 443 -j REDIRECT --to-port $xray_port fi if iptables -t nat -C PREROUTING -i $interface -p tcp --dport 80 -j REDIRECT --to-port $xray_port 2>/dev/null; then iptables -t nat -D PREROUTING -i $interface -p tcp --dport 80 -j REDIRECT --to-port $xray_port fi if iptables -t nat -C PREROUTING -i $interface -p tcp --dport 443 -j REDIRECT --to-port $xray_port 2>/dev/null; then iptables -t nat -D PREROUTING -i $interface -p tcp --dport 443 -j REDIRECT --to-port $xray_port fi if ip6tables -t nat -C PREROUTING -i $interface -p udp --dport 80 -j REDIRECT --to-port $xray_port 2>/dev/null; then ip6tables -t nat -D PREROUTING -i $interface -p udp --dport 80 -j REDIRECT --to-port $xray_port fi if ip6tables -t nat -C PREROUTING -i $interface -p udp --dport 443 -j REDIRECT --to-port $xray_port 2>/dev/null; then ip6tables -t nat -D PREROUTING -i $interface -p udp --dport 443 -j REDIRECT --to-port $xray_port fi if ip6tables -t nat -C PREROUTING -i $interface -p tcp --dport 80 -j REDIRECT --to-port $xray_port 2>/dev/null; then ip6tables -t nat -D PREROUTING -i $interface -p tcp --dport 80 -j REDIRECT --to-port $xray_port fi if ip6tables -t nat -C PREROUTING -i $interface -p tcp --dport 443 -j REDIRECT --to-port $xray_port 2>/dev/null; then ip6tables -t nat -D PREROUTING -i $interface -p tcp --dport 443 -j REDIRECT --to-port $xray_port fi } # Функция для проверки статуса xray xray_status() { if pgrep -f "$xray_path run -confdir $xray_config" > /dev/null; then return 0 # Процесс существует и работает else return 1 # Процесс не существует fi } # Функция для запуска Xray | Особая благодарность jameszero start() { log_notice_init "Инициирован запуск Xray" max_retries=10 # Максимальное количество попыток запуска retries=0 delay=1 # Начальная задержка в секундах while [ $retries -lt $max_retries ]; do if xray_status; then echo -e " Xray уже ${green}запущен${reset}" log_notice_init "Не удалось запустить Xray, так как он уже запущен" echo "" >> "$xkeen_error_log" echo "[start] Проверка статуса Xray" >> "$xkeen_error_log" echo " [error] Xray уже запущен" >> "$xkeen_error_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_error_log" echo "" >> "$xkeen_error_log" return 0 # Прерываем цикл, так как Xray уже запущен else "$xray_path" run -confdir "$xray_config" & sleep $delay if xray_status; then echo -e " Xray ${green}запущен${reset}" log_notice_init "Xray запущен" # Устанавливаем правила IPv4 и IPv6 add_rules echo "" >> "$xkeen_info_log" echo "[end] Проверка статуса Xray" >> "$xkeen_info_log" echo " [info] Xray запущен" >> "$xkeen_info_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_info_log" echo "" >> "$xkeen_info_log" return 0 # Прерываем цикл, так как Xray успешно запущен else retries=$((retries + 1)) echo -e " Попытка повторного запуска Xray: $retries из $max_retries" log_notice_init "Попытка повторного запуска Xray: $retries из $max_retries" delay=$((delay + 1)) # Увеличиваем задержку на 1 секунду fi fi done # Если достигнуто максимальное количество попыток и Xray не запущен, выводим ошибку echo -e " Не удалось запустить Xray после $max_retries попыток" log_error_init "Не удалось запустить Xray после $max_retries попыток" echo "" >> "$xkeen_error_log" echo "[start] Проверка статуса Xray" >> "$xkeen_error_log" echo " [error] Не удалось запустить Xray после $max_retries попыток" >> "$xkeen_error_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_error_log" echo "" >> "$xkeen_error_log" } # Функция для остановки xray stop() { log_notice_init "Инициирована остановка Xray" if xray_status; then # Удаляем правила IPv4 и IPv6 iptables -t nat -A PREROUTING -i "$interface" -s 192.0.0.0/24 -j ACCEPT sleep 1 delete_rules sleep 1 iptables -t nat -D PREROUTING -i "$interface" -s 192.0.0.0/24 -j ACCEPT killall -q -9 "$xray_path" echo -e " Xray ${yellow}остановлен${reset}" log_notice_init "Xray остановлен" echo "" >> "$xkeen_info_log" echo "[start] Проверка статуса Xray" >> "$xkeen_info_log" echo " [info] Xray остановлен" >> "$xkeen_info_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_info_log" echo "" >> "$xkeen_info_log" else echo -e " Xray ${red}не запущен${reset}" log_error_init "Остановка Xray не удалась. Xray не был запущен" echo "" >> "$xkeen_error_log" echo "[start] Проверка статуса Xray" >> "$xkeen_error_log" echo " [error] Xray не был запущен" >> "$xkeen_error_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_error_log" echo "" >> "$xkeen_error_log" fi } # Обработка аргументов командной строки case "$1" in start) start ;; stop) stop ;; status) if xray_status; then echo -e " Xray ${green}запущен${reset}" echo "" >> "$xkeen_info_log" echo "[start] Проверка статуса Xray" >> "$xkeen_info_log" echo " [info] Xray запущен" >> "$xkeen_info_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_info_log" echo "" >> "$xkeen_info_log" else echo -e " Xray ${red}не запущен${reset}" echo "" >> "$xkeen_info_log" echo "[start] Проверка статуса Xray" >> "$xkeen_info_log" echo " [info] Xray не запущен" >> "$xkeen_info_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_info_log" echo "" >> "$xkeen_info_log" fi ;; restart) stop > /dev/null 2>&1 start > /dev/null 2>&1 echo -e " Xray ${green}перезапущен${reset}" ;; *) echo -e " Команды: ${green}start${reset} | ${red}stop${reset} | ${yellow}restart${reset} | status" ;; esac exit 0
Потом
xkeen -stop xkeen -start
-
1
-
-
15 минут назад, bigpu сказал:
могли бы подсказать конфиг xray, чтобы пока юзать его через статические маршруты, как с VPN сейчас? То бишь, весь трафик идет через прокси xray, в маршрутах Кинетик я выбираю IP или их диапазон, конкретного заблокированного ресурса, который открывается через прокси.
P.S. да, геморно, но так и скорость будет в режиме direct вся, что дают оба провайдера, и приложение будет работоспособно) Честно, изначально хотел Xray как реализацию обхода блокировок "судного дня".
P.P.S. с удовольствием перейду полностью на Xray, как только он заработает корректно с приложением Кинетик.
В таком случае Вам нужно оставить в routing только соединение «proxy».
Использовать файл автоматического старта Xray из предыдущих версий XkeenСкрытый текст#!/bin/sh ### Начало информации о службе # Краткое-описание: Запуск / Остановка Xray # version="0.5" # Версия # mode="redirect" # Мод ### Конец информации о службе green="\033[32m" red="\033[31m" yellow="\033[33m" reset="\033[0m" xkeen_info_log="/opt/var/log/xkeen/info.log" xkeen_error_log="/opt/var/log/xkeen/error.log" path="/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin" xray_path="xray" xray_config="/opt/etc/xray/configs" app_name="Xkeen" export XRAY_LOCATION_ASSET="/opt/etc/xray/dat/" # Функция для ведения журнала в роутере log_notice_init() { local header="${app_name}" logger -p notice -t "${header}" "${1}" } log_error_init() { local header="${app_name}" logger -p error -t "${header}" "${1}" } exit_with_error() { echo "Ошибка: $1" exit 1 } # Функция для проверки статуса xray xray_status() { if pgrep -f "$xray_path run -confdir $xray_config" > /dev/null; then return 0 # Процесс существует и работает else return 1 # Процесс не существует fi } # Функция для запуска xray | Особая благодарность jameszero start() { log_notice_init "Инициирован запуск Xray" max_retries=3 # Максимальное количество попыток запуска retries=0 while [ $retries -lt $max_retries ]; do if xray_status; then echo -e " Xray уже ${green}запущен${reset}" log_notice_init "Не удалось запустить Xray, так как он уже запущен" echo "" >> "$xkeen_error_log" echo "[start] Проверка статуса Xray" >> "$xkeen_error_log" echo " [error] Xray уже запущен" >> "$xkeen_error_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_error_log" echo "" >> "$xkeen_error_log" return 0 # Прерываем цикл, так как Xray уже запущен else "$xray_path" run -confdir "$xray_config" & sleep 10 if xray_status; then echo -e " Xray ${green}запущен${reset}" log_notice_init "Xray запущен" echo "" >> "$xkeen_info_log" echo "[end] Проверка статуса Xray" >> "$xkeen_info_log" echo " [info] Xray запущен" >> "$xkeen_info_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_info_log" echo "" >> "$xkeen_info_log" return 0 # Прерываем цикл, так как Xray успешно запущен else retries=$((retries + 1)) echo -e " Попытка повторного запуска Xray: $retries из $max_retries" log_notice_init "Попытка повторного запуска Xray: $retries из $max_retries" sleep 10 fi fi done # Если достигнуто максимальное количество попыток и Xray не запущен, выводим ошибку echo -e " Не удалось запустить Xray после $max_retries попыток" log_error_init "Не удалось запустить Xray после $max_retries попыток" echo "" >> "$xkeen_error_log" echo "[start] Проверка статуса Xray" >> "$xkeen_error_log" echo " [error] Не удалось запустить Xray после $max_retries попыток" >> "$xkeen_error_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_error_log" echo "" >> "$xkeen_error_log" } # Функция для остановки xray stop() { log_notice_init "Инициирована остановка Xray" if xray_status; then killall -q -9 "$xray_path" echo -e " Xray ${yellow}остановлен${reset}" log_notice_init "Xray остановлен" echo "" >> "$xkeen_info_log" echo "[start] Проверка статуса Xray" >> "$xkeen_info_log" echo " [info] Xray остановлен" >> "$xkeen_info_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_info_log" echo "" >> "$xkeen_info_log" else echo -e " Xray ${red}не запущен${reset}" log_error_init "Остановка Xray не удалась. Xray не был запущен" echo "" >> "$xkeen_error_log" echo "[start] Проверка статуса Xray" >> "$xkeen_error_log" echo " [error] Xray не был запущен" >> "$xkeen_error_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_error_log" echo "" >> "$xkeen_error_log" fi } # Обработка аргументов командной строки case "$1" in start) start ;; stop) stop ;; status) if xray_status; then echo -e " Xray ${green}запущен${reset}" echo "" >> "$xkeen_info_log" echo "[start] Проверка статуса Xray" >> "$xkeen_info_log" echo " [info] Xray запущен" >> "$xkeen_info_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_info_log" echo "" >> "$xkeen_info_log" else echo -e " Xray ${red}не запущен${reset}" echo "" >> "$xkeen_info_log" echo "[start] Проверка статуса Xray" >> "$xkeen_info_log" echo " [info] Xray не запущен" >> "$xkeen_info_log" echo "[end] Проверка статуса Xray выполнена" >> "$xkeen_info_log" echo "" >> "$xkeen_info_log" fi ;; restart) stop > /dev/null 2>&1 start > /dev/null 2>&1 echo -e " Xray ${green}перезапущен${reset}" ;; *) echo -e " Команды: ${green}start${reset} | ${red}stop${reset} | ${yellow}restart${reset} | status" ;; esac exit 0Соединение оставить также, через dokodemo-door и проложить маршрут до порта на котором слушает Xray.
Теоретически, должно заработать
-
1
-
-
2 минуты назад, The_Same сказал:
Вылезла проблема откуда не ждал🫢 Сын играет в CS:GO, когда было настроено через прокси кинетика играл спокойно, в режиме redirect сервера в игре недоступны. Выключаю xray, сервера в игре доступны. Куда копать?
Тут можно посмотреть в 2 направлениях.
1. Попробуйте добавить в routing в direct подключениеext:geosite_v2fly.dat:steam2. Попробуйте сменить поток на клиентской стороне на
xtls-rprx-vision-udp443-
1
-
-
25 минут назад, The_Same сказал:
Кстати, Quic РКН до сих пор блокирует? Если да, то нужная фича, получается. Заворачивая Quic в TCP мы по прежнему можем его использовать, правильно я понимаю?
mux то нам для чего?
На данном XTLS (не путать с ядром Xray) поддерживает транспорт TCP, mKCP и DomainSocket.
Quic не очень подходит для проксирования. Внутри него есть механизмы, аналогичные функциональности TCP, такие как управление потоками, адаптация к изменяющимся условиям сети и некоторые другие.
Когда он передается как UDP-трафик через протокол VLess, основным протоколом является TCP, что эквивалентно двум слоям TCP.
Что касается mux, в контексте Quicи других протоколов, он может улучшить производительность и снизить задержки, объединяя несколько потоков в одном соединении без создания множества отдельных соединений.-
1
-
-
1 минуту назад, The_Same сказал:
Все-таки, согласно документации, параметр xtls-rprx-vision-udp443 относится к UserObject, на стороне сервера это не указываем, там остается xtls-rprx-vision. Либо я чего-то не понял🙂
Да, на стороне сервера можно оставить только
xtls-rprx-visionЭто значит, что на сервер Вы можете отправлять запросы http.3 | Quic, а с сервера получать классические ответы, что считается более надежным.
Схематично выглядит так
Mux должен быть включен только на стороне клиента. Для просмотра видео, загрузки и тестирования скоростей имеет негативные последствия.
Позволяет объединить несколько запросов к серверу в 1.
К примеру, мы отправляем 16 TCP запросов, Mux собирает их в 1 и отправляет на сервер.-
1
-
-
24 минуты назад, The_Same сказал:
Какой в этом практический смысл?
Согласно китайским товарищам в чате Telegram, немного меняет логику обработки UDP в режиме мультиплексирования на 443 порту сервера и допускает обработку Quic | http.3.
Для mux нужно будет также сменить "xudpProxyUDP443": "reject" на "xudpProxyUDP443": "allow".
Flow также можно менять только на стороне клиента.
На стороне сервера следует менять только в редких случаях.
Пример секции mux в клиентской частиСкрытый текст"mux": { "enabled": true, "concurrency": -1, "http3", "concurrency": -1, "xudpConcurrency". "xudpConcurrency": 16, "xudpProxyUDP". "xudpProxyUDP443": "allow" }
Более детального описания, к сожалению, нет. Тесты также еще в пути. В общем, можно попробовать)-
1
-
2
-
-
55 минут назад, The_Same сказал:
Всем добрый вечер, добрался до роутера. В первую очередь, огромное спасибо @Skrill0 за проделанную работу! Касательно тестов, с redirect скорость через proxy такая:
Скорость через direct такая:
Тестировал специально до европейских серверов, ибо большинство проксируемых ресурсов для моих задач находятся в европе.
П.С. Обязательно попозже скину на кофе с тортиком😜
Благодарю)
В дополнение ко всему на данном этапе можно попробовать сменить на сервере и в outbounds параметр flowxtls-rprx-visionна
xtls-rprx-vision-udp443-
1
-
-
1 минуту назад, bigpu сказал:
Да, все верно
Рада, что ситуация со скоростью теперь выглядит более оптимистично)
-
1 минуту назад, bigpu сказал:
видимо, да.
Да тупо в Спидтест, в режиме прокси показывало 50Мбит+, с ограничением в шапке "приблизительно 40-60мб/сек". Так что показывает более-менее верно, чтобы загоняться с более точным замером)
Если Вы из России, то для более точных замеров лучше использовать сервис от Yandex.
Они проводят замеры на своих серверах.
Speedtest работает скорее в роли Proxy.
Если при замере заглянуть в журнал доступа, то сервер, который может выдать Speedtest, иногда оказывается в соединении proxy, когда он сам откроется через direct. В таком случае замер будет некачественным.
Также, стоит помнить про разницу из-за шифрования.
Правильно ли я поняла, что через встроенный прокси-клиент Ваше соединение достигало ~50мб/сек, а через redirect ~180? -
Только что, bigpu сказал:
от Tproxy не стоит ждать скоростей больших чем сейчас 180Мбит с redirect, верно? Интересует скорость именно в режиме direct.
Да, на данном этапе скорость упирается в оборудование. Пока что решения не найдено.
Tproxy должен исправить проблему в локальных сетях с отображением, к примеру, других устройств в приложении.
На ultra 1811 с redirect скорость с шифрованием всего соединения через Proxy упирается в download 300 и upload 550.
* Шифрование применяется не часто, так как большая часть соединений уже шифрованы. Это для примера. На деле скорость будет выше.
Видимо, на viva скорость упирается в 180.
Скажите, пожалуйста, каким методом проводили замер скорости?
-
1
-
-
Всем доброго дня!
Вышла версия 0.9.2 | Благодарю @adk за тестирование
ЖурналСкрытый текст- Улучшена логика работы обновлений
- Доработан ключ переустановки Xray «-x»
- Добавлено больше информации в журнал роутера
- Добавлен задел под Tproxy | Пока что нельзя использовать
Обновиться можно командойxkeen -uk-
5
-
15 минут назад, adk сказал:
К сожалению, у меня не запустилось...
Утром проверил версию xkeen - обновилась автоматом
Актуализировал инбаундс, убрал прокси-соединение из веба кинетика
Вывод iptables -t nat -L PREROUTING -n -v
Ребут роутера, stop\start xkeen не помогли...
в логах роутера запись из цитаты не появлялась...
Доброго Вам дня!
Судя по командеiptables -t nat -L PREROUTING -n -vПравила redirect добавлены успешно.
Сохраняется ли у Вас доступ к интернету? Попробуйте добавить в proxy-соединение speedtest или 2ip.
Какой будет IP, сервера или Ваш?Также, попробуйте, пожалуйста, переустановить xkeen. Вижу некоторые проблемы с accept таблицей.
xkeen -stop xkeen -k-
1
-
-
-
-
Только что, bigpu сказал:
проблему решило, спасибо!
пока тестирую redirect, позже отпишусь)
Рада, что все получилось)
В логе роутера должна появиться следующая запись при запуске redirect-mode.Скрытый текст
-
1
-
-
1 минуту назад, bigpu сказал:
нет, как вижу - /opt/bin/sh: iptables: not found
Видимо, не установился iptables.
Вашу проблему решитopkg install iptables xkeen -stop xkeen -start
Дополнительно проверю установщик необходимых пакетов. Благодарю за информацию!-
1
-






Xkeen
в Каталог готовых решений Opkg
Опубликовано · Изменено пользователем Skrill0
Тогда до выхода обновления можете руками обновить init скрипт по пути /opt/etc/init.d/S24xray. Это должно решить Вашу проблему)