Jump to content

Recommended Posts

Ремарка по Proxy серверу.

По работе proxy и им подобных - нужен все время доступ до адреса самого сервера, это делается стат маршрутом нужного адреса сервера через нужный интерфейс провайдера.  Например сервер proxy 195......74

ip route add 195.IP_сервера.74 dev IF_интерфейс

 

В прошивке же есть Proxy сервис и используется badvpn-tun2socks он так же есть в Entware

~ # opkg list | grep tun2socks
badvpn - 1.999.133-1 - The tun2socks program "socksifes" TCP connections at the network layer. It implements a TUN device which accepts all incoming TCP connections (regardless of destination IP), and forwards the connections through a SOCKS server. This allows you to forward all connections through SOCKS, without any need for application support. It can be used, for example, to forward connections through a remote SSH server.
~ # 

но для запуска имеем

/opt/bin # ./badvpn-tun2socks
--netif-ipaddr is required
Failed to parse arguments
Usage:
    ./badvpn-tun2socks
        [--help]
        [--version]
        [--logger <stdout/syslog>]
        (logger=syslog?
            [--syslog-facility <string>]
            [--syslog-ident <string>]
        )
        [--loglevel <0-5/none/error/warning/notice/info/debug>]
        [--channel-loglevel <channel-name> <0-5/none/error/warning/notice/info/debug>] ...
        [--tundev <name>]
        --netif-ipaddr <ipaddr>
        --netif-netmask <ipnetmask>
        --socks-server-addr <addr>
        [--netif-ip6addr <addr>]
        [--username <username>]
        [--password <password>]
        [--password-file <file>]
        [--append-source-to-username]
        [--udpgw-remote-server-addr <addr>]
        [--udpgw-max-connections <number>]
        [--udpgw-connection-buffer-size <number>]
        [--udpgw-transparent-dns]
        [--socks5-udp]
Address format is a.b.c.d:port (IPv4) or [addr]:port (IPv6).

-rwxr-xr-x    1 root     root        217928 Aug 24 11:01 badvpn-tun2socks
-rwxr-xr-x    1 root     root         78576 Aug 24 11:01 badvpn-udpgw

только --socks-server-addr <addr> а в прошивке еще и http/https

badvpn-tun2socks  --socks-server-addr <addr> ....

и в итоге может быть как то так

default dev t2s_tun0  scope link  
хх.IP_сервер.хх dev ppp0  scope link  

 

Возможно тогда хорошо бы иметь в прошивке раз используется tun2socks страницу c WEB по его использованию/созданию туннеля. Или например выше

где например в https://github.com/xjasonlyu/tun2socks

Цитата

Features

  • Proxy Protocols: HTTP/Socks4/Socks5/Shadowsocks with authentication support for remote connections.

 

или go-tun2socks - https://github.com/v2ray/go-tun2socks

Цитата

    Support both TCP and UDP
    Support both IPv4 and IPv6 (but unfortunately, IPv6 still not usable on Windows because lacks of TUN support)
    Support ICMP local echoing with configurable packet delay time
    Support proxy handlers: SOCKS5, Shadowsocks, V2Ray (DNS cache is enabled in these handlers by default)
    Dynamically adding routing rules according to V2Ray's routing results (V2Ray proxy handler only)
    Intercepting DNS requests and dispatching them with V2Ray's flexible DNS client (V2Ray proxy handler only)

 

Edited by vasek00
  • Thanks 2
Link to comment
Share on other sites

Доброго дня,

19 часов назад, Skrill0 сказал:

Предлагаю утилиту для поддержки Xray на роутерах Keenetic — Xkeen.

Большой труд, просто здорово, интерфейс - на твердую пятерку.
 

  • Thanks 2
  • Upvote 1
Link to comment
Share on other sites

1 час назад, rand сказал:

@Skrill0 Не вижу XTLS-Reality в спеках, только в тегах. По идее должно уметь?

Здравствуйте! 
Абсолютно все, что есть в тегах — умеет Xray. Включая XTLS-Reality)

  • Upvote 1
Link to comment
Share on other sites

Keenetic OMNI

4.0.2

 

exec sh

Цитата
opkg install curl tar
curl -s -L https://github.com/Skrill0/XKeen/releases/latest/download/xkeen.tar --output xkeen.tar && tar -xvf xkeen.tar -C /opt/sbin --overwrite > /dev/null && rm xkeen.tar
xkeen -i

/ # xkeen -i
/opt/bin/sh: xkeen: not found

 

Что я делаю не так?

Link to comment
Share on other sites

1 час назад, damis сказал:

Что я делаю не так?

По какой-то причине прошивка не может сама найти бинарник, так что указывайте полный путь.

/opt/sbin/xkeen -i
Edited by dartraiden
  • Thanks 1
Link to comment
Share on other sites

1 час назад, damis сказал:

/ # xkeen -i
/opt/bin/sh: xkeen: not found

Здравствуйте.
Ответила Вам в личные сообщения.

Скорее всего, проблема в переменной окружения. Прошивка не может найти загруженный установщик.

Edited by Skrill0
Link to comment
Share on other sites

13 минуты назад, dartraiden сказал:

По какой-то причине прошивка не может сама найти бинарник, так что указывайте полный путь.

Да, тоже пришли к этому в общении с Skrill0.

В личке получилось быстрее пообщаться, чем в ветке форума из за модерации сообщений.

 

В итоге дал команду

sudo -i

далее повторил команды

opkg install curl tar

curl -s -L https://github.com/Skrill0/XKeen/releases/latest/download/xkeen.tar --output xkeen.tar && tar -xvf xkeen.tar -C /opt/sbin --overwrite > /dev/null && rm xkeen.tar

xkeen -i

 

И скрипт установки запустился.

  • Upvote 1
Link to comment
Share on other sites

С xray только начал разбираться, настроил на vps xtls-reality (без dns и fallback) через веб-панель, запустил конфиг на пк через NekoRay. Не совсем понимаю один момент. В инструкции сказано, что конфиги лежат в /opt/etc/xray/configs, но в /opt/etc/xray лежит config.json. С ним что-то нужно делать или в /opt/etc/xray/configs лежит, грубо говоря, тот же конфиг, только разбитый на файлы?

И как правильно прописать тогда, чтобы на роутере всё работало? Конфиг, который NekoRay считывает из QR-кода выглядит вообще не так, как в примерах на гитхабе, это несколько путает.

  • Upvote 1
Link to comment
Share on other sites

3 минуты назад, Slaxery сказал:

С xray только начал разбираться, настроил на vps xtls-reality (без dns и fallback) через веб-панель, запустил конфиг на пк через NekoRay. Не совсем понимаю один момент. В инструкции сказано, что конфиги лежат в /opt/etc/xray/configs, но в /opt/etc/xray лежит config.json. С ним что-то нужно делать или в /opt/etc/xray/configs лежит, грубо говоря, тот же конфиг, только разбитый на файлы?

И как правильно прописать тогда, чтобы на роутере всё работало? Конфиг, который NekoRay считывает из QR-кода выглядит вообще не так, как в примерах на гитхабе, это несколько путает.

Здравствуйте!

Да, Вы правильно поняли. В «/opt/etc/xray/configs» лежит тот же config.json, только разбитый на модули.
Если Вы пока что не разобрались, как написать конфигурацию под себя, то действительно можете использовать экспорт из NekoRay.

Для этого нужно сменить ядро «sing-box» на «Xray». Заново добавить подключение в Nekoray и экспортировать его.

  1. Правой кнопкой по добавленной конфигурации
  2. Поделиться
  3. Экспортировать конфиг Xray

Итого Вы получите полный config.json для Xray.
В нем используются несколько лишних объектов, так что после экспорта стоит немного «очистить» конфигурацию от не нужных Вам элементов.

Но способ рабочий.

  • Thanks 1
  • Upvote 1
Link to comment
Share on other sites

Skrill0, спасибо вам за ответ.

Выгрузил конфиг из Nekoray, скопировал части конфига в файлы в /opt/etc/xray/configs. При запуске получаю ошибку: 

Цитата

/opt/etc/xray # xkeen -start
  Xray запущен
/opt/sbin/xray: line 1: ELF: not found
/opt/sbin/xray: line 1: syntax error: unterminated quoted string

Подумал, что я сделал что-то не так, восстановил файлы в /opt/xray/configs через xkeen -i, заменил файл config.json в /opt/etc/xray на экспортированный из Nekoray, но ошибка сохранилась/

Гугление привело к тому, что программа запускается не на том железе под которое собрана. Устройство: Keenetic Giga (KN-1011). При запуске xkeen -i пишет следующее:

Цитата

 Процессор
     Модель: -
     Архитектура: mips
  Процессор поддерживается xkeen

Я правильно причину определил или всё-таки дело в моих кривых руках?

Edited by Slaxery
Link to comment
Share on other sites

4 минуты назад, Slaxery сказал:

Skrill0, спасибо вам за ответ.

Выгрузил конфиг из Nekoray, скопировал части конфига в файлы в /opt/etc/xray/configs. При запуске получаю ошибку: 

Подумал, что я сделал что-то не так, восстановил файлы в /opt/xray/configs через xkeen -i, заменил файл config.json в /opt/etc/xray на экспортированный из Nekoray, но ошибка сохранилась/

Гугление привело к тому, что программа запускается не на том железе под которое собрана. Устройство: Keenetic Giga (KN-1011). При запуске xkeen -i пишет следующее:

Я правильно причину определил или всё-таки дело в моих кривых руках?

Проблема именно в Xkeen. Уже в работе, к утру будет обновление.
Заключается в некорректном определении модели процессора на MIPS 1004Kc, который, как раз, в KN-1011.

Проблема не в Вашей конфигурации.
Статус исправления ошибок и известные ошибки можно найти также в шапке темы)

  • Thanks 2
Link to comment
Share on other sites

В 11.09.2023 в 19:59, Slaxery сказал:

/opt/etc/xray # xkeen -start
  Xray запущен
/opt/sbin/xray: line 1: ELF: not found
/opt/sbin/xray: line 1: syntax error: unterminated quoted strin

Можете пока скачать прикреплённый файл. Заменить им xray по пути /opt/sbin/xray и сделать файл исполняемым командой chmod +x /opt/sbin/xray

Edited by Alexey77
файл удал
  • Upvote 1
Link to comment
Share on other sites

Вышла версия 0.6

Исправления

Скрытый текст
  1. Исправлено определение архитектур
  2. Обновлена логика создания S05crond
  3. Добавлена поддержка роутеров Keenetic:

Giga

  • KN-1010
  • KN-1011
  • KN-2410

Ultra

  • KN-1810
  • KN-1811
  • KN-2510

Peak

  • KN-2710

Hooper

  • KN-3810
  • KN-3610

Extra

  • KN-1710
  • KN-1711
  • KN-1713

Viva

  • KN-1910
  • KN-1912

4G

  • KN-1210
  • KN-1211
  • KN-1212

Hero 4G+

  • KN-2311

DSL

  • N-2010

Duo

  • KN-2110

Omni

  • KN-1410

Giant

  • KN-2610

Пожалуйста, тестируйте и отпишитесь о результатах)

Edited by Skrill0
  • Thanks 1
Link to comment
Share on other sites

8 часов назад, keva сказал:

на 0.6 версии KN-1011 пишет:

~ # xkeen -i
  Процессор
     Instruction set:
  Процессор не поддерживается xkeen

Доброго Вам утра!
Благодарю за помощь в личных сообщениях.

Внесла исправления для Вашей модели. Пожалуйста, протестируйте.

Link to comment
Share on other sites

В продолжение того что писал выше про использование - tun2socks или точнее xray-tun2socks

1. Конфиг по xray должен быть настроен на использование sokcs

...
"inbounds": [
    {
      "tag": "socks",
      "port": 10808,
      "listen": "127.0.0.1",
      "protocol": "socks",
...

Примечание - do-not use dns name , instead use VPS ip address

2. В итоге получаем IP адрес которым уже можно управлять в прошивки

Скрытый текст

68747470733a2f2f74656c656772612e70682f66696c652f6361653339333034323663346133613464353662302e6a7067.thumb.jpg.92019d46ec053788255a68a0a60f8fb9.jpg

3. Вариант примера запуска. Есть переменные "xray_ip" (сервер) и "def_gate" (интерфейс через который можно добраться до данного сервера xray_ip) их можно определить пока "ручками" + далее уже подъем tun интерфейса + маршрут на сам сервер.

#!/bin/bash

#variables
xray_ip=$(grep 'address' config.json | sed ':a;N;$!ba;s/\n//g' |sed 's/"//g'| sed 's/,//g' | awk '{print$2}') 
#This is a pretty bad way to find the remote ip . so if u can just paste the ip address of your VPS here

def_gate=$(ip r | grep 'default' | awk '{print$3}') 
# This will output your default gateway ip address.

ip tuntap add dev tun0 mode tun user tun2socks
ip addr add 10.0.0.1/24 dev tun0
## ip addr add fdfe:....::1/125 dev tun0
ip route add $xray_ip via $def_gate
ip link set tun0 up
## ip -6 link set tun0 up
ip route add default dev tun0
## ip -6 route add default dev tun0

xray -c config.json > /dev/null &
sleep 3

./tun2socks -device tun://tun0 -proxy socks5://127.0.0.1:10808 

# ip tuntap del dev tun0 mode tun
# ip route del $xray_ip via $def_gate

Основная команда тут "ip route add default dev tun0" т.е. если делать все в основном профиле то ВСЕ будет завернуто на него так как он tun0 будет default ну если нет каких то стат маршрутов на нужные IP.

Можно попробовать с созданными профилями в прошифке но тогда команда будет выглядеть так

ip route replaced default dev tun0 table НОМЕР_профиля
ip route add xray_ip_сервер via IP_провайдера

Надо попробовать будет на бесплатном 7 дневном vray сервере.


 

Edited by vasek00
  • Thanks 2
Link to comment
Share on other sites

Прошу прощения за возможно тупой вопрос, но, прочитав трижды документацию, я так и не понял каким образом можно добавлять/удалять нужные адреса/домены для избирательной маршрутизации через xray?

  • Upvote 1
Link to comment
Share on other sites

10 часов назад, Skrill0 сказал:

Доброго Вам утра!
Благодарю за помощь в личных сообщениях.

Внесла исправления для Вашей модели. Пожалуйста, протестируйте.

Ошибка:

~ # xkeen -i
  Процессор
     Instruction set:
  Процессор не поддерживается xkeen

Полечилась.

Но Entware упорно считает, что эти 2 пакета собраны не под MIPS...

~ # opkg list-installed
Package xray version (null) has no valid architecture, ignoring.
Package xkeen version 0.6 has no valid architecture, ignoring.
bind-dig - 9.18.16-1
bind-libs - 9.18.16-1
busybox - 1.36.1-1b
bzip2 - 1.0.8-1a
ca-bundle - 20230311-1
coreutils - 9.3-1
coreutils-uname - 9.3-1
curl - 8.2.1-1
dropbear - 2022.82-5
entware-release - 1.0-2
 

  • Upvote 1
Link to comment
Share on other sites

3 минуты назад, keva сказал:

Ошибка:

~ # xkeen -i
  Процессор
     Instruction set:
  Процессор не поддерживается xkeen

Полечилась.

Доброго Вам вечера!
Благодарю за проверку. Получается, сам xray установился?
Не могли бы, пожалуйста, прислать вывод команды

xray -version


Спасибо, если Xray правильно установился — это лечится уже просто. Сегодня будет фикс)

5 минут назад, keva сказал:

Но Entware упорно считает, что эти 2 пакета собраны не под MIPS...

 

Link to comment
Share on other sites

1 час назад, Marassa сказал:

Прошу прощения за возможно тупой вопрос, но, прочитав трижды документацию, я так и не понял каким образом можно добавлять/удалять нужные адреса/домены для избирательной маршрутизации через xray?

Здравствуйте!
Способы с GeoIP / GeoSite — в некотором смысле автоматические.
Т.е. это целые базы адресов, которые используются для выборочного обхода. К примеру, GeoIP AntiFilter — все адреса из листа AntiFilter.
При этом правила автоматически обновляются через xkeen.

Если Вас все-таки интересует ручной способ, то есть следующие варианты

  1. Частичное совпадение
    "vk.com" = "vk.com.ru", "music.vk.com.ru", "www.vk.com/im" ≠ vk.ru
  2. Регулярное выражение
    Пример записи: "regexp:\\.ya.*\\.ru$" = "www.yandex.ru", "mail.yandex.ru" ≠ "ya.ru"
    Обязательно начинается с "regexp:"
  3. Поддомен
    Пример записи: "domain:keenetic.com" = "forum.keenetic.com" ≠ "forum.keenetic12345.com"
  4. Точное совпадение
    Пример записи: "full:keenetic.com" = "keenetic.com" ≠ "www.keenetic.com", "keenetic123.com"

Вот пример настройки Routing 

{
  "routing": {
    "rules": {
      "domain": [
        "full:keenetic.com",
        "domain:keenetic.com",
        "regexp:\\.ya.*\\.ru$",
        "vk.com",
        "ext:geosite_antizapret.dat:ZAPRETINFO"
      ],
      "ip": [
        "0.0.0.0/8",
        "10.0.0.0/8"
      ],
      "outboundTag": "proxy"
    }
  }
}
Edited by Skrill0
  • Thanks 1
Link to comment
Share on other sites

9 минут назад, Skrill0 сказал:

Способы с GeoIP / GeoSite — в некотором смысле автоматические.
Т.е. это целые базы адресов, которые используются для выборочного обхода. К примеру, GeoIP AntiFilter — все адреса из листа AntiFilter.

Это я проинтуичил, но это лично меня скорее всего не устроит. Мне нужна возможность оперативно добавлять/удалять IP-адреса и/или домены.

9 минут назад, Skrill0 сказал:

есть следующие варианты...

Вооот, то есть это всё я должен рýками записать в config.json (и потом видимо перезапустить xkeen)? Именно этого мне и не хватало в документации.

Спасибо за быстрый ответ!

Edited by Marassa
Link to comment
Share on other sites

1 минуту назад, Marassa сказал:

Вооот, то есть это всё я должен рýками записать в config.json (и потом видимо перезапустить xkeen)?

Потом важно перезапустить сам Xray. Можно сделать с помощью Xkeen.

xkeen -restart

 

  • Thanks 2
Link to comment
Share on other sites

3 часа назад, keva сказал:

~ # xray -version
/opt/sbin/xray: line 1:EL: not found
/opt/sbin/xray: line 2: syntax error: unexpected "("
 

Снова эта ошибка...

Ответила в личные сообщения. 
Проблема исправлена. Благодарю Вас за помощь!

Link to comment
Share on other sites

Продолжаются мои мучения. Переустановил xkeen на версию 0.6, теперь при запуске xkeen -i модель процессора определяется правильно, но при запуске xray такая же ошибка, как и тут.

По совету keva заменил файл xray, теперь при выполнении команды xkeen -start xray запускается и работает, но при подключении к прокси получаю ошибку о неполадках с прокси сервером. Пробовал вводить данные SOCK5 в Firefox, а так же подключать прокси в веб-панели роутера. Решил проверить всё ли у меня правильно работает. При вводе xkeen -status получаю следующее:

Цитата

# xkeen -status
  Xray запущен

xkeen -tpc :

Цитата

# xkeen -tpc
     Неизвестный ключ: -tpc

xkeen -tpx:

Цитата

# xkeen -tpx
  Проверка портов Xray
  Xray не слушает на каких-либо портах

По последнему вообще не понимаю как так может быть, в конфиге прописано, чтобы xray слушал порт 2080.

Содержимое файла 07_inbounds.json:

Цитата

// Настройка исходящих соединений

{
                        "listen": "127.0.0.1",
                        "port": "2080",
                        "protocol": "socks",
                        "settings":
                        {
                                "udp": true
                        },
                        "sniffing":
                        {
                                "destOverride": ["http","tls","quic"],
                                "enabled": true,
                                "metadataOnly": false,
                                "routeOnly": true
                        },
                        "tag": "socks-in"
}

Конфиг экспортировал из Nekoray, после чего разделы конфига копировал в соответствующие файлы в /opt/etc/xray/configs.

Edited by Slaxery
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...