Jump to content

Роберт Зарипов

Forum Members
  • Posts

    51
  • Joined

  • Last visited

Everything posted by Роберт Зарипов

  1. Добрый день. . Я хотел спросить у вас у keenetic peak kn-2710 Хуже wi-fi покрытие чем у keenetic ultra kn-1810 У меня почему-то на двухкомнатную квартиру не хватает Его . Чуть Отойди от комнаты где он стоит . И . Скорость . Падает . На телефоне . Я ничего не понимаю . Либо это брак либо . Я . Плохо закручиваю . Антенны с keenetic ultra kn-1810 Хватало на всю квартиру
  2. добавляете --dport 443 80 whapsapp и скайп начинают работатть в режиме редирект и скорость повисется
  3. а можно ли добавит как то файл автозапуска S24xray --dport 443 чтобы он прописывал правило iptables
  4. сделал как вы сказали получаю вот это 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 не запустить ~ #
  5. вот так // Настройка исходящих соединений { "inbounds": [ { "port": 54836, // Порт на котором будет слушать Xray. Рекомендуется выбрать порт от 49152 до 65535
  6. надо правит сам файл автозапуска 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 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 fi if ! 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 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
  7. Вы меня неправильно поняли Я говорю Когда я добавляю сайт Выборочный обход блокировок Например speedtest Тогда скорость Не режет Через xray redirect У меня провайдер 100 мегабит Через xray redirect показывает 80 90 А когда Я пускаю весь трафик через xray redirect Тогда Максимум 50 Мбит скорость на ультре 1810
  8. Я так понял когда весь трафик гонишь Через redirect Скорость Режутся когда выборочный обход Блокировок Идёт Через Redirect Скорость Не режется
×
×
  • Create New...