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

Поиск в сети yggdrasil

Started by d4708, September 01, 2022, 04:27:56 PM

Previous topic - Next topic

d4708

Был в этом списке сайт поиска в сети yggdrasil (Yacy)

Теперь не могу его найти,
его убрали из реестра?



SVS696


d4708

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

Пробовал настроить Yacy после нескольких патчей на яве сдался, да и ресурсов у меня на сервере не очень много.

В общем, кому интересно, присоеденяйтесь


http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggo/

Баг трекинг, здесь

https://github.com/d47081/YGGo/issues

И может сразу спрошу,

Может кто подскажет, как лучше проводить валидацию по сетевым адресам 0200::/7 на PHP или просто в регулярке.
Я пока что кое как сделал, но очень сыро. Думаю, лучше чем ничего.

Есть к стати мысли прикрутить доменные зоны .ygg но пока что первый запуск, уже раз восстанавливал базу)

d4708

Если кому интересно поднять свою ноду Yacy, несколько тем по настройке для сети Ygg

https://community.searchlab.eu/t/how-to-apply-regular-expression-to-scan-whitelist-domains-only/1405
https://community.searchlab.eu/t/how-to-configure-external-links-autocrawl-autofollow/1407

Но тем не менее, в процессе тестирования, это решение требует значительно больше ресурсов, так что имеет смысл развивать Yggo

Некоторые сравнительные результаты описаны здесь
https://github.com/YGGverse/YGGo/issues/1#issuecomment-1497445198

4X_Pro

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;
}

Revertron

Надо не только на двойку проверять, но и на тройку.

4X_Pro

Для этого и  делается операция & 0xfe. Она обнуляет младший бит, и тройка превращается в двойку.