• Welcome to Yggdrasil Community.
 

News:

Welcome to Yggdrasil forum! It is maintained and administrated by Revertron, you can ask me questions in Telegram, Matrix and Fediverse.
This forum is created to provide a platform where your questions and their answers will not get lost like in all messengers, but to be available for all users for years.

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - 4X_Pro

#1
Можно ли запустить на одном компьютере несколько экземпляров yggdrasil? Скажем, чтобы было два интерфейса — один был для подключения к публичным узлам, второй — только для связи между своими устройствами? Или будет конфликт из-за того, что используется один и тот же диапазон IPv6?
#2
Quote from: Revertron on October 03, 2022, 08:11:24 PMВсе узлы в сети равноправны. И если у каких-то узлов есть два и более соединения, то этот узел может передавать данные между другими узлами.
Ты подключаешься к любому крайнему пиру, и получаешь доступ ко всей сети.
А где-нибудь есть подробное описание того, как устроен алгоритм поиска нужного узла? То есть как один узел находит путь до другого, если прямой связи между ними нет?
#3
Разное / Re: Поиск в сети yggdrasil
June 27, 2023, 08:02:01 PM
Для этого и  делается операция & 0xfe. Она обнуляет младший бит, и тройка превращается в двойку.
#4
Разное / Re: Поиск в сети yggdrasil
April 18, 2023, 01:49:52 AM
Quote from: d4708 on April 01, 2023, 08:27:35 PMМожет кто подскажет, как лучше проводить валидацию по сетевым адресам 0200::/7 на PHP или просто в регулярке.
Если нужно только на эту маску, то можно попробовать так: прогоняем адрес через inet_pton, проверяем, что длина получившейся строки равна 16 (чтобы убедиться, что это не IPv4), затем с помощью ord берём первый байт, обнуляем в нём младший бит (операция AND с маской 0xFE) и проверяем на то, что этот байт равен двойке.
То есть код примерно такой:
function is_ygg_ip($ip) {
  $pton = inet_pton($ip);
  if (strlen($pton)!==16) return false;
  if ((ord($pton[0]) & 0xfe)===0x02) return true;
  return false;
}
#5
Зависит от того, что у этой самой локальной службы прописано в качестве интерфейсов, которые нужно слушать (обычно директива для этого называется listen).
Если 0.0.0.0 (слушать все интерфейсы), то да, будет доступен откуда угодно, даже если компьютер за NAT. И чтобы этого не было, нужно закрывать firewallом. Если localhost (или 127.0.0.1), то нет, не будет. (Сейчас интереса ради даже проверил, попытавшись подключиться к mysql на своём VDS, где также есть и yggdrasil node, но не смог.)