[#]
Re: Автодискавери
revoltech(spnet, 4) — All
2024-11-22 10:04:46
Теперь о том, как автодискавери можно реализовать технически без завязки на внешний мир типа почт или форумов. Чисто один из вариантов.
1. Ноды, которые соглашаются на роль автокоординатора, открывают специальную эху node.list и специального пользователя с auth-строкой nodediscovery, который может писать только в эту эху.
2. При постинге в эту спецэху те ноды, согласившиеся на роль автокоординатора, обязаны валидировать поступающие URL на предмет наличия API /list.txt, /e и /u/e с проверкой доступности первой попавшейся в list.txt эхи. Все посты, которые не проходят валидацию, не должны попадать в спецэху.
3. Если конкретный URL уже был запощен в спецэху, валидацию он также не проходит.
4. Эха node.list синхронизируется между всеми узлами так же, как и все остальные (idec.talks, например).
5. Обычные поинты читают эту эху и находят новые для себя станции.
[#]
Re: Автодискавери
shaos(spnet, 2) — revoltech
2024-11-22 10:25:41
1. Это надо создавать узлы с разными правами пользователей - пока таких в природе не существует
[#]
Re: Автодискавери
revoltech(spnet, 4) — shaos
2024-11-22 10:30:22
shaos> 1. Это надо создавать узлы с разными правами пользователей - пока таких в природе не существует
Блэт, серьёзно? Я один до поля acl в таблице auth додумался?..
2. Я вручную поле на All поменял.
[#]
Re: Автодискавери
doesnm(tgi,8) — revoltech
2024-11-22 10:39:19
revoltech> Теперь о том, как автодискавери можно реализовать технически без завязки на внешний мир типа почт или форумов. Чисто один из вариантов.
Это все хорошо, но что будет если через автодискавери попадет вредоносная нода которая будет подделывать сообщения? Что-то подобное в yarn уже было:
https://lyse.isobeef.org/tmp/burglary.png (первое сообщение подделано)
[#]
Re: Автодискавери
shaos(spnet, 2) — revoltech
2024-11-22 10:47:29
> Я один до поля acl в таблице auth додумался?..
Это чего такое? Надо же чтобы в разных эхах разные права были - я какое-то время назад размышлял тут на эту тему - это надо группы городить и по группам разные доступы организовывать...
[#]
Re: Автодискавери
revoltech(spnet, 4) — shaos
2024-11-22 10:52:25
shaos> Это чего такое? Надо же чтобы в разных эхах разные права были
Это как раз оно самое. Если пустая строка — ноль прав, если * — можно постить во все эхи, если список эх через запятую — разрешённые эхи для постинга. Всё.
[#]
Re: Автодискавери
revoltech(spnet, 4) — doesnm
2024-11-22 10:54:56
doesnm> Это все хорошо, но что будет если через автодискавери попадет вредоносная нода которая будет подделывать сообщения?
Ничего не будет. Это не для сисопов, а для юзеров. Разумеется, на основании автодискавери не должно автоматически приниматься решение о фетче с новой ноды. Это способ заявить о себе без внешних каналов, не более того.
[#]
Re: Автодискавери
shaos(spnet, 2) — revoltech
2024-11-22 10:55:14
Ну допустим появилась ещё одна эха, куда можно писать "низшей касте" - ты будешь перебирать все записи пользователей и добавлять эту эху в каждую запись, где не звёздочка?
[#]
Re: Автодискавери
revoltech(spnet, 4) — shaos
2024-11-22 10:59:24
shaos> Ну допустим появилась ещё одна эха, куда можно писать "низшей касте" - ты будешь перебирать все записи пользователей и добавлять эту эху в каждую запись, где не звёздочка?
Да, а что в этом сложного? Один UPDATE-запрос с CONCAT.
[#]
Re: Автодискавери
revoltech(spnet, 4) — shaos
2024-11-22 11:45:56
shaos> Вручную? ;)
Какая разница, скриптом или вручную? Запрос-то всё равно один, независимо от количества таких пользователей.
[#]
Re: Автодискавери
foxears(spnet, 5) — All
2024-11-23 10:20:14
Мой вариант.
1. Станция которая хочет заявить о себе миру делает GET-запрос вида /d/url-to-node/url-encoded-name-of-node на любую известную станцию, второй параметр не обязателен.
2. Станция получившая запрос проверяет что такой url ей не известен
3. Станция проверяет что по адресу из запроса действительно ii-нода
4. Станция добавляет ноду в /nodes.txt
5. Станция добавляет сообщение в эху node.list
Другая станция забирает /nodes.txt после чего повторяет пункты 2-5.
Основой распространия списка становится /nodes.txt. Эха node.list является локальной для каждой станции и не подлежит распространению.
Далее каждая станция раз в сутки проходит по списку нод из /nodes.txt и проверяет доступность (пункт 3), если проверка проваливается 7 раз, т.е. нода не доспутна неделю, то нода из списка маскируется, сообщение в эхе node.list вносится в чёрный список, т.е. новички эту ноду не увидят. В дальнейшем можно наверное раз в месяц просто удалять все замаскированные ноды из списка вместе с сообщениями из node.list
Примерный форман /nodes.txt
url:name
-masked-url:name
[#]
Re: Автодискавери
ahamai(blackcat, 2) — foxears
2024-11-23 10:33:28
урла должно быть два - пойнтовый и веб-интерфейс (если есть)
[#]
Re: Автодискавери
shaos(spnet, 2) — ahamai
2024-11-23 10:51:08
> урла должно быть два - пойнтовый и веб-интерфейс (если есть)
сейчас вроде бы у всех эти 2 урла одинаковые (даже у меня)
[#]
Re: Автодискавери
foxears(spnet, 5) — All
2024-11-23 11:36:28
У тебя же как-раз разные iii-web.php и iii-point.php
Из-за этого не сразу понял как с тебя сообщения забирать.
[#]
Re: Автодискавери
shaos(spnet, 2) — foxears
2024-11-23 11:47:28
Теперь и то, и другое у меня
https://sprinternet.io/iii/
Если ввести в браузере без параметров, то оно само перескочит на iii-web.php
А если добить урл параметрами (типа /u/e/ и т.д.), то оно через Rewrite модуль апача перевызовет внутри iii-point.php?q=/хвост (но снаружи оно так и останется /iii/u/e/...)
[#]
Re: Автодискавери
shaos(spnet, 2) — shaos
2024-11-23 11:59:48
Надо чтоли какие-то StickyNotes справа от списка эх разместить с инструкциями как к ноде подключаться и что это вообще такое...
[#]
Re: Автодискавери
foxears(spnet, 5) — All
2024-11-23 19:36:01
Сделал на скорую руку первый этап автодискавери.
Запрос вида /d/$SHEME/url или /d/$SHEME/url/node%20name, где $SHEME = http или https, добавляет строку в nodes.txt после проверки что url это ii-сервер (проверяется наличие list.txt, /u/e/ и /u/m/). Ответ может быть 200 - строка добавлена, 304 - станция уже в списке, 404 - сервер не ii. nodes.txt содержит url и опционально имя, разделённые табом. Парсинг чужих nodes.txt пока не реализован, как и создание сообщений в эхе, и автоудаление отвалившихся.
[#]
Re: Автодискавери
shaos(spnet, 2) — foxears
2024-11-24 00:40:24
tgistation.ru это tgi
hugeping.tk это ping
(судя по заголовкам в генерируемых ими сообщениях)
[#]
Re: Автодискавери
doesnm(tgi,8) — foxears
2024-11-29 11:43:08
foxears> Новости с полей - https://github.com/ptah-alexs/nl-tool
Ник знакомый... Такой же ник был на лоре?
[#]
Re: Автодискавери
doesnm(tgi,8) — foxears
2024-11-29 17:07:24
foxears> Новости с полей - https://github.com/ptah-alexs/nl-tool
Если предусмотришь список которые ты забираешь с этих нод, то может быть аналог node.json выйдет
Я бы не отказался от карты сети
[#]
Re: Автодискавери
foxears(spnet, 5) — doesnm
2024-11-29 19:00:53
А понял о чём ты, но тогда нужно что бы кто-то еще эти nodes.txt поддерживал:)
[#]
Re: Автодискавери
doesnm(tgi,8) — foxears
2024-11-29 19:17:03
foxears> У меня в https://idec.foxears.su/nodes.txt есть все известные на данный момент станции (кроме новичка кторый писал в idec.talks сегодня). К сожалению, никто кроме меня не поддерживает этот список и обмениваться не с кем, соответственно.
foxears> 2liathit, можешь свой сервер добавить в мой список станций самостоятелно сделав запрос вида curl -v https://idec.foxears.su/d/{тут http или https}/{адрес сервера без http[s]://, обработанное urlencode}/{самоназвание сервера обработанное urlencode}, например https://idec.foxears.su/d/https/sprinternet.io%2Fiii%2F/spnet
Перечитал свое сообщение
Я имел ввиду список эх
[#]
Re: Автодискавери
liathit(blackcat, 9) — foxears
2024-11-29 19:37:30
> 2liathit, можешь свой сервер добавить в мой список станций самостоятелно сделав запрос вида...
[#]
Re: Автодискавери
liathit(blackcat, 9) — doesnm
2024-12-02 20:39:13
> можешь свой сервер добавить в мой список станций самостоятелно сделав запрос вида curl -v https://idec.foxears.su/d/{тут http или https}/{адрес сервера без http[s]://, обработанное urlencode}/{самоназвание сервера обработанное urlencode}, например https://idec.foxears.su/d/https/sprinternet.io%2Fiii%2F/spnet
У меня чего-то не вышло добавить ноду.
[#]
Re: Автодискавери
foxears(spnet, 5) — liathit
2024-12-02 21:31:30
Что конкретно вводил? Я как мог протестил локально, но что-то не учёл возможно. Добавил себе отладочные сообщения на эндпойнт /d/
[#]
Re: Автодискавери
liathit(blackcat, 9) — foxears
2024-12-02 22:55:58
> Что конкретно вводил?
curl -v https://idec.foxears.su/d/http/netsco.alwaysdata.net%2F/netsco
Url может не верно пишу
[#]
Re: Автодискавери
foxears(spnet, 5) — liathit
2024-12-03 00:16:28
Твоя нода не проходит проверку на ii-шность, потому что в hamradio.73 у тебя нет сообщений :). Слегка исправил проверку на такой случай, можешь пробовать снова, url верный используешь.
[#]
Re: Автодискавери
revoltech(yesterlink,1) — foxears
2024-12-03 18:55:29
foxears> Твоя нода не проходит проверку на ii-шность, потому что в hamradio.73 у тебя нет сообщений :). Слегка исправил проверку на такой случай, можешь пробовать снова, url верный используешь.
А откуда вообще можно сфетчить hamradio.73?
[#]
Re: Автодискавери
liathit(blackcat, 9) — revoltech
2024-12-03 21:58:50
>А откуда вообще можно сфетчить hamradio.73?
Это я создал hamradio.73 на станции netsco.alwaysdata.net
[#]
Re: Автодискавери
ahamai(blackcat, 2) — revoltech
2025-01-05 03:49:43
> Блэт, серьёзно? Я один до поля acl в таблице auth додумался?..
в фидо acl не было, а баны были. тут принцип фидо. хотя зачем оно нужно, не могу представить. для сисопов были скрытоэхи, где они обсуждали нужное
[#]
Re: Автодискавери
netsco(netsco, 2) — foxears
2024-12-03 00:51:27
>Твоя нода не проходит проверку на ii-шность, потому что в hamradio.73 у тебя нет сообщений :).
Вот теперь добавилась...))