Jump to content

Recommended Posts

14 часа назад, Skrill0 сказал:

Как использовать общий режим

Добрый день!

Чем общий режим отличается от TProxy без добавления портов?

И как быть с DoT или DoH? Я так понимаю что xray сам будет разрешать имена и принимать решения об маршрутизации, но делать он это будет по UDP 53 что не мыслимо в наше время))

Link to comment
Share on other sites

7 часов назад, Neytrino сказал:

А если оно вот так?

opkg.jpg

Доброго Вам дня!

Благодарю. В сегодняшнем фиксе будет исправлено.
Проблема только в регистрации, функции не нарушаются)

  • Thanks 1
Link to comment
Share on other sites

4 минуты назад, VT-i сказал:

Добрый день!

Чем общий режим отличается от TProxy без добавления портов?

И как быть с DoT или DoH? Я так понимаю что xray сам будет разрешать имена и принимать решения об маршрутизации, но делать он это будет по UDP 53 что не мыслимо в наше время))

И Вам доброго дня!

Общий режим подразумевает отсутствие политики и выбранных портов.
То есть, абсолютно все соединение с роутера будет завернуто в прокси-клиент.

DoT и DoH из прошивки, как и другие средства разрешения DNS также работают без каких-либо ограничений.
Если нет наполненного файла конфигурации Xray DNS, то XKeen не строит правила для его перехвата.

Соответственно, DNS запросы разрешаются штатно.
Direct соединение — с помощью Роутера и его серверов.
VPS соединение — с помощью серверов указанных на VPS.

  • Thanks 2
Link to comment
Share on other sites

14 часа назад, Kirill1 сказал:

Не очень понял момент: возможно ли весь трафик определенных IP адресов прокинуть через xkeen (vless) без использования прокси в админке роутера?

Доброго Вам дня!

В инструкции нигде не упомянут «Прокси-клиент», в качестве компонента прошивки.
Если под определенными IP Вы имеете ввиду клиентов, то это возможно сделать переместив их в политику с названием «XKeen».

В таком случае все клиенты этой политики будут использовать подключение XKeen.
В качестве интерфейса для выхода в сеть можно указать тот же WG или OVPN. 
В таком случае соединение до сервера VLESS будет идти через WG или OVPN на выбор.

Edited by Skrill0
Link to comment
Share on other sites

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

Какие изменения внесены в конфигурации

  Скрыть содержимое

02_transport.json
domainStrategy заменена на AsIs для работы с routeOnly

03_inbounds.json
Добавлен параметр routeOnly.
Использовать, если есть уверенность, что DNS запрос будет разрешен корректно.
Выполняет маршрутизацию только по доменному имени, не сопоставляя параллельно IP адреса.
Иными словами при использовании нормальных DNS-провайдеров параметр рекомендован к использованию.
В связке с AsIs позволяет избежать избыточных разрешений экономя ресурсы системы.

Убран Sniffing из TProxy | Mixed для UDP.
С новыми правилами XKeen он не требуется и отнимает ресурсы системы.

Убраны listen за ненадобностью из всех режимов.

Добрый день!

После обновления файлы конфигураций остались прежними. Руками удалил блоки Sniffing и listen

02_transport.json не трогал.

Пропал доступ через VPS. Режим MIXED через политику.

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

{
    "inbounds": [
        {
            "tag": "redirect",
        
            "port": 61219,
            "protocol": "dokodemo-door",
            "settings": {
                "network": "tcp",
                "followRedirect": true
            }
            
        },
        {
            "tag": "tproxy",
        
            "port": 61219,
            "protocol": "dokodemo-door",
            "settings": {
                "network": "udp",
                "followRedirect": true
            },
            
            "streamSettings": {
                "sockopt": {
                    "tproxy": "tproxy"
                }
            }
        }
    ]
}

 

Edited by prokuror2
Link to comment
Share on other sites

8 минут назад, prokuror2 сказал:

Добрый день!

После обновления файлы конфигураций остались прежними. Руками удалил блоки Sniffing и listen

02_transport.json не трогал.

Пропал доступ через VPS. Режим MIXED через политику.

И Вам доброго дня!

Конфигурации пользователей не трогаются.
Обновлены конфигурации, поставляющиеся в комплекте с XKeen.

Их можно установить вручную командой

xkeen -rc

В таком случае, Ваши текущие конфигурации сохранятся в директорию «backups» и будут заменены на новые, в которых нужно будет заново указать параметры сервера, свой Routing и Inbounds под нужный режим.

Актуальная конфигурация для Mixed из шапки

Скрытый текст
{
    "inbounds": [
        {
            "tag": "redirect",
            "port": 61219,
            "protocol": "dokodemo-door",
            "settings": {
                "network": "tcp",
                "followRedirect": true
            },
            "sniffing": {
              "routeOnly": true,
              "enabled": true,
                "destOverride": [
                    "http",
                    "tls",
                    "quic"
                ]
            }
        },
        {
            "tag": "tproxy",
            "port": 61219,
            "protocol": "dokodemo-door",
            "settings": {
                "network": "udp",
                "followRedirect": true
            },
            "streamSettings": {
                "sockopt": {
                    "tproxy": "tproxy"
                }
            }
        }
    ]
}


Sniffing удаляется только в секции TProxy конфигурации inbounds.
Новые конфигурации inbounds можно забрать из шапки.

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

Я для TProxy настраивал порты 80 и 443.

Но когда проверяешь, что слушает прокси, там вываливается список портов экранов на 20.

Что-то типа такого:
 

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

~ # xkeen -tpx
  Проверка портов Xray
netstat: showing only processes with your user ID
  Xray слушает

     Шлюз ::
     Порт 65432
     Протокол TCP

     Шлюз 24.50.234.204
     Порт 30184
     Протокол UDP

     Шлюз 49.12.86.202
     Порт 6888
     Протокол UDP

     Шлюз 89.23.150.116
     Порт 12008
     Протокол UDP

     Шлюз 217.121.143.169
     Порт 6889
     Протокол UDP

...

В чем может быть ошибка? На всякий случай прикладываю iptables:

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

~ # iptables-save |grep xkeen
:xkeen - [0:0]
-A PREROUTING -p tcp -m connmark --mark 0xffffd00 -m conntrack ! --ctstate INVALID -m multiport --dports 80,443 -j xkeen
-A PREROUTING -p udp -m connmark --mark 0xffffd00 -m conntrack ! --ctstate INVALID -m multiport --dports 80,443 -j xkeen
-A xkeen -d 95.165.163.10/32 -j RETURN
-A xkeen -d 255.255.255.255/32 -j RETURN
-A xkeen -d 0.0.0.0/8 -j RETURN
-A xkeen -d 10.0.0.0/8 -j RETURN
-A xkeen -d 100.64.0.0/10 -j RETURN
-A xkeen -d 127.0.0.0/8 -j RETURN
-A xkeen -d 169.254.0.0/16 -j RETURN
-A xkeen -d 172.16.0.0/12 -j RETURN
-A xkeen -d 192.0.0.0/24 -j RETURN
-A xkeen -d 192.0.2.0/24 -j RETURN
-A xkeen -d 192.168.0.0/16 -j RETURN
-A xkeen -d 198.18.0.0/15 -j RETURN
-A xkeen -d 198.51.100.0/24 -j RETURN
-A xkeen -d 203.0.113.0/24 -j RETURN
-A xkeen -d 224.0.0.0/4 -j RETURN
-A xkeen -d 240.0.0.0/4 -j RETURN
-A xkeen -p tcp -j TPROXY --on-port 65432 --on-ip 127.0.0.1 --tproxy-mark 0x111/0xffffffff
-A xkeen -p udp -j TPROXY --on-port 65432 --on-ip 127.0.0.1 --tproxy-mark 0x111/0xffffffff
~ #

 

Edited by VT-i
  • Upvote 1
Link to comment
Share on other sites

26 минут назад, VT-i сказал:

Я для TProxy настраивал порты 80 и 443.

Но когда проверяешь, что слушает прокси, там вываливается список портов экранов на 20.

Что-то типа такого:
 

  Показать содержимое

~ # xkeen -tpx
  Проверка портов Xray
netstat: showing only processes with your user ID
  Xray слушает

     Шлюз ::
     Порт 65432
     Протокол TCP

     Шлюз 24.50.234.204
     Порт 30184
     Протокол UDP

     Шлюз 49.12.86.202
     Порт 6888
     Протокол UDP

     Шлюз 89.23.150.116
     Порт 12008
     Протокол UDP

     Шлюз 217.121.143.169
     Порт 6889
     Протокол UDP

...

В чем может быть ошибка? На всякий случай прикладываю iptables:

  Показать содержимое

~ # iptables-save |grep xkeen
:xkeen - [0:0]
-A PREROUTING -p tcp -m connmark --mark 0xffffd00 -m conntrack ! --ctstate INVALID -m multiport --dports 80,443 -j xkeen
-A PREROUTING -p udp -m connmark --mark 0xffffd00 -m conntrack ! --ctstate INVALID -m multiport --dports 80,443 -j xkeen
-A xkeen -d 95.165.163.10/32 -j RETURN
-A xkeen -d 255.255.255.255/32 -j RETURN
-A xkeen -d 0.0.0.0/8 -j RETURN
-A xkeen -d 10.0.0.0/8 -j RETURN
-A xkeen -d 100.64.0.0/10 -j RETURN
-A xkeen -d 127.0.0.0/8 -j RETURN
-A xkeen -d 169.254.0.0/16 -j RETURN
-A xkeen -d 172.16.0.0/12 -j RETURN
-A xkeen -d 192.0.0.0/24 -j RETURN
-A xkeen -d 192.0.2.0/24 -j RETURN
-A xkeen -d 192.168.0.0/16 -j RETURN
-A xkeen -d 198.18.0.0/15 -j RETURN
-A xkeen -d 198.51.100.0/24 -j RETURN
-A xkeen -d 203.0.113.0/24 -j RETURN
-A xkeen -d 224.0.0.0/4 -j RETURN
-A xkeen -d 240.0.0.0/4 -j RETURN
-A xkeen -p tcp -j TPROXY --on-port 65432 --on-ip 127.0.0.1 --tproxy-mark 0x111/0xffffffff
-A xkeen -p udp -j TPROXY --on-port 65432 --on-ip 127.0.0.1 --tproxy-mark 0x111/0xffffffff
~ #

 

Это не ошибка.
Все в полном порядке.

Так работает TProxy.
Соединение захватывается именно с портов 80 и 443.

Link to comment
Share on other sites

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

Соединение захватывается именно с портов 80 и 443

Но там ведь даже близко нет портов 80 и 443) Причём хосты снаружи🙄

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

Link to comment
Share on other sites

1 минуту назад, VT-i сказал:

Но там ведь даже близко нет портов 80 и 443) Причём хосты снаружи🙄

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

Вы все правильно поняли.
Прокси-клиент все также работает исключительно на портах 80 и 443, а все остальное обрабатывается Keenetic.

Так выглядит работа TProxy технически, она может ввести в заблуждение.
Но работа клиента идет именно по указаным портам.

  • Thanks 1
Link to comment
Share on other sites

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

03_inbounds.json
Добавлен параметр routeOnly.
Использовать, если есть уверенность, что DNS запрос будет разрешен корректно.

Можете подсказать, а как использовать? Заменил новый mixed из шапки, заменил domain strategy на AsIs, а еще что то нужно? Базы geoip не использую :)

Link to comment
Share on other sites

43 минуты назад, Proms сказал:

Можете подсказать, а как использовать? Заменил новый mixed из шапки, заменил domain strategy на AsIs, а еще что то нужно? Базы geoip не использую :)

Доброго Вам вечера)

Если Вы настроили эти параметры, то больше ничего не требуется)
DNS должны разрешаться со стороны проверенных сервисов (Cloudflare, google, quad9…)

  • Upvote 2
Link to comment
Share on other sites

В 12.02.2024 в 14:02, Arabezar сказал:

Делаем и помогаем все, - кто что может. Думаю, рано или поздно найдётся человек, который опишет процедуру более простым языком, и это будет реальной помощью обычным людям в приобщении к более глубоким знаниям, не так хорошо знакомым со специфическими знаниями. Мы обязательно научиммся, дайте нам шанс ))

Мы, взрослые, помогаем проекту уважаемой, некогда нам пилить инструкции для малышни, кому и Винду накатить проблемно) А человекам с инструкцией для малышни, в своем котле малышьем и вариться, все на их откуп)

Все бы вам на чужом горбу в рай заехать, малыши вы наши)

Link to comment
Share on other sites

35 минут назад, bigpu сказал:

Мы, взрослые, помогаем проекту уважаемой, некогда нам пилить инструкции для малышни, кому и Винду накатить проблемно) А человекам с инструкцией для малышни, в своем котле малышьем и вариться, все на их откуп)

Все бы вам на чужом горбу в рай заехать, малыши вы наши)

Ну кстати, моё ИМХО. Давно присматривался к этому проекту и на прошлой неделе решил потратить вечер, попробовать. И в итоге на всё про всё ушло максимум час. В основном были вопросы про Adgurad Home. В комплекте идут готовые конфиги, подставляй свои данные и всё. Конечно возникали некоторые вопросы уже после того как всё работало - добрые люди помогли. И даже не пришлось читать тему. Поэтому - было бы желание 😁

  

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

Если Вы настроили эти параметры, то больше ничего не требуется)

Спасибо!

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

20 минут назад, Proms сказал:

про Adgurad Home

что та еще лажа, если чуть разобраться)

21 минуту назад, Proms сказал:

было бы желание

золотые слова👍

Link to comment
Share on other sites

После обновления на версию 1.1.0 и перезагрузки роутера - перестали работать существующие VPN подключения через Wireguard. Трафик пошел через политику Xkeen. Пришлось откатиться на версию 1.0.8

Link to comment
Share on other sites

8 hours ago, Skrill0 said:

Доброго Вам дня!

В инструкции нигде не упомянут «Прокси-клиент», в качестве компонента прошивки.
Если под определенными IP Вы имеете ввиду клиентов, то это возможно сделать переместив их в политику с названием «XKeen».

В таком случае все клиенты этой политики будут использовать подключение XKeen.
В качестве интерфейса для выхода в сеть можно указать тот же WG или OVPN. 
В таком случае соединение до сервера VLESS будет идти через WG или OVPN на выбор.

 

Добрый день!

Нет-нет, как раз наоборот. Я хочу, чтобы было так:

Wireguard (тот, что в прошивке) -> xkeen (opkg) -> ISP

То есть без использования политик и прочего в админке роутера. Чтобы xkeen вообще никаким образом не взаимодействовал ни с чем из админки роутера, был только на уровне opkg, и пробрасывал конкретные IP адреса.

 

Проблема в том, что Wireguard последнее время просто не работает напрямую и его нужно пробрасывать через что-то еще, например, PPTP, L2TP, xkeen и пр. 

PPTP, L2TP тоже иногда отваливаются, а вот VLESS стабильно работает на телефоне и других устройствах.

 

Сейчас, если добавлять xkeen в политики, доступны только такие варианты:

xkeen -> ISP

wireguard -> ISP

А мне нужно wireguard->xkeen->ISP.

 

Отказываться от Wireguard нельзя, т.к. на нем все настроено крайне сильно.

А xkeen должен быть лишь транспортом для wireguard, поскольку wireguard напрямую блокируется иногда.

 

Самое главное - не добавлять xkeen в Политики на роутере, потому что иначе нельзя сделать каскад  wg->xkeen->isp.

 

IP адреса всех Wireguard серверов известны, соответственно, я хочу сделать так, чтоб xkeen следил за ними на уровне opkg и как только такое подключение есть, направлял трафик этих IP (не клиентов, а именно IP) через себя. 

Так можно сделать на Android, Linux и Windows через NekoBox, а вот тут не срабатывает что-то...

 

Спасибо!

 

__________

UPD:

Получил ответ в Телеграме:

Quote

 

Возможно Вам подойдет вариант с захватом source IP в XKeen.
То есть, если исходящий IP, к примеру, относится к подсети WG, то маршрутизировать его до нужного сервера.

Делается это с помощью параметра source в routing.

Вот ссылка (https://xtls.github.io/en/config/routing.html#ruleobject) на документацию.

Также, можно сделать Routing через IP, если целевые адреса серверов известны.
Таким образом, при подключении к ресурсу с адресом {Ваш WG сервер}, XKeen будет захватывать соединение и пропускать через соответствующий маршрут.
Это делается с помощью секции «IP».

 

 

Edited by Kirill1
Link to comment
Share on other sites

Все привет.

Обновился (1.1.0), адаптировал настройки под общий режим (политики и так не было, сделал xkeen -dp 80,443).

inbounds тоже подправил:

 

Скрытый текст
{
"inbounds": [
{
"tag": "redirect",
"port": 61219,
"protocol": "dokodemo-door",
"settings": {
"network": "tcp",
"followRedirect": true
},
"sniffing": {
"routeOnly": true,
"enabled": true,
"destOverride": [
"http",
"tls",
"quic"
]
}
},
{
"tag": "tproxy",
"port": 61219,
"protocol": "dokodemo-door",
"settings": {
"network": "udp",
"followRedirect": true
},
"streamSettings": {
"sockopt": {
"tproxy": "tproxy"
}
}
}
]
}

Пропал интернет на клиентах которые подсоединены по схеме клиент - WG -роутер - xkeen - интерент, подскажите, может кто знает в чём дело?

Так же заработал интернет по такой же схеме, только вместо WG - SSTP.

Кстати, мы же пренесли сервисы keenetic ну другой порт, освободив 443 для xray, и для SSTP сервера он теперь тоже изменён, получается, правильно понимаю?

Edited by dogoma
Link to comment
Share on other sites

Такой вопрос: есть два сервера - вбитых в outbound с тегами: proxy1 и proxy2. Задача - выходить в интернет через proxy2, когда proxy1 не доступен/не пускает.

 

routing:

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

{
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
         // Основное соединение  |  Идет первым
            {
            "inboundTag": ["socks-in"],
            "outboundTag": "proxy1",
            "type": "field"
            },

        // Резервное соединение  |  Идет вторым
            {
            "inboundTag": ["socks-in"],
            "outboundTag": "proxy2",
            "type": "field"
            }

        ]
    }
}

 

Проблема точно не в данных для подключения к серверам, ибо если поменять теги местами - всё прекрасно работает через proxy2...

Link to comment
Share on other sites

Всем доброго вечера!

Вышли обновления 1.1.0 — 1.1.2

Журнал

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

Исправлено

  1. Интерфейсы гостевых сетей
  2. Предупреждение о общем режиме
  3. Регистрация версии в OPKG
  4. Построение таблиц маршрутизации
  5. Изоляция от интерфейсов, не включенных в политике XKeen (WG, OVPN…)


Обновиться можно командой

xkeen -uk


Откатиться на предыдущую версию можно командой

xkeen -kbr


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

xkeen -diag

Внимание
     В файле содержится Ваш IP адрес. Можно присылать в личные сообщения.

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

Edited by Skrill0
Пост обовлен под 1.1.2 | Hot fix интерфейсов не включенных в политику XKeen
  • Thanks 6
  • Upvote 1
Link to comment
Share on other sites

On 2/3/2024 at 6:46 PM, LDude said:

И решил я обновиться UDP ради. Обновился - писец, скорость упала, проц загружен (разные режимы пробовал). Откатил всё обратно (-xb, -kb, -cb). Не особо помогло. Конфиги копировал на ноут перед обновлением, вернул все обратно поверх - неа.

И непонятно, что за ххх. Причём ранее было с ноута 200-300 мбит, через телефон до 500, и проц до 30%. А сейчас с ноута до 150, с телефона до 25!!! (правда телефон сейчас другой, но не в этом дело, думаю), и проц под сотку при тесте скорости, даже когда 25 на телефоне, в проц типа упирается. И пинг в speedtest.net был 80 с чем-то, а сейчас меньше 100 не бывает.

Ну, вообще непонятно. Сегодня решил на новую флэху всё заново накатить. Накатил, настроил 04_outbounds.json, работает как раньше - нагрузка на проц не более 30, пинг в speedtest 80 с чем-то, скорость с ноута 150-200, с телефона до 500. Решил попробовать mixed режим, вставил настройки отсюда в inbounds - опять пипец, загрузка под 100, скорость на телефоне до 25. Вставил redirect в inbounds - пофиг.

Форматнул флэху, сделал опять всё сначала - эээ, проц под 100, пинг за сотку, скорость режется. Вообще не понимаю.

ЗЫ: И непонятно, почему с телефона проц уже при 25 мегабитах под 100 уходит и всё.

Edited by LDude
Link to comment
Share on other sites

@LDude, приветствую.

Есть небольшое наблюдение. Speedtest не проверял, а вот nperf для Android позволяет выбрать по какому протоколу тестировать, http или https. По https вопросов нет, всё так же, как на PC, а вот по http скорость упирается в процессор Кинетика и режется до 30-40. Такое впечатление, что xray видит не шифрованный трафик и шифрует его, нагружая камень, хотя не должен это делать при Reality. В общем, пока не могу объяснить природу явления.

  • Thanks 2
Link to comment
Share on other sites

2 часа назад, jameszero сказал:

nperf для Android позволяет выбрать по какому протоколу тестировать, http или https.

Добрый день. Подскажите где это можно выбирать? 

Link to comment
Share on other sites

@Alexey77 добрый день! Это я немного напутал, старый уже) В приложении для Windows можно выбирать протокол и это влияет на скорость и на процессор роутера. Для полноценного тестирования нужно завернуть роутингом на VPS два домена nperf.com и nperf.net или использовать zkeen.

  • Thanks 1
Link to comment
Share on other sites

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

@LDude, приветствую.

Есть небольшое наблюдение. Speedtest не проверял, а вот nperf для Android позволяет выбрать по какому протоколу тестировать, http или https. По https вопросов нет, всё так же, как на PC, а вот по http скорость упирается в процессор Кинетика и режется до 30-40. Такое впечатление, что xray видит не шифрованный трафик и шифрует его, нагружая камень, хотя не должен это делать при Reality. В общем, пока не могу объяснить природу явления.

Доброго Вам дня)

Полностью связка с Reality выглядит так:
VLESS + uTLS + XTLS + Reality.

XTLS является обязательной его частью. Он же отвечает за выборочное шифрование не зашифрованного трафика.
Поэтому описанное поведение имеет место быть)

  • Thanks 2
Link to comment
Share on other sites

16 минут назад, jameszero сказал:

Для полноценного тестирования нужно завернуть роутингом на VPS два домена nperf.com и nperf.net или использовать zkeen.

Домены добавлены сейчас проверил загрузка процессора около 50-60 процентов а nperf показывает только 20 Mb хотя speedtest показывает правильно. 

Link to comment
Share on other sites

Сравните показания скорости по http и по https. Загрузка процессора может отображаться с задержкой, особенно если процессор задумался не успевает её отобразить)

Edited by jameszero
Link to comment
Share on other sites

Т.е. приложения на телефоне (speedtest и nperf) используют http, тесты через web - https? Хм, а в кинетике аппаратного шифрования http нет по ходу. В 6 раз разница примерно по нагрузке и, соответственно, скорости.

Но не пойму, как оно иногда получается (и раньше так было), что фигачит намного больше скорость и без нагрузки до упора.

Link to comment
Share on other sites

Добрый день!

Опять у меня в браузере Мозилла на Андроиде chat.openai.com определяет реальный IP, а на сайте browserleaks.com определяется реальный IP в тесте WebRCT. Возможно ли такое из-за халявного конфига Shadowsocks или дело в неправильных настройках?

v. 1.1.2, режим Mixed через политику.

 

Edited by prokuror2
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.

×
×
  • Create New...