Перейти к содержанию

Рекомендуемые сообщения

Опубликовано (изменено)

Здраствуйте! Разрабатываю демона по типу kvas и хочу в модальном окне выбора интерфейса выводить вместо какого-нибудь UNIX'ового названия "nwg0" или же "ovpn_br0" выводить человеко-читаемое название интерфейса по типу "WireGuard [Home] (nwg0)".

К сожалению из запроса `GET http://192.168.1.1/rci/show/interface/Wireguard1` имею лишь такую структуру, где нет ни слова о UNIX'овом названии интерфейса:

{
    "id": "Wireguard1",
    "index": 1,
    "interface-name": "Wireguard1",
    "type": "Wireguard",
    "description": "Home",
    "traits": [
        "Ip",
        "Ip6",
        "Wireguard"
    ],
    "link": "down",
    "connected": "no",
    "state": "down",
    "mtu": 1324,
    "tx-queue-length": 50,
    "global": false,
    "security-level": "public",
    "ipv6": {},
    "wireguard": {},
    "summary": {
        "layer": {
            "conf": "disabled",
            "link": "disabled",
            "ipv4": "disabled",
            "ipv6": "disabled",
            "ctrl": "disabled"
        }
    }
}

Видел, что kvas решает эту проблему использованием хука iflayerchanged и перезапуском всех интерфейсов, что считаю это решение не очень то и хорошим, ибо подобная информация как по мне должна быть как и в CLI Keenetic (Telnet), так и в REST API (а по возможности, кстати, хотелось бы иметь документацию по REST API, ибо её нигде не нашел).

Где можно достать UNIX имя интерфейса без использования подобных костылей (из-за текущих ограничений Keenetic'а)?

Изменено пользователем Ponywka
Опубликовано
Цитата

CLI Keenetic (Telnet), так и в REST API (а по возможности, кстати, хотелось бы иметь документацию по REST API, ибо её нигде не нашел).

На самом деле совершенно не очевидно, потому что без установки opkg системное имя никому и нигде не может потребоваться - его просто нет в командах и выводе. Именно потому его там и нет.

Мы подумаем, что можно сделать.

Опубликовано
1 минуту назад, Le ecureuil сказал:

На самом деле совершенно не очевидно, потому что без установки opkg системное имя никому и нигде не может потребоваться - его просто нет в командах и выводе. Именно потому его там и нет.

Мы подумаем, что можно сделать.

В параллельной теме тоже спрашивал об этом. Ждем решения....

Опубликовано
8 hours ago, Le ecureuil said:

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

Хм... Ну с этой точки зрения конечно верно... Просто хотелось бы, если не иметь возможность встраивать какие-то настройки во внутрь самой веб-морды Keenetic, то хотя-бы иметь возможность дёргать с самого Keenetic какие-то данные (например тот же человеко-читаемое название интерфейса, добавленное из интерфейса самого Keenetic) и рисовать уже свой интерфейс на каком-то порту (что я и хочу сделать)

Перезапускать все интерфейсы я ну очень не хочу, ибо это долгий процесс. В таком случае уж лучше просто вывести UNIX'овое имя интерфейса, а пользователь пускай сам разбирается.

 

Вообще та штука, которую я хочу сделать реализовывается и через CLI Keenetic'а, однако это засрёт таблицу маршрутов на самом роутере, чего я делать тоже не очень хочу, ибо отслеживать изменения оттуда ещё сложнее, породит ещё больше костылей, а также будет медленно выполняться. iptables+ipset как-то быстрее с этой задачей справятся.

Опубликовано
39 minutes ago, Le ecureuil said:

Человекочитаемое имя лежит в поле description в выводе show interface.

Я имел ввиду про софт, который я пишу, который использует iptables и работает с UNIX'овыми названиями интерфейсов, но который запущен на роутерах Keenetic.

Опубликовано (изменено)
51 минуту назад, Ponywka сказал:

Я имел ввиду про софт, который я пишу, который использует iptables и работает с UNIX'овыми названиями интерфейсов, но который запущен на роутерах Keenetic.

можно брать адреса  интерфейсов через  ip address и сравнивать с теми что вам покажет ndmc -c show interface, по этому признаку и выяснять кто есть кто

Изменено пользователем Denis P
Опубликовано
53 minutes ago, Denis P said:

можно брать адреса  интерфейсов через  ip address и сравнивать с теми что вам покажет ndmc -c show interface

Ну, как вариант кстати 😕

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.