(Любезно предоставлено Wayback Machine http://www.archive.org/)

Краткое резюме

Присутствовали: dish, dm, jrand0m, MrEcho, nop

(лог встречи отредактирован, чтобы скрыть тот факт, что iip упал в середине встречи и было много тайм-аутов ping, так что не пытайтесь читать это как последовательное повествование)

Журнал встречи

[22:02] <jrand0m> повестка [22:02] <jrand0m> 0) приветствие [22:02] <jrand0m> 1) i2p router [22:02] <jrand0m> 1.1) статус [22:02] <jrand0m> 1.2) изменения в дорожной карте [22:02] <jrand0m> 1.3) открытые подпроекты [22:02] <jrand0m> 2) нативная modPow [22:03] <jrand0m> 2) GUI‑установщик [22:03] <jrand0m> 3) IM [22:03] <jrand0m> 4) служба имён [22:03] <MrEcho> я видел тот .c код [22:03] <jrand0m> 5) лицензирование [22:03] <jrand0m> 6) другое? [22:03] <jrand0m> 0) приветствие [22:03] <jrand0m> привет. [22:03] <nop> hi [22:03] <jrand0m> встреча 2^6 [22:04] <jrand0m> есть что добавить в повестку, nop? [22:04] <jrand0m> ок, 1.1) статус router [22:04] <jrand0m> у нас 0.2.0.3, и, насколько я слышал, всё работает [22:04] <MrEcho> > 0.2.0.3 [22:04] <MrEcho> верно? [22:05] <MrEcho> я его запустил.. вроде норм [22:05] <nop> нет [22:05] <jrand0m> после релиза 0.2.0.3 были мелкие коммиты, ничего на новый релиз [22:05] <nop> я просто пытаюсь нагнать [22:05] <jrand0m> круто [22:06] <jrand0m> с учётом опыта и отзывов по 0.2.0.x дорожную карту обновили, чтобы сделать запуск менее ресурсоёмким [22:06] <jrand0m> (то есть чтобы люди могли запускать веб‑серверы / и т. п., и это не жрало их CPU) [22:06] <jrand0m> конкретнее (переходя к пункту 1.2 повестки): http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap [22:06] <MrEcho> что я заметил — большинство routers используют: TransportStyle: PHTTP [22:07] <MrEcho> оно автоматически уходит в phttp или хотя бы сначала пытается tcp? [22:07] <jrand0m> хм, большинство routers должны поддерживать PHTTP, а если они могут принимать входящие соединения, то и TCP [22:07] <jrand0m> если есть хоть какая возможность, используется TCP [22:07] <jrand0m> PHTTP взвешивается как примерно в 1000 раз более «дорогой», чем TCP [22:08] <jrand0m> (см. GetBidsJob, который спрашивает у каждого транспорта, во сколько, по его мнению, обойдётся отправка сообщения пиру) [22:08] <jrand0m> (и см. TCPTransport.getBid и PHTTPTransport.getBid для используемых значений) [22:08] <MrEcho> ок [22:08] <jrand0m> ты часто используешь PHTTP для отправки и приёма сообщений? [22:09] <jrand0m> (это может быть признаком того, что твой TCP‑слушатель недоступен) [22:09] <MrEcho> я у себя не прописал URL'ы [22:09] <jrand0m> ага, ок. [22:09] <MrEcho> о, есть [22:10] <jrand0m> ок, да, мои routers имеют к тебе открытые TCP‑соединения [22:10] <dm> как гостеприимно с их стороны. [22:10] * jrand0m рад, что вы заставили меня сделать routerConsole.html, чтобы нам не приходилось ковыряться в логах из‑за этого дерьма [22:11] <MrEcho> есть ли таймаут: если к tcp не подключается, идёт в phttp? и какие там тайминги? [22:11] <jrand0m> но в любом случае главное изменение в дорожной карте — в 0.2.1 будет реализована штука AES+SessionTag [22:11] <MrEcho> или можно вынести это в настройку? [22:11] <jrand0m> если получает TCP connection refused / host not found /etc, эта попытка сразу проваливается, и пробуется следующая доступная ставка [22:12] <MrEcho> то есть без повторов [22:12] <jrand0m> у phttp таймаут 30 сек, iirc [22:12] <jrand0m> повторять не нужно. либо у тебя есть открытое TCP‑соединение и ты можешь отправить данные, либо нет :) [22:12] <MrEcho> лол, ок [22:13] <MrEcho> после этого оно будет каждый раз пытаться tcp или пропустит и сразу пойдёт по phttp для следующего подключения? [22:13] <jrand0m> пока что оно пробует tcp каждый раз. [22:13] <jrand0m> транспорты ещё не ведут историю [22:13] <MrEcho> ок круто [22:14] <jrand0m> (но если пир фейлится 4 раза, он попадает в шит‑лист на 8 минут) [22:14] <MrEcho> ну, как только другая сторона получает phttp‑сообщение, она должна подключиться к router'у, который отправил сообщение, по tcp, верно? [22:14] <jrand0m> верно. как только какое‑то tcp‑соединение установлено, его можно использовать. [22:14] <jrand0m> (но если у обоих пиров только phttp, они, очевидно, будут использовать только phttp) [22:15] <MrEcho> это бы означало, что оно не может установить tcp‑соединение ни с чем [22:15] <MrEcho> .. ну да [22:16] <MrEcho> жаль, что нельзя это обойти [22:16] <jrand0m> нет, один из моих routers не имеет TCP‑адреса — только PHTTP. но я устанавливаю TCP‑соединения с пирами, у которых есть TCP‑адреса. [22:16] <jrand0m> (и тогда они могут слать ответы по этому TCP‑соединению вместо того, чтобы слать мне более медленные PHTTP‑сообщения) [22:17] <jrand0m> или ты это не имел в виду? [22:17] <MrEcho> да я запутался [22:17] <jrand0m> ага, без проблем [22:18] <jrand0m> так что смотрите обновлённую дорожную карту для актуальной информации по графику ((Link: http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap)http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap) [22:18] <jrand0m> ок, 1.3) открытые подпроекты [22:19] <jrand0m> наконец я закинул кучу пунктов из моего palmpilot'а (список дел) в wiki: (Link: http://wiki.invisiblenet.net/iip-wiki?OpenSubprojects)http://wiki.invisiblenet.net/iip-wiki?OpenSubprojects [22:19] <jrand0m> так что если скучно и ищешь кодовые проекты... :) [22:19] <MrEcho> блин [22:20] <MrEcho> у меня уже 2 [22:20] <dish> У тебя palmpilot — это элитно [22:20] <MrEcho> мой сдох [22:20] <jrand0m> mihi> там есть пункт по поводу I2PTunnel, описывающий мысль, что у меня была недавно [22:20] <MrEcho> не знаю, что с ним [22:21] <jrand0m> да, раньше у меня были Palms, но недавно этот подарили «на дело» ;) [22:21] <dish> Можно ли внести в повестку на встрече пункт «когда в последний раз userX что‑нибудь писал» [22:21] <MrEcho> чёртова штука уже даже не включается [22:21] <MrEcho> лол [22:22] <jrand0m> Не думаю, что UserX что‑то говорил последние 4 или 5 месяцев ;) [22:22] <MrEcho> это бот или что? [22:22] <dish> А что он говорил 5 месяцев назад? [22:22] <MrEcho> держу пари, это BitchX, запущенный на каком‑то боксе, к которому у него раньше был доступ .. и он про него забыл [22:22] <jrand0m> что они вернутся с комментариями по anonCommFramework (старое название i2p) на следующей неделе ;) [22:23] <dish> ха‑ха [22:23] <jrand0m> но, полагаю, он занят. такое бывает [22:23] <jrand0m> ок, 2) нативная modPow [22:23] <MrEcho> я видел тот c‑код [22:24] <jrand0m> я собрал заглушку на .c и класс Java, чтобы показать, как можно интегрировать что‑нибудь вроде GMP или другую библиотеку MPI, но оно, очевидно, не работает [22:25] <jrand0m> было бы здорово иметь небольшой пакет классов на C и тот тривиальный связанный обёрточный класс на Java, который мы могли бы собирать под windows, osx, *bsd, linux и распространять под GPL

(сюда вставить серьёзный сбой iip)

[22:38] <MrEcho> последнее, что я видел: [13:25] <jrand0m> ок, 2) native modPow [22:38] <jrand0m> привет, MrEcho [22:38] <jrand0m> ага, похоже, основной прокси упал [22:39] <jrand0m> дам ему ещё 2 минуты перед перезапуском [22:39] <MrEcho> ок [22:39] <MrEcho> за $25 один раз я могу получить полную поддержку Java на thenidus.net … один из моих сайтов [22:40] <jrand0m> $25? они берут деньги за установку софта? [22:40] <MrEcho> пока не знаю .. это пакет [22:40] <MrEcho> сейчас разговариваю с другом [22:40] <jrand0m> не уверен, что код достаточно стабилен, чтобы идти и арендовать кучу площадок в colo, чтобы поднимать routers. Пока ещё :) [22:41] <dm> пакет чего? [22:41] <MrEcho> java - jsp [22:41] <jrand0m> ок, переотправляю то, что писал раньше: [22:41] <jrand0m> я собрал заглушку .c и класс на Java, чтобы показать, как можно интегрировать что-то вроде GMP или другой библиотеки MPI, но, очевидно, это не работает [22:41] <jrand0m> было бы хорошо, если бы у нас был небольшой пакет классов на C и тот тривиальный связанный класс-обёртка на Java, который мы могли бы собирать для windows, osx, *bsd, linux, и упаковать под GPL (или менее строгую лицензию) [22:41] <jrand0m> однако с новой дорожной картой, где AES+SessionTag стоит у меня текущей задачей, это уже не столь критично, как было. [22:42] <jrand0m> если кто-то всё же хочет заняться этим — было бы здорово (и я уверен, что другой проект, с которым мы все знакомы, тоже заинтересовался бы таким пакетом) [22:43] <dm> frazaa? [22:43] <jrand0m> хех, в каком-то смысле ;) [22:44] <jrand0m> ок, 3) установщик с GUI [22:44] <jrand0m> MrEcho> привет [22:44] <MrEcho> :) [22:44] <MrEcho> хехе [22:44] <MrEcho> двигается [22:44] <jrand0m> круто [22:44] <MrEcho> ничего особенного [22:45] <MrEcho> есть пара реально классных идей, чтобы сделать это действительно навороченным .. но до этого ещё далеко [22:45] <jrand0m> Я думал, не стоит ли добавить в установщик 1) опцию автополучения seeds с http://…/i2pdb/ 2) автозагрузку http://…/i2p/squid.dest и создание runSquid.bat/runSquid.sh тоже? [22:45] <jrand0m> ага [22:46] <jrand0m> да, мы хотим, чтобы установщик был максимально простым — о каких наворотах ты думал? [22:46] <MrEcho> вопрос такой .. когда делаешь java -jar installer, он по умолчанию идёт в режим без GUI из‑за того, как у тебя всё устроено [22:46] <MrEcho> как сделать так, чтобы при двойном клике по jar-файлу загружался GUI [22:47] <jrand0m> install.jar <– без GUI, installgui.jar <– GUI [22:47] <jrand0m> отдельный код, отдельные пакеты [22:47] <MrEcho> навороты — в смысле вещи, которые можно и не заметить .. но будет красиво и чисто [22:47] <jrand0m> круто [22:47] <MrEcho> о, ок [22:48] <jrand0m> (или install <– gui installcli <– cli. посмотрим, как пойдёт) [22:49] <jrand0m> ещё что-то по GUI, или прыгаем к пункту 4)? [22:49] <jrand0m> (какие-то сроки на примете? без давления, просто интересно) [22:51] <MrEcho> пока не знаю [22:51] <jrand0m> ок [22:51] <jrand0m> ок, 4) IM [22:51] <jrand0m> thecrypto нет, так что….. [22:51] <jrand0m> 5) служба имен [22:51] <jrand0m> wiht тоже нет… [22:51] <jrand0m> пинг [22:52] <dish> ты сбился с нумерацией повестки [22:52] <dish> 3) IM [22:52] <jrand0m> да, у меня раньше было два пункта под номером 2 в повестке [22:52] <dish> 4) Служба имен [22:52] <dish> ;) [22:52] <jrand0m> (native modPow и установщик с GUI) [22:52] <jrand0m> видишь, мы гибкие и всё такое [22:59] <jrand0m> ок, для логов, пожалуй, продолжу [22:59] <jrand0m> 6) лицензирование [23:00] <jrand0m> Думаю перейти на что-то менее строгое, чем GPL. Мы используем часть кода под MIT, плюс ещё один файл под GPL (но это всего лишь кодирование base64, и его можно тривиально заменить). В остальном весь код по авторскому праву принадлежит либо мне, либо thecrypto. [23:00] * dish смотрит на часть кода mihi для i2p tunnel [23:01] <jrand0m> да, точно, mihi выпустил это под gpl, но он может захотеть выпустить и под чем-то ещё, если захочет [23:01] <jrand0m> (но i2ptunnel по сути стороннее приложение и может лицензироваться как угодно) [23:02] <jrand0m> (хотя, поскольку i2p sdk — gpl, он вынужден быть gpl) [23:02] <MrEcho> чёрт, давно пора [23:02] <jrand0m> Не знаю. лицензирование — не моя сильная сторона, но я склоняюсь хотя бы к переходу на lgpl [23:02] * dish выпускает те 10–20 строк изменений в коде I2P HTTP Client от mihi под той лицензией, которая у mihi [23:03] <jrand0m> хехе :) [23:06] <jrand0m> в любом случае, 7) прочее? [23:07] <jrand0m> у кого-нибудь есть вопросы / опасения / идеи по i2p? [23:07] <dish> Позволь спросить [23:07] <dish> Есть ли у I2P какая-нибудь возможность задавать имя группы? [23:07] <jrand0m> функция имени группы? [23:07] <dm> команда Discovery Channel! [23:07] <MrEcho> лол [23:08] <dish> Чтобы, если вы хотите иметь приватную или отдельную сеть, но какие-то router каким-то образом перемешаются, без group name эти две сети бы слились [23:08] <MrEcho> он думает про WASTE [23:08] <jrand0m> а [23:08] <dish> не знаю, зачем это могло бы понадобиться, но просто спрашиваю на всякий случай [23:08] <jrand0m> да, на ранних этапах проектирования сети я этим игрался [23:09] <jrand0m> это сложнее, чем нам нужно сейчас (или в относительно ближайшем будущем [6–12 месяцев]), но может быть интегрировано позже [23:09] <dish> Или это плохая идея, потому что лучше держать одну большую сеть [23:09] <dm> i2pisdead [23:09] <jrand0m> хех, dm [23:10] <nop> заткнись [23:10] <jrand0m> нет, dish, это хорошая идея [23:10] <dm> nop: крутой парень? [23:10] <jrand0m> это по сути то, что есть в release 0.2.3 — ограниченные маршруты [23:10] <jrand0m> (то есть у тебя есть небольшой приватный (доверенный) набор пиров, и ты не хочешь, чтобы все знали, кто они, но всё равно хочешь иметь возможность с ними общаться) [23:15] <jrand0m> ок, что-нибудь ещё? [23:15] <nop> неа, я просто шучу [23:18] <dm> шутник? [23:20] <jrand0m> ок, ну, /занятная/ встреча, с парой падений iip посередине ;) [23:21] * jrand0m baf закрывает встречу