[>]
Re: Загейтуйте динамик
idec.talks
Difrex(dynamic,1) — Anotheroneuser
2018-11-06 19:05:57
Не, сообщения могут находиьтся только в пределах эхи, но можно ответить на сообщение из другой эхи. Перекрестные ссылки, типа.
[>]
Re: Загейтуйте динамик
idec.talks
Difrex(dynamic,1) — Anotheroneuser
2018-11-06 19:10:23
Да, сеть реализует распределенную базу сообщений.
Ты, например, писал со станции syscall, а я с dynamic, а теперь
эти сообщения есть на всех узлах(наверняка).
[>]
Re: Загейтуйте динамик
idec.talks
Andrew Lobanov(tavern,1) — Anotheroneuser
2018-11-08 18:25:22
Anotheroneuser> На самом деле, интересная штука -- это ваше программирование. Но я никак не могу себя заинтересовать им более, чем инструментом для создания игр.. Наверное, не дано.
Программирование ради программирования это какая-то ментальная мастурбация. Нужно просто решать свои задачи. Если удаётся их решать без программирования, то жить легче значит %)
[>]
Лежит станция Мира
idec.talks
Difrex(tavern,23) — All
2018-11-15 07:29:57
Сабж. Ругается на базульку, а еще там передаются сырые запросы, что в теории можно использовать для инъекции.
Правда в пыхокоде сильно не копался, но скорее всего подломить можно.
Функция executeQuery вызывается довольно часто и туда педаются данные путем слияния строк, например
Строка 285 файла transports.php
$this->executeQuery("insert into `$this->tablename` values(NULL, '".$msg['id']."', ' ... '".$msg['msg']."')");
Пока не ясно можно ли использовать это без авторизации. Код валидации authstring не читал.
Но имея поинта к этому участку кода появляется доступ :).
Да, в пхп можно отключить вывод ошибок в браузер, что лучше сделать :)
[>]
Re: Лежит станция Мира
idec.talks
vit01(mira, 1) — Difrex
2018-11-17 09:03:28
Сегодня появилось немножко свободного времени, и я решил таки разобраться со станцией
> Сабж. Ругается на базульку
Это обычно бывает, когда демон mariadb подыхает. Надо глянуть логи сервера
> Функция executeQuery вызывается довольно часто и туда педаются данные путем слияния строк, например
> Строка 285 файла transports.php
Специально прошерстил исходники на предмет сырых запросов.
Конкретно здесь ложная тревога. Ты, наверное, не заметил, что перед запуском этого кусочка кода сообщение эскейпится через prepareInsert, внутри которого вшит $db->real_escape_string
В getMessages эскейпится аналогично, в getMsgList и countMessages стоит жёсткий фильтр на все параметры внутри filter.php, так что зараза не пройдёт.
Не надо уж меня совсем дремучим говнокодером считать =)
Любые, даже начинающие, PHP-шники про SQL-инъекции думают сразу на стадии проектирования, и эта проблема съедает немалую часть времени на кодинг.
> Да, в пхп можно отключить вывод ошибок в браузер, что лучше сделать :)
Я его как раз специально включил, причём поставил самый verbose-уровень, чтобы быстро можно было понять, в чём проблема, и починить. Оно даже на варнинги бросает исключение и прерывает исполнение всего кода.
[>]
Re: Лежит станция Мира
idec.talks
vit01(mira, 1) — Difrex
2018-11-17 09:10:19
А вот что насчёт периодического дауна станции, я про эту проблему уже давно знаю, но пока ничего поделать не могу.
Когда сервак в дауне, ping выдаёт ответы от какого-то zapret.hostnode.net (или .com?)
Путём гуглинга выяснилось, что проблема на стойке в Москве у webdc.ru
Хочу окончательно съехать со нашего FirstVDS к немцам на Hetzner, но переносить все запущенные сервисы пока нет времени. Немцы крутые, у них всегда чёткий аптайм без факапов, и второй сервак (а именно debug.ii-net.tk) работает как часы.
[>]
Re: Лежит станция Мира
idec.talks
vit01(mira, 1) — Difrex
2018-11-17 10:55:10
> // А поставьте на фетч с dynamic основные эхи. Вроде как, все работает.
Уже давно как всё фетчится, твои сообщения видим
[>]
Re: Документация
idec.talks
vit01(mira, 1) — Andrew Lobanov
2018-11-20 12:33:12
AL> Я там коммитнул в сабж. У меня опять проэтосамован почтовый ящик а то.
Обновлено.
Недавно решил попробовать Jenkins потыкать и настроил его для нашего репозитория с документацией. По нажатию пары кнопочек дока компилируется из markdown и заливается на сайт.
Вебхуки, правда, заставить работать не получилось, но и так неплохо уменьшил количество телодвижений по сабжу.
[>]
IDEC Mobile
idec.talks
vit01(mira, 1) — All
2018-12-08 08:12:45
В новой сборке клиента был пофикшен один из самых критичных багов, который давно мозолил мне глаза: приложение не запускалась на ОС версий ниже 4.4
Теперь можно снова использовать клиент на старых девайсах.
[>]
Re: IDEC Mobile
idec.talks
btimofeev(tavern,13) — vit01
2018-12-15 19:56:11
vit01> ]...] приложение не запускалась на ОС версий ниже 4.4
А такие девайсы у кого-то ещё остались и ими реально пользуются? У меня телефону 4 года, на нем сейчас андроид 6. Разве кто-то ещё с более старыми ходит?
[>]
Re: IDEC Mobile
idec.talks
vit01(mira, 1) — btimofeev
2018-12-16 02:59:51
vit01>> ]...] приложение не запускалась на ОС версий ниже 4.4
btimofeev> А такие девайсы у кого-то ещё остались и ими реально пользуются? У меня телефону 4 года, на нем сейчас андроид 6. Разве кто-то ещё с более старыми ходит?
Вышеописанный баг я починил, потому что кто-то мне на него пожаловался по емейлу. Иначе бы не узнал, что эта проблема существует.
А вообще у меня одногруппник есть в универе, который до сих пор ходит с мобилкой то ли на 4.2, то ли даже версии ниже (всеми любимый Телеграм там не пашет, дропнули поддержку). Работает девайс, а выбрасывать-то жалко. И есть другой чел, но у него 4.4
У самого вон планшет старый на 4.4 трудится до сих пор. Вот кого не видел - так это людей, пользующихся андроидом 2.3. Их точно у нас не повстречаешь уже. Но приложение на таких изначально и не нацеливалось.
[>]
Re: IDEC Mobile
idec.talks
vit01(mira, 1) — vit01
2018-12-31 11:00:26
Поставил себе недавно 8 андроид наконец-то
Скоро будет фикс уведомлений и автофетча для IDEC Mobile
[>]
Re: IDEC Mobile
idec.talks
vit01(mira, 1) — vit01
2019-01-02 16:11:11
Попробовал починить падения и что-то сделать с уведомлениями в андроиде 8 и выше.
Надеюсь, оно будет хоть как-то работать. Качайте свежую сборку, тестируйте
[>]
Полнотекстовый поиск и подписи
idec.talks
vit01(mira, 1) — All
2019-01-08 07:24:52
Обнаружил одну очевидную проблему.
Если ввести в поиск по ключевым словам IDEC Mobile или Android, то будут выдаваться все сообщения, которые не относятся ни к тому, ни к другому.
Потому что подписи.
Надо как-то сделать так, чтобы поиск игнорировал это дело.
[>]
Re: IDEC Mobile
idec.talks
btimofeev(tavern,13) — vit01
2019-01-21 09:27:09
vit01, я тебе отправил пулл реквест с фиксами на андроид 9. Если есть возможность протестируй на предыдущих версиях, особенно на 4.* так как новая ACRA требует java 8, а она может не работать на старых устройствах.
[>]
Re: Лежит станция Мира
idec.talks
vit01(mira, 1) — btimofeev
2019-01-21 15:47:27
btimofeev> ii-net.tk что-то недоступен.
Была проблема у хостера опять
Из-за переполнения /boot при очередном обновлении ядра скрипты системы не смогли сгенерировать initramfs, из-за чего система не загрузилась при следующем ребуте
Так как у меня были экзамены, то разбираться с техподдержкой не было времени, а сейчас вон починили всё.
[>]
Re: Полнотекстовый поиск и подписи
idec.talks
Difrex(tavern,23) — vit01
2019-01-25 07:14:58
vit01> Хотя поисковой движок, запущенный для нашей базы, есть только у тебя, поэтому тут всё зависит от простоты постановки такого условия в ElasticSearch.
Мне добавить в парсер это не сложно, нужно только время выкроить
[>]
Re: А где у нас актуальный nodegraph.svg?
idec.talks
Andrew Lobanov(tavern,1) — Difrex
2019-01-29 03:44:15
Difrex> $сабж
Difrex> Вот этот вот http://idec.spline-online.ml/x/file/nodegraph.svg не актуален.
Актуализацией надо заниматься. У нас нет актуального нодлиста, так что пока что не могу построить актуальный граф.
Скиньте актуальные сегменты нодлиста тогда.
[>]
Re: А где у нас актуальный nodegraph.svg?
idec.talks
Anotheroneuser(syscall,27) — Difrex
2019-01-29 20:17:23
А. Ну я, как в "Приключениях Шурика":
— Песчаный карьер!
— Я!
))
Первый раз в жизни запустил mutt. Сказочные ощущения.
Правда, с gmail.
Google, оказывается, бдит. Причём, делает это довольно настырно.
Настроив конфиг, несколько раз пытался за-mutt-иться, но всякий раз программа высвечивала "регистрация не удалась".
Потом случайно залез в ящик и нашёл там послание.
Они писали мне, что кто-то пытался получить доступ и т.д.
Только после того, как им было дано разрешение на доступ к моей учётной записи всяких неизвестных приложений, зарегистрироваться получилось.
[>]
Обновление динамика
idec.talks
Difrex(tavern,23) — All
2019-02-20 11:20:17
На dynamic.lessmore.pw появилась возможность читать треды.
Строятся по repto, у каждого поста теперь есть topicid, вида
3ee870f3-be0c-4ea4-8a6d-b6c8ecd64dac.
Если мы перейти по ссылке
https://dynamic.lessmore.pw/thread/3ee870f3-be0c-4ea4-8a6d-b6c8ecd64dac, то
можно будет читать тред с сортировкой по времени от старых к новым.
Чтобы попасть в тред нужно перейти по ссылке в сабже.
У каждого поста есть якорь с msgid, так что можно добавить #8EuhW1rxWVNQAcPxuxLn и перейти к нужному сообщению.
На самом деле, id уже проставляется в ссылке, но почему-то браузер не переходит куда надо.
:)
[>]
lor-opennet
idec.talks
Andrew Lobanov(tavern,1) — vit01
2019-02-26 17:27:42
А что случилось с сабжевой эхой? Уже почти месяц нет новостей. Могу натравить своего робота, если у тебя какие-либо проблемы с ним.
[>]
Re: lor-opennet
idec.talks
vit01(mira, 1) — Andrew Lobanov
2019-02-26 22:29:43
AL> А что случилось с сабжевой эхой? Уже почти месяц нет новостей. Могу натравить своего робота, если у тебя какие-либо проблемы с ним.
Мне каждый день оттуда новости приходят. Может быть, ты подписался неправильно?
ii://lor-opennet.17
[>]
Переезд
idec.talks
vit01(mira, 1) — All
2019-01-24 18:07:14
Если вы видите это сообщение, значит ii-net.tk успешно переехал на новый сервер к немцам
Мне пришлось сильно задолбаться, чтобы проапгрейдить MySQL до версии 5.7 и php до 7.2
А ещё чтобы сменить lighttpd на nginx
[>]
Re: IDEC Mobile
idec.talks
vit01(mira, 1) — btimofeev
2019-02-15 14:30:58
btimofeev> vit01, я тебе отправил пулл реквест с фиксами на андроид 9. Если есть возможность протестируй на предыдущих версиях, особенно на 4.* так как новая ACRA требует java 8, а она может не работать на старых устройствах.
См.
https://github.com/idec-net/idec-mobile/pull/30
Провозился с этим делом и потом отложил в долгий ящик.
Но теперь, когда у меня появился аппарат на 9 версии андроида, пришлось взять и разобраться. В общем, решил, что лучше уж пожертвовать ACRA на старых версиях андроида, чем плодить лишние проблемы на новых.
Новая сборка уже на сайте, можно обновляться.
И за сам факт пулл-реквеста спасибо
[>]
Re: Переезд
idec.talks
Andrew Lobanov(tavern,1) — vit01
2019-02-27 09:56:53
vit01> Если вы видите это сообщение, значит ii-net.tk успешно переехал на новый сервер к немцам
vit01> Мне пришлось сильно задолбаться, чтобы проапгрейдить MySQL до версии 5.7 и php до 7.2
vit01> А ещё чтобы сменить lighttpd на nginx
Вот где собака зарыта! Фетчер забирал сообщения с Мира по http. Мы месяц жили с поломанным линком.
[>]
Re: Метадата
idec.talks
Andrew Lobanov(tavern,1) — Difrex
2019-02-28 11:47:36
>> Фетчер тоссит сообщение, видит метку и добавляет msgid в список сообщений с дополнительными данными. После того, как растоссил, передаёт айдишники в какую-нить схему типа x/d/.
Difrex> Вот это еще не особо нравится.
Difrex> Со стороны клиента мне это видится так:
Difrex> ====
Difrex> +--------------+
Difrex> | |
Difrex> | IDEC Client |
Difrex> +------>| |<------+
Difrex> | +--------------+ |
Difrex> | |
Difrex> xdata tag message
Difrex> | data
Difrex> | |
Difrex> | v
Difrex> +-+-------------+ +-----------------+
Difrex> | /u/m/gkC... | | /x/d/gkC... |
Difrex> | | | |
Difrex> +---------------+ +-----------------+
Difrex> ====
Difrex> Т.е. клиент видя соотвествующий тег лезет в /x/d/gkCo68TG1nrIXrgMklUN, получает от туда список аттачей, а затем делает еще
Difrex> один запрос /x/d/gkCo68TG1nrIXrgMklUN/attachName для получения аттача. На ровном месте мы получили 3 запроса.
Зачем третий запрос? Клиент видит тэг, запрашивает все аттачи по этому тегу. Ему приходят они. В верхней квоте ни слова про третий запрос нет. И на схеме у тебя его нет.
[>]
Re: Метадата
idec.talks
Difrex(dynamic,1) — Andrew Lobanov
2019-03-01 07:41:27
>>> Клиент видит тэг, запрашивает все аттачи по этому тегу
>> Вот это не нравится. А если я не хочу все аттачи тянуть?
> Тогда просто игнорируешь тег и всё.
Не, мне кажется, что нужно что-то сделать для того, чтобы можно было по одному аттачу качать.
[>]
Re: Метадата
idec.talks
Andrew Lobanov(tavern,1) — Difrex
2019-03-01 08:57:08
>>>> Клиент видит тэг, запрашивает все аттачи по этому тегу
>>> Вот это не нравится. А если я не хочу все аттачи тянуть?
>> Тогда просто игнорируешь тег и всё.
Difrex> Не, мне кажется, что нужно что-то сделать для того, чтобы можно было по одному аттачу качать.
Тогда лишний запрос надыть. Или в теги писать метаданные аттачей, что можно, но чревато большими тегами.
[>]
Re: Метадата
idec.talks
Difrex(dynamic,1) — Andrew Lobanov
2019-03-01 15:14:42
>> Не, мне кажется, что нужно что-то сделать для того, чтобы можно было по одному аттачу качать.
>Тогда лишний запрос надыть. Или в теги писать метаданные аттачей, что можно, но чревато большими тегами.
Но что-то делать с этим точно надо :)
[>]
Re: Метадата
idec.talks
Peter(syscall,1) — Andrew Lobanov
2019-03-01 15:27:49
Идея была все-таки вот в чем.
С сообщением могут идти данные. Формат данных и что в них, мы не стандартизируем. Это просто данные, связанные с сообщением.
Поэтому детализация на таком уровне, по моему, принесет только вред. Тогда лучше остаться на том, что есть.
Просто есть дополнительная инфа. Что именно в этой информации определяет клиентское ПО. Там могут быть картинки, звук.
Ну как в современных мессенжерах. :)
А выбирать пропускать данные или нет нода может только руководствуясь лимитами на размер. Скажем, размер данных не больше 1Мб.
[>]
Re: Метадата
idec.talks
Andrew Lobanov(tavern,1) — Peter
2019-03-02 17:02:04
Peter> Идея была все-таки вот в чем.
Peter> С сообщением могут идти данные. Формат данных и что в них, мы не стандартизируем. Это просто данные, связанные с сообщением.
Peter> Поэтому детализация на таком уровне, по моему, принесет только вред. Тогда лучше остаться на том, что есть.
Peter> Просто есть дополнительная инфа. Что именно в этой информации определяет клиентское ПО. Там могут быть картинки, звук.
Peter> Ну как в современных мессенжерах. :)
Детализации особо и нет. Я честно не понимаю стремления отказаться от файлов. В итоге мы имеем повсеместно имеем всё равно те же файлы, но только спрятанные глубоко и неудобно.
Peter> А выбирать пропускать данные или нет нода может только руководствуясь лимитами на размер. Скажем, размер данных не больше 1Мб.
Ну тут да. Можно подумать как и что пропускать. Можно метаданные передавать ещё к каждому блобу.
[>]
Re: Метадата
idec.talks
Peter(syscall,1) — Andrew Lobanov
2019-03-02 20:17:49
> Детализации особо и нет. Я честно не понимаю стремления отказаться от файлов.
Ой, моя реплика относилась к идее делать несколько тегов на каждый тип. Ну типа тег - картинка, тег - архив. Что-то ещё.. Тогда мы должны делать все эти n запросов. Да ещё и выбирать, что пропускать... Вот это, кмк, будет хуже текущих фрек.
[>]
Re: Метадата
idec.talks
Andrew Lobanov(tavern,1) — Peter
2019-03-03 05:25:10
>> Детализации особо и нет. Я честно не понимаю стремления отказаться от файлов.
Peter> Ой, моя реплика относилась к идее делать несколько тегов на каждый тип. Ну типа тег - картинка, тег - архив. Что-то ещё.. Тогда мы должны делать все эти n запросов. Да ещё и выбирать, что пропускать... Вот это, кмк, будет хуже текущих фрек.
Вообще, я примерно так и думаю.
Например:
image:<filename>:<base64>
audio:<filename>:<base64>
А желание не пропустить информацию, ИМХО, противоречит самой цели секты.
[>]
go-idec
idec.talks
Difrex(dynamic,1) — All
2019-03-04 13:41:02
Раз у нас намечается(наконец-то :) развитие, то я покрыл тестами гошную либу на 90%.
Буду очень рад, если кто-то еще будет туда коммитить. Сейчас там не хватает поддержки фэх.
Пример получения последних сообщений:
package main
import (
"fmt"
"time"
idec "github.com/idec-net/go-idec"
)
func main() {
fc := idec.FetchConfig{
Node: "https://dynamic.lessmore.pw/idec/",
Echoes: []string{"pipe.2032", "idec.talks"},
Offset: -3,
Limit: 3,
}
ids, err := fc.GetMessagesIDS()
if err != nil {
panic(err)
}
msgs, err := fc.GetRawMessages(ids)
if err != nil {
panic(err)
}
for _, m := range msgs {
msg, err := idec.ParseMessage(m.Message)
if err != nil {
panic(err)
}
fmt.Printf("Author: %s, Subg: %s, Date: %s\n", msg.From, msg.Subg, time.Unix(int64(msg.Timestamp), 0))
}
}
Запуск
go run test.go
Author: Difrex, Subg: Re: idec, Date: 2019-03-04 11:56:06 +0300 +03
Author: Difrex, Subg: Re: idec, Date: 2019-03-04 11:21:04 +0300 +03
Author: Peter, Subg: Re: idec, Date: 2019-03-04 11:09:22 +0300 +03
Author: Andrew Lobanov, Subg: Re: Метадата, Date: 2019-03-03 08:25:10 +0300 +03
Author: Peter, Subg: Re: Метадата, Date: 2019-03-02 23:17:49 +0300 +03
Author: Andrew Lobanov, Subg: Re: Метадата, Date: 2019-03-02 20:02:04 +0300 +03
[>]
Netmail
idec.talks
Difrex(dynamic,1) — All
2019-03-12 09:29:17
Я думаю, что нужно начинать с этим что-то делать.
Для этого я создал репозиторий с документом в котором предлагаю общими усилиями
разработать стандарт обмена личными сообщениями, а так же реализовать PoC сервера(ноды)
и клиента.
Вот этот репозиторий:
https://github.com/idec-net/netmail
Давайте обсуждать и дописывать.
[>]
Re: Документация
idec.talks
Andrew Lobanov(tavern,1) — Anotheroneuser
2019-03-12 12:07:43
AL>> Коммитнул в сабж
Anotheroneuser> Это значит, где-то опубликовал?
В внёс изменения в исходники документации по idec.
Anotheroneuser> А где?
На гитхабе.
Anotheroneuser> Я бы тоже хотел свой адрес оставить
Ну я это сделал потому что у меня нет открытой регистрации (и не будет), но мне можно написать на почту и я зарегистрирую нового пользователя.
[>]
Re: Netmail
idec.talks
Andrew Lobanov(tavern,1) — Difrex
2019-03-12 12:07:52
Difrex> Я думаю, что нужно начинать с этим что-то делать.
Нужно, но я пока попиливаю между делом кандидата в эталонную реализацию idec =)
Закладываю три вещи в это дело:
1. Реализация на python, чтобы любой желающий мог ознакомиться и внести изменения.
2. По возможности максимальная модульность реализации.
3. Настолько лаконичный и простой код, насколько я смогу.
В данный момент реализовано всё, кромен фэх и нет вебморды, но оно уже существенно лучше iing в плане реализации. Кода меньше, он проще и быстрее.
Difrex> Для этого я создал репозиторий с документом в котором предлагаю общими усилиями
Difrex> разработать стандарт обмена личными сообщениями, а так же реализовать PoC сервера(ноды)
Difrex> и клиента.
Difrex> Вот этот репозиторий: https://github.com/idec-net/netmail
Хорошее дело.
Difrex> Давайте обсуждать и дописывать.
Обсуждать готов, а вот писать пока не очень.
Самое главное, с моей точки зрения, оставить шифрование нетмейла опцией. Лучше всего, вообще не делать его частью стандарта. Нужно оставить сам стандарт максимально простым.