💾 Archived View for betahowto.duckdns.org › yggdrasil:admin_api captured on 2024-03-21 at 15:38:53. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-02-05)
-=-=-=-=-=-=-
Сокет администратора предоставляет интерфейс для запросов информации и настройки Yggdrasil ( gemini://betahowto.duckdns.org/Yggdrasil:Yggdrasil ) во время выполнения. По умолчанию Yggdrasil прослушивает подключения администратора на localhost: 9001 (параметр AdminListen в конфигурационном файле ( gemini://betahowto.duckdns.org/yggdrasil:config_russian )).
Утилита yggdrasilctl предоставляет удобный интерфейс CLI для сокета администратора Yggdrasil. Она может подключаться как к локальным, так и к удаленным экземплярам Yggdrasil и принимать те же команды, что описаны ниже. Каждое поле задается в формате field=value.
Примеры использования:
yggdrasilctl getDHT yggdrasilctl getPeers
Для получения списка поддерживаемых команд наберите:
yggdrasilctl list
Чтобы выполнить действие на удаленном узле Yggdrasil, укажите параметр -endpoint:
yggdrasilctl -endpoint=tcp://10.0.0.1:9001 getPeers yggdrasilctl -endpoint=unix:///var/run/yggdrasil.sock getDHT
Чтобы получить ответ в формате JSON вместо "дружественного" вывода, укажите параметр -json:
yggdrasilctl -json getPeers
Сокет администратора Yggdrasil для запросов и ответов использует формат JSON.
Запрос должен быть:
После получения запроса возвращается ответная строфа.
Структура типичного запроса выглядит следующим образом:
json
{ "request": "XXX", "arguments": { "baz": "qux" } }
Запрос:
echo "{\"request\": \"debug_remotegetself\", \"arguments\": {\"key\": \"00000275cb3ab9ee8d285ecaef5a0d82fbd6d19edc5bc33617094232fd047964\"}}" | nc -U /var/run/yggdrasil.sock
Типичный ответ имеет такую структуру:
json
{ "request": { "request": "XXX", "foo": "bar", "baz": "qux" }, "response": { }, "status": "success" }
Ответ:
Поле "request" содержит команду, предписывающую, какой запрос следует выполнить.
Не содержит никаких дополнительных полей запроса.
Возвращает известные узлы в DHT.
Не содержит никаких дополнительных полей запроса.
Возвращает одну или несколько записей, содержащих информацию об активных одноранговых сеансах. Первая запись обычно относится к текущему узлу.
Для каждого IPv6-адреса:
Ожидает:
Добавляет новый узел.
Возвращает:
Ожидает:
Удаляет существующий узел.
Возвращает:
Не ожидает никаких дополнительных полей запроса.
Возвращает одну запись, содержащую информацию о текущем узле Yggdrasil.
Для текущего адреса IPv6:
Не ожидает никаких дополнительных полей запроса.
Возвращает ноль или более записей, содержащих информацию об открытых сеансах между текущим узлом Yggdrasil и другими узлами. Открытые сеансы говорят о том, что недавно был обмен траффиком с удаленным узлом.
Для каждого IPv6-адреса:
Не ожидает никаких дополнительных полей запроса.
Возвращает одну запись, содержащую информацию об адаптере TUN/TAP текущего узла.
Для каждого адаптера:
Не ожидает никаких дополнительных полей запроса.
Возвращает ноль или более строк, содержащих включенные многоадресные интерфейсы.
Если возвращаются ноль строк, то подразумевается, что многоадресный пиринг не разрешен ни на одном интерфейсе.
Ожидает:
Просит удаленный узел ответить с его nodeinfo.
Возвращает секцию nodeinfo. Данные могут быть в любом формате, могут содержать любые ключи.
Admin API (EN): https://yggdrasil-network.github.io/admin.html
gemini://betahowto.duckdns.org/Yggdrasil:Yggdrasil
gemini://betahowto.duckdns.org/yggdrasil:config_russian
https://yggdrasil-network.github.io/admin.html