idec.talks: Сеть IDEC


1 . . . 3 4
From: 1i8r4 (av4lon,4) 31.03.18 17:47 UTC
To: All
Subject: idec нода
AL, Сабж, видимо голова последнее время стала туго соображать, почему нода через веб морду не показывает количество сообщений? И когда запрыгиваешь в какую-нибудь эху показывает пусто, мол давай напишем новое сообщение...

Куда они могли пропасть? Где что глянуть, чтобы всё норм было. Есть какие идеи?

Reply to: vavzLFCZYGzhj39ZEbSd
From: Andrew Lobanov (tavern,1) 02.04.18 05:56 UTC
To: 1i8r4
Subject: Re: idec нода
1i8r4> AL, Сабж, видимо голова последнее время стала туго соображать, почему нода через веб морду не показывает количество сообщений? И когда запрыгиваешь в какую-нибудь эху показывает пусто, мол давай напишем новое сообщение...
1i8r4> Куда они могли пропасть? Где что глянуть, чтобы всё норм было. Есть какие идеи?

Выглядит как будто эхи есть в конфиге, но отсутствуют в базе. Они у тебя точно сфетчены?

Reply to: ZSFNbU90BGtqAbK8bgbm
From: 1i8r4 (av4lon,4) 04.04.18 16:15 UTC
To: Andrew Lobanov
Subject: Re: idec нода
>Выглядит как будто эхи есть в конфиге, но отсутствуют в базе. Они у тебя точно сфетчены?
Да сфетчены, постоянно фетчер работает...

Или надо его запускать с какими-то параметрами, чтобы сделать что-то вроде первого инит?

Вот кусок лога фетчера...
====

./fetch-idec.sh  
Работа с https://ii-net.tk/ii/ii-point.php?q=/  
Получение списка возможностей ноды...  
Получение количества сообщений в конференциях...  
Получение индекса от ноды...  
Построение разностного индекса...  
Новых сообщений не обнаружено.  
Получение индекса файлэх.  
Построение разностного индекса.  
Работа с http://idec.spline-online.tk/  
Получение списка возможностей ноды...  
Получение количества сообщений в конференциях...  
Получение индекса от ноды...  
Построение разностного индекса...  
Новых сообщений не обнаружено.  
Получение индекса файлэх.  
Построение разностного индекса.  
Работа с http://ii.club.syscall.ru/  
Получение списка возможностей ноды...  
Получение количества сообщений в конференциях...  
Получение индекса от ноды...  
Построение разностного индекса...  
Новых сообщений не обнаружено.  
Получение индекса файлэх.  
Построение разностного индекса.
====

Reply to: Sji2mdCpix5ZYJzipoUM
From: Andrew Lobanov (tavern,1) 05.04.18 14:37 UTC
To: 1i8r4
Subject: Re: idec нода
>> Выглядит как будто эхи есть в конфиге, но отсутствуют в базе. Они у тебя точно сфетчены?
1i8r4> Да сфетчены, постоянно фетчер работает...

Тогда очень странно. А клиентом они забираются?

1i8r4> Или надо его запускать с какими-то параметрами, чтобы сделать что-то вроде первого инит?

Нет. Он сам всё сделает при первом запуске.

1i8r4> Вот кусок лога фетчера...

Ну толку от него мало. Понятно только что он не нашёл новых сообщений =)

У тебя фетчер без ключа -o запускается? Если так, то попробуй запустить руками с этим ключом. Только базу сбекапь, так как там навалит все сообщения с аплинков.

From: Andrew Lobanov (Go!,1) 19.04.18 06:42 UTC
To: All
Subject: Вопросы по /u/push
Возникло два сабжа.

1. Бандл в сабжевой теме принимается в формате msgid:base64?
2. Лучше делать отдельную авторизацию для принятия сообщений или разрешить доступ на пуш тупо всем пользователям?

Reply to: CqEtFFS7Yt9d6fxtRqBe
From: vit01 (mira, 1) 19.04.18 09:16 UTC
To: Andrew Lobanov
Subject: Re: Вопросы по /u/push
AL> 1. Бандл в сабжевой теме принимается в формате msgid:base64?

Да, и, как помню, многострочный. Смотри в доки и в мои исходники

AL> 2. Лучше делать отдельную авторизацию для принятия сообщений или разрешить доступ на пуш тупо всем пользователям?

В PHP-ноде пуш доступен по админскому паролю. То есть только сам сисоп может пушить.

Пользователям пушить нельзя, потому что так они могут подделывать сообщения в базе.

Эта фича была создана для наших собственных служебных скриптов. Например, если на сервере отсутствует Cron или мало белых айпишников.

Reply to: ESwCYLrw776t0Ra9nMVD
From: Andrew Lobanov (Go!,1) 19.04.18 12:03 UTC
To: vit01
Subject: Re: Вопросы по /u/push
AL>> 1. Бандл в сабжевой теме принимается в формате msgid:base64?
vit01> Да, и, как помню, многострочный. Смотри в доки и в мои исходники

Ну да. Такой чисто наш бандл. Понял =)

AL>> 2. Лучше делать отдельную авторизацию для принятия сообщений или разрешить доступ на пуш тупо всем пользователям?
vit01> В PHP-ноде пуш доступен по админскому паролю. То есть только сам сисоп может пушить.

Вот в таком виде я бы не хотел, наверное, делать.

vit01> Пользователям пушить нельзя, потому что так они могут подделывать сообщения в базе.

И вот это тоже чревато, хотя подделку сообщений я не понял. Принимать только новые сообщения и всё. Таким образом замены не будет. Или об чём речь?

vit01> Эта фича была создана для наших собственных служебных скриптов. Например, если на сервере отсутствует Cron или мало белых айпишников.

Да я вот задумался над работой ноды чисто "на исходящих". Такой не критичный юзкейс, но хрен его знает что от наших доблестных законотворцев и судей ждать дальше. Нужно подготовиться заранее =)

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

Reply to: ilJxwPhcXjlLZ0QfDxsS
From: vit01 (mira, 1) 19.04.18 13:15 UTC
To: Andrew Lobanov
Subject: Re: Вопросы по /u/push
vit01>> Пользователям пушить нельзя, потому что так они могут подделывать сообщения в базе.
AL> И вот это тоже чревато, хотя подделку сообщений я не понял. Принимать только новые сообщения и всё. Таким образом замены не будет. Или об чём речь?

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

Поведение при уже присутствующих сообщениях в базе - это уже совсем другая история. Это должно настраиваться в конфиге ноды. Либо разрешать перезаписывать, либо только на добавление. Какое поведение сейчас стоит на моей ноде, уже не помню (это дано на откуп транспорту БД).

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

Почему бы и нет. Только поаккуратнее с теми, кому доступ даёшь. Либо пуш-рассылку с подконтрольной себе станции делаешь, либо только от тех, кому доверяешь.

Reply to: FcFF6LyeqeozeDXtPPYz
From: Andrew Lobanov (Go!,1) 20.04.18 04:16 UTC
To: vit01
Subject: Re: Вопросы по /u/push
AL>> И вот это тоже чревато, хотя подделку сообщений я не понял. Принимать только новые сообщения и всё. Таким образом замены не будет. Или об чём речь?
vit01> Подделка сообщений в том плане, что пушер может писать что угодно от имени любых поинтов. То есть он может закинуть в сообщения любые метаданные и любой текст, который захочет.

Так не только пушер. Любой даунлинк. Пушить имеет смысл узлу, а поинту это нафиг не сдалось. А если я принимаю сообщения с узла, то могу от него и фетчем получить что попало. Раздавать же доступ на пуш поинту вообще не нужно. Это я уже понял =)

vit01> Поведение при уже присутствующих сообщениях в базе - это уже совсем другая история. Это должно настраиваться в конфиге ноды. Либо разрешать перезаписывать, либо только на добавление. Какое поведение сейчас стоит на моей ноде, уже не помню (это дано на откуп транспорту БД).

Я придерживаюсь игнорирования дублей. Никакой перезаписи, только тоталитаризм =)

AL>> Пока склоняюсь к мнению, что есть отдельный список пользователей, которым можно пушить. Вообще отдельно от поинтов и только для пуша чтоб. Тогда можно будет прописать даунлинка и он сможет слать сообщения со своего узла даже без белого ойпи.
vit01> Почему бы и нет. Только поаккуратнее с теми, кому доступ даёшь. Либо пуш-рассылку с подконтрольной себе станции делаешь, либо только от тех, кому доверяешь.

Ну я пока только умозрительно, но зато с пушем можно будет держать полноценный узел на телефоне даже =)

From: Difrex(mobile) (tavern,23) 21.04.18 09:40 UTC
To: All
Subject: IDEC identity

== IDEC Identity



Я придумал несколько вариантов, как мы можем шарить юзеров. Думаю, что можно пообсуждать.
Общая тема этого - использование gpg для подтверждения и шифрования.

В чем приимущества gpg:
- есть везде
- прост, как полено
- сеть доверия
- можно передавать секреты без всяких ssl

Все будет рассматриваться на примере 3-х нод, операторы которых подняли некий абстрактный(реализации нет)
сервер авторизации, добавили и подписали ключи друг-друга.
Так же, мне кажется, что эта штука может служить генератором points.txt.

== Вариант № раз



Identity service предоставляет API, например, по ~POST /x/i/points~. Запрос поинтов с ноды должен быть в виде
plain text сообщения подписанного ключом запрашивающего и зашифрованного публичным ключом целевой ноды.

Структура сообщения мне предсталяется как-то так:
====
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

idec/ok
sync
-----BEGIN PGP SIGNATURE-----
SIGNATURE
-----END PGP SIGNATURE-----
====

Нода, получившая этот запрос, расшифровывает полученный запрос, проверяет валидность подписи и степень доверия
к ключу запрашивающего, после чего парсит запрос и отдает список поинтов в формате points.txt(подписынный и зашифрованный конечно же).

== Плюсы



1. Реализуется с минимумом усилий
2. Очень все просто

== Минусы



1. Все поинты со всех нод хранятся на каждой из нод
2. Если подламывают одну из нод, то утекают все поинты сети

== Вариант № два



Identity сервис предоставляет API для валидации и проталкивания(push) поинтов.

== Валидация



На ноду приходит запрос требующий authstring, но соответсвующего поинта на ноде не существует.
Итак, с этим authstring делаются запросы на ноды-соседи. Сообщение запроса примерно такое(шифрованное):

====
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

idec/ok
validate
authstring
-----BEGIN PGP SIGNATURE-----
SIGNATURE
-----END PGP SIGNATURE-----
====

Если поинт существует, то возвращается(подписано и шифровано) true, никнейм и адрес поинта. Нода открывает
сессию(например, на 12 часов) для этого поинта и хранит данные авторизации в памяти без записи в points.txt. Можно добавлять что-то в адрес, чтобы было видно, что это не родной поинт этой станции.

== Проталкивание



Отправляем строку поинта на станции-соседи. Принимающая сторона записывает поинта в points.txt. Все.

== Плюсы



- Безопасно, при подломе станции все поинты не утекут

== Минусы



- Чуть сложнее, чем вариант номер раз.


Мне видится предпочтительным второй вариант. PoC постараюсь выложить в ближайшее время.
Обсудим?

From: vit01 (mira, 1) 28.04.18 14:51 UTC
To: All
Subject: Хабраэха
Теперь доступна здесь:  habra.rss

Поправьте фетчеры и подписки

From: Anotheroneuser (syscall,27) 03.05.18 21:40 UTC
To: All
Subject: Не могу зарегистрироваться на instead-games
Я не понимаю, что делаю неправильно. Подскажите, пожалуйста.
На странице регистрации содержится сообщение: «reCAPTCHA has not been set up by the site administrator in registration settings. This is required to register.»

То есть, мне нечем подтвердить свою человеческость? ))

Reply to: yVDWA5hNHXneIsnemb1g
From: Anotheroneuser (syscall,27) 03.05.18 21:44 UTC
To: Anotheroneuser
Subject: Re: Не могу зарегистрироваться на instead-games
Всё, разобрался. Прошу прощения. Просто надо было ввести прежние регистрационные данные, а я пытался зарегистрироваться снова.

From: btimofeev (tavern,13) 18.05.18 13:17 UTC
To: All
Subject: idec notifier для веб-браузера
Вздумалось мне вчера посмотреть как создаются плагины для веб-браузеров. В итоге решил потренироваться и написал сабж для Firefox.

Плагин представляет собой кнопку на панели браузера отображающую количество новых сообщиний на idec-ноде. При нажатии на кнопку открывается нода, а количество сообщений обнуляется. Адрес ноды и наблюдаемые эхи настраиваются на странице браузера about:addons в настройках соответствующего плагина. Новые сообщения проверяются каждые 10 минут.

Установить можно отсюда https://addons.mozilla.org/ru/firefox/addon/idec- notifier/
Исходный код https://github.com/btimofeev/idec-notifier

Reply to: cmLFMNNPE0fAj21Dfdm9
From: vit01 (mira, 1) 19.05.18 10:01 UTC
To: btimofeev
Subject: Re: idec notifier для веб-браузера
Поставил, годная штука. Правда, неплохо бы настраивать 2 вещи

1 - интервал проверки
2 - адрес, куда переходить по щелчку (для тех нод, где веб-интерфейс отличается от адреса API или для своих скриптов-букмарклетов)

Reply to: xhCv9XGGXb2H0B1L9Guk
From: btimofeev (tavern,13) 19.05.18 11:21 UTC
To: vit01
Subject: Re: idec notifier для веб-браузера
Если буду дальше им заниматься, то сделаю. Плюс думал добавить в настройки кнопку автополучения эх с ноды и настройку цвета количества новых сообщений. Ну и под хром можно попробовать портировать.

1 . . . 3 4