-
Posts
51 -
Joined
-
Last visited
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by Роберт Зарипов
-
-
19 минут назад, The_Same сказал:
Первый скрин в режиме redirect до обновления? Второй после обновления и тоже redirect?
добавляете --dport 443 80 whapsapp и скайп начинают работатть в режиме редирект и скорость повисется
-
3 часа назад, Skrill0 сказал:
Можно найти строки в init файле S24xray
for protocol in $protocols; do \$cmd -A "\$chain" -p "\$protocol" -j $redirect_mode --to-port $dokodemo_port done
И заменить наfor protocol in $protocols; do \$cmd -A "\$chain" -p "\$protocol" --dport 443 -j $redirect_mode --to-ports $dokodemo_port \$cmd -A "\$chain" -p "\$protocol" --dport 80 -j $redirect_mode --to-ports $dokodemo_port done
Немного позже добавлю в init переменную, в которую можно будет внести все порты, с которых требуется перенаправление)15 минут назад, The_Same сказал:Первый скрин в режиме redirect до обновления? Второй после обновления и тоже redirect?
-
4 минуты назад, The_Same сказал:
Первый скрин в режиме redirect до обновления? Второй после обновления и тоже redirect?
смотрите выше коментарии от Skrill0 как добавит --dport 443 80 в S24xray
- 1
-
1 минуту назад, The_Same сказал:
@Роберт Зарипов непонятно, какой скрин к чему относится? Какой из них без xleen, какой через xkeen? Какая скорость по тарифу?
по тарифу 100 мигабит все через xkeen
-
-
22 минуты назад, Skrill0 сказал:
Можно найти строки в init файле S24xray
for protocol in $protocols; do \$cmd -A "\$chain" -p "\$protocol" -j $redirect_mode --to-port $dokodemo_port done
И заменить наfor protocol in $protocols; do \$cmd -A "\$chain" -p "\$protocol" --dport 443 -j $redirect_mode --to-ports $dokodemo_port \$cmd -A "\$chain" -p "\$protocol" --dport 80 -j $redirect_mode --to-ports $dokodemo_port done
Немного позже добавлю в init переменную, в которую можно будет внести все порты, с которых требуется перенаправление)спасибо и скорость увеличилась и вапсап работает
- 1
-
а можно ли добавит как то файл автозапуска S24xray --dport 443 чтобы он прописывал правило iptables
-
1 минуту назад, Skrill0 сказал:
Извиняюсь, возможно, непонятно выразилась.
Нужно было удалить именно комментарий.
Вот так должен выглядеть в итоге полный inbounds, как описал выше @bigpu// Настройка исходящих соединений { "inbounds": [ { "listen": "192.168.1.1", // Адрес Вашего шлюза "port": 54836, "protocol": "dokodemo-door", "settings": { "network": "tcp,udp", "followRedirect": true }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls" ] }, "tag": "socks-in" } ] }
спасибо всем все работает
- 2
-
2 минуты назад, bigpu сказал:
вот корректный код:
// Настройка исходящих соединений { "inbounds": [ { "listen": "192.168.1.1", // Адрес Вашего шлюза "port": 54836, "protocol": "dokodemo-door", "settings": { "network": "tcp,udp", "followRedirect": true }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls" ] }, "tag": "socks-in" } ] }
извините Skrill0 мне сказала удалит все кроме порта
-
10 минут назад, Skrill0 сказал:
Видимо, допустили синтаксическую ошибку в inbounds.
Пришлите, пожалуйста, его полностью — проверю) -
сделал как вы сказали получаю вот это
Xray не запустить
~ # xkeen -start
Xray 1.8.4 (Xray, Penetrates Everything.) Custom (go1.21.0 linux/mipsle)
A unified platform for anti-censorship.
2023/10/27 09:57:31 Using confdir from env: /opt/etc/xray/configs
2023/10/27 09:57:31 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/01_log.json
2023/10/27 09:57:31 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/02_stats.json
2023/10/27 09:57:31 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/03_dns.json
2023/10/27 09:57:31 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/04_reverse.json
2023/10/27 09:57:31 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/05_fake-dns.json
2023/10/27 09:57:31 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/06_transport.json
2023/10/27 09:57:31 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/07_inbounds.json
Failed to start: main: failed to load config files: [/opt/etc/xray/configs/01_log.json /opt/etc/xray/configs/02_stats.json /opt/etc/xray/configs/03_dns.json /opt/etc/xray/configs/04_reverse.json /opt/etc/xray/configs/05_fake-dns.json /opt/etc/xray/configs/06_transport.json /opt/etc/xray/configs/07_inbounds.json /opt/etc/xray/configs/08_outbounds.json /opt/etc/xray/configs/09_policy.json /opt/etc/xray/configs/11_fallbacks.json] > infra/conf/serial: failed to decode config: /opt/etc/xray/configs/07_inbounds.json > infra/conf/serial: failed to read config file at line 7 char 3 > invalid character '}' looking for beginning of object key string
Xray не запустить
~ #
-
14 минуты назад, Skrill0 сказал:
Нужно создать новую политику подключения с именем «Xkeen», как на скриншоте
Xray будет работать только с устройствами из этой политики.
В эту политику добавить устройства, которые должны использовать «Xray»
Также, нужно удалить комментарий в inbounds, если у Вас он есть, чтобы остался только порт
К примеру, сейчас у Вас
«"port": 54836, // Порт на котором будет слушать Xray. Рекомендуется выбрать порт от 49152 до 65535»
Должно остаться
«port": 54836,»
После этого xkeen -restart в PuTTY.вот так
// Настройка исходящих соединений
{
"inbounds": [
{
"port": 54836, // Порт на котором будет слушать Xray. Рекомендуется выбрать порт от 49152 до 65535
-
6 минут назад, Skrill0 сказал:
После обновления Xray работает с учетом политик, а не на все соединение сразу.
Это позволит увеличить скорость доступа и снизить нагрузку на устройство.и как это все должно выглядеть правильно чтобы не было ошибок с моей стороный
-
6 минут назад, Skrill0 сказал:
Доброго Вам дня!
Скажите, пожалуйста, а внеслись ли правила в iptables?iptables -t nat -L PREROUTING
Внизу должна быть цепь XRAY_IPV4
А внутри нее правила с Redirectiptables -t nat -L XRAY_IPV4
Примерно такие внизу цепиREDIRECT tcp -- anywhere anywhere redir ports 54837 REDIRECT udp -- anywhere anywhere redir ports 54837
Если все на месте, проверьте, пожалуйста, внесли ли Вы клиента в политику и правильно ли политика называется?
Должна быть назвала «Xkeen», если не меняли переменную.я вообще нечего не вносил раньше и без этого работало
-
у меня почему то не срабатывает redirect после обновление xray запущен и работает
-
порт 80 можно не ставит он бесполезнь
-
30 минут назад, insdr сказал:
А можете чуть подробнее описать как сделали на кинетике в GUI?
Нарисовал правила фаерволла для коннекта на запрет всего кроме 80/443, но результата не видно.
Спасибо.
надо правит сам файл автозапуска 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"
ndm="/opt/etc/ndm/netfilter.d"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"
ficase "$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
;;
esacecho -n > /opt/etc/ndm/netfilter.d/xray.sh
cat > /opt/etc/ndm/netfilter.d/xray.sh <<EOL
#!/bin/shxray_mode=$xray_mode
if [ "\$xray_mode" = "socks" ]; then
exit 0
elif [ "\$xray_mode" = "redirect" ]; then
if ! iptables -t nat -C PREROUTING -i br0 -p tcp --dport 443 -j REDIRECT --to-port $xray_port 2>/dev/null; then
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 443 -j REDIRECT --to-port $xray_port
fiif ! iptables -t nat -C PREROUTING -i br0 -p udp --dport 443 -j REDIRECT --to-port $xray_port 2>/dev/null; then
iptables -t nat -A PREROUTING -i br0 -p udp --dport 443 -j REDIRECT --to-port $xray_port
fiif ! ip6tables -t nat -C PREROUTING -i $interface -p tcp -j REDIRECT --to-port $xray_port 2>/dev/null; then
ip6tables -t nat -A PREROUTING -i $interface -p tcp -j REDIRECT --to-port $xray_port
fiif ! ip6tables -t nat -C PREROUTING -i $interface -p udp -j REDIRECT --to-port $xray_port 2>/dev/null; then
ip6tables -t nat -A PREROUTING -i $interface -p udp -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
fiEOL
}# Функция для удаления правил 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 tcp -j REDIRECT --to-port "$xray_port" 2>/dev/null; then
iptables -t nat -D PREROUTING -i "$interface" -p tcp -j REDIRECT --to-port "$xray_port"
fiif iptables -t nat -C PREROUTING -i "$interface" -p udp -j REDIRECT --to-port "$xray_port" 2>/dev/null; then
iptables -t nat -D PREROUTING -i "$interface" -p udp -j REDIRECT --to-port "$xray_port"
fiif ip6tables -t nat -C PREROUTING -i "$interface" -p tcp -j REDIRECT --to-port "$xray_port" 2>/dev/null; then
ip6tables -t nat -D PREROUTING -i "$interface" -p tcp -j REDIRECT --to-port "$xray_port"
fiif ip6tables -t nat -C PREROUTING -i "$interface" -p udp -j REDIRECT --to-port "$xray_port" 2>/dev/null; then
ip6tables -t nat -D PREROUTING -i "$interface" -p udp -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 $delayif xray_status; then
echo -e " Xray ${green}запущен${reset}"
log_notice_init "Xray запущен"
# Устанавливаем правила IPv4 и IPv6
add_rules
$ndm/xray.shecho "" >> "$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"
;;
esacexit 0
-
22 часа назад, VladimirM сказал:
Я использую xkeen на 2 кинетиках, и чуток модифицированную версию скрипта на более слабом роутере Huawei, с entware. Так вот на слабом роутере использую "ленивую конфигурацию", в режиме direct (не socks-прокси). Модуля TRPOXY на том старом роутере вообще нет. В ленивой конфигурации, кто особо не в теме - через vds идёт трафик по заблокированным ресурсам, а всё остальное - мимо прокси. Но я отправляю в xray только http https
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 54837
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 443 -j REDIRECT --to-port 54837в итоге, skype, zoom, whatsapp вроде работает нормально, с браузингом интернетов тоже всё нормально, падения скорости не наблюдаю. torrent даже не доходит до клиента xray в такой схеме, и падения скорости быть не может.
Попробуйте на слабом железе, может устроит.
спасибо вам ваше модификация решило проблему с whatsapp и скоростью
-
37 минут назад, jameszero сказал:
Добрый вечер, Роберт Зарипов. Да, при редиректе весь трафик проходит через xray и скорость режется для всех сайтов, а при выборочном обходе блокировок скорость режется только для доменов из списка обхода, а остальной трафик идет напрямую со скоростью провайдера.
Вы меня неправильно поняли Я говорю Когда я добавляю сайт Выборочный обход блокировок Например speedtest Тогда скорость Не режет Через xray redirect У меня провайдер 100 мегабит Через xray redirect показывает 80 90 А когда Я пускаю весь трафик через xray redirect Тогда Максимум 50 Мбит скорость на ультре 1810
-
Я так понял когда весь трафик гонишь Через redirect Скорость Режутся когда выборочный обход Блокировок Идёт Через Redirect Скорость Не режется
-
10 часов назад, Skrill0 сказал:
Тогда до выхода обновления можете руками обновить init скрипт по пути /opt/etc/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" ndm="/opt/etc/ndm/netfilter.d" 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 tcp -j REDIRECT --to-port $xray_port 2>/dev/null; then iptables -t nat -A PREROUTING -i $interface -p tcp -j REDIRECT --to-port $xray_port fi if ! iptables -t nat -C PREROUTING -i $interface -p udp -j REDIRECT --to-port $xray_port 2>/dev/null; then iptables -t nat -A PREROUTING -i $interface -p udp -j REDIRECT --to-port $xray_port fi if ! ip6tables -t nat -C PREROUTING -i $interface -p tcp -j REDIRECT --to-port $xray_port 2>/dev/null; then ip6tables -t nat -A PREROUTING -i $interface -p tcp -j REDIRECT --to-port $xray_port fi if ! ip6tables -t nat -C PREROUTING -i $interface -p udp -j REDIRECT --to-port $xray_port 2>/dev/null; then ip6tables -t nat -A PREROUTING -i $interface -p udp -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 tcp -j REDIRECT --to-port "$xray_port" 2>/dev/null; then iptables -t nat -D PREROUTING -i "$interface" -p tcp -j REDIRECT --to-port "$xray_port" fi if iptables -t nat -C PREROUTING -i "$interface" -p udp -j REDIRECT --to-port "$xray_port" 2>/dev/null; then iptables -t nat -D PREROUTING -i "$interface" -p udp -j REDIRECT --to-port "$xray_port" fi if ip6tables -t nat -C PREROUTING -i "$interface" -p tcp -j REDIRECT --to-port "$xray_port" 2>/dev/null; then ip6tables -t nat -D PREROUTING -i "$interface" -p tcp -j REDIRECT --to-port "$xray_port" fi if ip6tables -t nat -C PREROUTING -i "$interface" -p udp -j REDIRECT --to-port "$xray_port" 2>/dev/null; then ip6tables -t nat -D PREROUTING -i "$interface" -p udp -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 $ndm/xray.sh 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
спасибо большое эта конфинурация решило мою проблему
- 1
-
7 минут назад, Skrill0 сказал:
На данном этапе не инициируется ручной перезапуск netfilter скрипта.
Используется автоматический запуск средствами ndm.
Можете попробовать инициировать его вручную/opt/etc/ndm/netfilter.d/xray.sh
В следующем обновлении будет также и инициация.спасибо помогло
- 1
-
3 минуты назад, avn сказал:
Скажу по поводу tproxy - все мои эксперименты окончились фиаско. Длинные цепочки на keenetic работают очень плохо за счет постоянного их пересоздания и очистки. Думаю про tproxy можно забыть в длинных цепочках. А redirect работает и с udp. С ним проблем не наблюдаю.
а почему redirect при ручном перезапуске xray долго срабатывает 25 минут аж
-
но у меня он работает через интерфейсы без прокси
7 минут назад, Skrill0 сказал:Tproxy требует дополнительной настройки в iptables с поднятием самого модуля Tproxy.
Без них Tproxy не поднимется
keenetic peak . Хуже wi-fi покрытие чем у keenetic ultra kn 1810
in Community Support & Knowledge Exchange
Posted
Добрый день. . Я хотел спросить у вас у keenetic peak kn-2710 Хуже wi-fi покрытие чем у keenetic ultra kn-1810 У меня почему-то на двухкомнатную квартиру не хватает Его . Чуть Отойди от комнаты где он стоит . И . Скорость . Падает . На телефоне . Я ничего не понимаю . Либо это брак либо . Я . Плохо закручиваю . Антенны с keenetic ultra kn-1810 Хватало на всю квартиру