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

Присутствовали: beefbroth, CCD, ChZEROHag, co, dcat, dm, godmode0, jrand0m, mihi, mihi_backup, mrflibble, Myself248, myself248, nop, pitu, Ryan_Singer, shardy, thecrypto, UserX, yodel

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

[22:56] ок ок [22:56] повестка [22:56] 0.0) добро пожаловать [22:56] 1.0) статус разработки [22:56] 1.1) router [22:56] *** Myself248 (~ident@anon.iip) присоединился к каналу #iip-dev [22:56] 1.2) DH precalc [22:56] 2.0) микродорожная карта [22:56] 3.0) приложения / использование [22:56] 4.0) ns [22:56] 5.0) IM [22:56] 6.0) административка (cvs, bugzilla, cvs list, cvs web) [22:56] 7.0) вопросы [22:57] (да, сегодня 7 пунктов. w00t) [22:57] 0.0) добро пожаловать [22:57] привет. [22:57] хей [22:57] сегодня 17 пользователей. круто [22:57] *** Ryan_Singer (chatzilla@anon.iip) присоединился к каналу #iip-dev [22:57] и растёт [22:57] ок [22:57] 1~hi [22:57] 1.1) статус разработки для router [22:58] Java reference impl router чувствует себя очень хорошо [22:58] *** ChZEROHag (hag@anon.iip) присоединился к каналу #iip-dev [22:58] теперь мы можем запускать приложения на разных router и отправлять сообщения друг другу [22:59] Извините, что прерываю, надеюсь, это будет один раз [22:59] идя итеративно и поэтапно, текущее состояние: безопасно, не анонимно, не масштабируется и поддаётся сбору (harvestable) [22:59] Кто-нибудь ещё работает над C api? [22:59] ку ChZEROHag, как дела? [22:59] Потому что я да, но очень медленно [22:59] *** dcat (dirtycat@anon.iip) присоединился к каналу #iip-dev [22:59] о, круто [22:59] shardy будет работать над этим после toorcon [22:59] может, вы вдвоём могли бы вместе заняться этим? [23:00] jrand0m: Можно ли вручную ввести destination, чтобы отправлять сообщения? [23:00] Точнее, есть ли ASCII-представление destination? [23:00] да, co, и то, и другое [23:00] Отлично. [23:00] destinations и все структуры I2P можно загружать и сериализовать в (альтернативном алфавите) base 64 [23:01] то есть это будет сложно запомнить, но это будет ascii? [23:01] (например, в netDb одного из моих router у меня есть leaseSet-enD4jtE-orMwFD0QGog9GAyC5MvLvnPzhVD8cDYvSI8.dat, который содержит lease set для destination enD4jtE-orMwFD0QGog9GAyC5MvLvnPzhVD8cDYvSI8) [23:02] [хотя это H(destination).toBase64() [23:03] ChZEROHag> если мы можем чем-то помочь тебе с этим, просто скажи слово [23:03] ок, это 1.1. 1.2) DH precalc [23:03] Можете сделать это за меня? :-) [23:04] прошлой ночью я сделал оптимизацию предварительных вычислений для DH-обменов, чтобы сэкономить ~1 с из 1.5 с на согласования сессии. Было бы здорово, если бы кто-то, кто знает крипту, убедился, что я не свихнулся ;) [23:04] лол ChZEROHag [23:04] аа, вспомнил что мне нужно [23:04] Реализация netdb [23:04] это в cvs? [23:04] dh [23:04] да, thecrypto [23:05] C:\dev\i2p\code\core\java\src\net\invisiblenet\i2p\crypto\DHSessionKeyBuilder.java [23:05] Ну, я буду не спать ещё часов 3/4, может, будет чем заняться [23:05] эм, s/C:\\dev/g; s/\\/\//g [23:05] *** wax_off (~nomail@anon.iip) присоединился к каналу #iip-dev [23:06] ок. зачем тебе реализация netdb? [23:06] Не помню [23:06] сейчас у нас в cvs есть не масштабируемый netdb [23:06] хех [23:06] Неделю как не трогал [23:06] ты работаешь над C I2CP api, верно? а не I2NP? [23:07] Я собирался сделать всё [23:07] *** wax_off вышел из #iip-dev [23:07] I2NP реально, реально, реально значительно больше работы, чем I2CP [23:07] Как только я нормально начну, всё покатится [23:07] но если ты реализуешь I2NP на C — это будет круто [23:07] есть ли I2NP хоть где-то сейчас? [23:07] (I2CP:I2NP::FCP:FNP) [23:07] да, dm [23:08] * ChZEROHag разворачивает emacs [23:08] в Java-реализации, над которой я работаю, I2NP работает [23:08] ясно... [23:08] jrand0m: url? Мне бы пригодилась референсная реализация, даже если это на ужасном языке. [23:08] хех [23:08] эм, вообще-то это 6.0 administravia: где же, чёрт побери, наш анонимный доступ к cvs ;) [23:09] я забираю DH-штучки [23:09] ок [23:09] А точно [23:09] jrand0m, возвращаясь к плану, микродорожная карта? [23:09] * thecrypto прячет лицо [23:09] ну, я подожду :) [23:09] хех ок [23:09] микродорожная карта [23:09] у меня расписаны 0.1 до 0.5 [23:09] следовал дорожной карте freenet? [23:10] *** mrflibble (mrflibble@anon.iip) присоединился к каналу #iip-dev [23:10] 0.1) функционально, безопасно, не анонимно, не масштабируется, поддаётся сбору [23:10] разработка замедляется и замирает на 0.5... [23:10] сейчас мы на 0.1. [23:10] хех, я заметил, dm, flinks тоже свернул на 0.5.2 ;) [23:10] Как ты называешь весь пакет? [23:10] (странное совпадение) [23:10] то есть версия 0.1 чего? [23:10] весь пакет? i2p router reference implementation [23:10] co: Wonga [23:10] * beefbroth присоединяется к встрече [23:11] buenos noches, beefbroth [23:11] Ладно. Это объясняет. [23:11] Вообще, может, я так и назову. Точно звучит интереснее, чем 'i2pd' [23:11] у 0.1 есть баги. само собой. и нет заметных оптимизаций (хотя DH precalc помогает). [23:11] хех [23:11] jrand0m, а что такое 0.2)? [23:11] invisible internet police department [23:11] ок, 0.2 [23:12] 0.2 — функционально, безопасно, анонимно, не масштабируется, поддаётся сбору [23:12] 0.2 добавляет поддержку туннелей ненулевой длины [23:12] я на самом деле реализовал большую часть прошлой ночью, но не тщательно протестировал [23:12] думаю, 0.2 будет готов к концу недели [23:12] насколько это далеко с точки зрения разработки? [23:13] отлично [23:13] 0.3) — функционально, безопасно, анонимно, масштабируемо, поддаётся сбору [23:13] * thecrypto берёт bochs, чтобы симулировать сеть и помочь с этим [23:13] 0.3 добавляет kademliaDatabaseManager [23:13] сейчас мы используем BroadcastDatabaseManager [23:13] (aka gnunet ;) [23:14] тривиально реализуется и работает для маленьких сетей, но нам нужна Kademlia для масштабирования [23:14] 0.4) — функционально, безопасно, анонимно, масштабируемо, не поддаётся сбору [23:14] это добавляет доверенные связи [23:14] jrand0m, и насколько сложно реализовать Kademlia? [23:14] у меня две идеи для доверенных связей... одна легче реализуется и использоваться [23:15] Kademlia, вероятно, займёт целую неделю [23:15] (чтобы сделать правильно) [23:15] учтите, во всём этом много места для рефакторинга и тюнинга. Я целюсь сначала в функциональность, потом тюним. [23:16] Ты уверен, что сможешь так быстро разработать и протестировать? [23:16] я ни в чём не уверен [23:16] это лишь моя оценка [23:16] co, он делает функционал, мы тестим [23:16] Ты уверен? [23:16] (сорри) [23:16] Ryan_Singer: Понял. [23:17] * jrand0m <3 тех, кто тестит :) [23:17] Когда ты говоришь "мы" тестим. Есть ли место для не-кодеров помочь с тестированием? [23:17] Myself248> наверное, не раньше 0.4 [23:17] будем надеяться, что не дойдёт до того, что всё функционально, но никто не понимает, что, чёрт возьми, происходит внутри сети, чтобы она работала хорошо (см. freenet) [23:18] когда 0.4 будет готова — это пре-альфа. Затем я буду тюнить, рефакторить и закрывать пробелы, чтобы подготовиться к 0.5 (альфа) [23:18] Документировать, документировать, документировать. [23:18] думаете о активном мониторинге внутренностей сети или там всё просто? [23:18] да, dm, обязательно [23:18] один из ключевых элементов i2np — включение статистики в routerInfo структуры, которые публикуются [23:18] jrand0m: сделай s/0./0.0./ ;) [23:18] в начальных ревизиях будут публиковаться реальные статистики, чтобы мы могли тюнить [23:19] в более поздних ревизиях либо вообще не будет статистики, либо будут фейковые [23:19] * jrand0m не делает 0.0 [23:19] ок, я здесь [23:19] с возвращением, shardy [23:19] извиняюсь за задержку, забыл про это окно, хех [23:19] круто. [23:19] есть ли документ повыше уровнем, описывающий архитектуру сети до .4? [23:19] снеси ему голову [23:20] Ryan_Singer> хмм, у меня были обзорные доки пару месяцев назад, mids и nop зеркалили, и есть i2p overview doc [23:20] 0.4 — это полный i2np, как в спеках, просто не оптимально реализованный [23:20] о, и jrand0m, я проверю для тебя оптимизацию DH [23:20] ок, gracias [23:20] можно получить те доки? [23:21] обзор здесь: (Link: http://www.invisiblenet.net/i2p/i2p_philosophy.pdf)http://www.invisiblenet.net/i2p/i2p_philosophy.pdf [23:21] они на вики, думаю? [23:21] старые обзорные доки... хмм [23:21] (спеки i2p здесь: (Link: http://wiki.invisiblenet.net/iip-wiki?I2PProtocolSpecs)http://wiki.invisiblenet.net/iip-wiki?I2PProtocolSpecs) [23:21] Они на (Link: www.invisiblenet.net/i2p/.)www.invisiblenet.net/i2p/. [23:21] верно, beefbroth [23:22] хотя есть старые html-доки с уродливыми картинками из ms paint, показывающими как работают tunnels... [23:22] Должен знать — я их достаточно раз читал [23:22] хехе [23:22] Если только это не более старые версии или зеркала. [23:22] те файлы на вики — 0.9 (0.9.1 вышла для I2NP и структур данных, но изменения небольшие) [23:23] jrand0m: предвычисления выглядят хорошо [23:23] круто [23:24] *** pitu (~pitu@anon.iip) присоединился к каналу #iip-dev [23:24] * jrand0m запускает router с java -Dcrypto.dh.precalc.min=3 -Dcrypto.dh.precalc.max=10 -Dcrypto.dh.precalc.delay=5000 -jar C:\dev\i2p\code\router\java\src\router.jar [23:25] ок, это микродорожная карта [23:25] как видите, я признаю, что альфа не будет готова к концу месяца. 0.4, вероятно, в первую неделю октября [23:26] это ок, даже так это будет самая быстрая реализация сети такого типа ;) [23:26] лол [23:26] читая оценки времени jrand0m, помните, что он последние 4 часа пил виски :-P [23:26] хех [23:26] ок...приложения/использование? [23:26] хорошее виски, кстати ;) [23:26] ок, приложения/использование [23:27] 0.7 за 4 секунды....3...2...1..!! [23:27] я целюсь в «низко висящие фрукты» — это то, что можем сделать с нулём или минимумом нового кода. [23:27] Как можно нормально кодить, если ты трезв как стекло? [23:27] всё это сильно использует офигенный i2ptunnel от mihi [23:27] ChZEROHag: Легко. [23:27] *** mihi изменил тему канала #iip-dev на 0.7 in 4 seconds....3...2...1..!! [23:28] используя i2ptunnel, мы можем сделать следующее без нового кода: [23:28] публичный ww proxy (i2ptunnel + squid) [23:28] * dm снимает шляпу перед mihi. [23:28] JAP (i2ptunnel + JAP) [23:28] через i2p нельзя пинать задницы (не через tunnel тоже...) [23:28] анонимный просмотр www (i2ptunnel + веб-браузер) [23:28] запустить i2p веб-сервер (i2ptunnel + httpd) [23:29] Очень здорово. Браво, mihi. [23:29] cvs outproxy (i2ptunnel) [например, cvs outproxy на sourceforge для анонимных freenet dev] [23:29] cvs клиент, cvs сервер [23:29] IM-приложение, pop3 сервер, imap сервер, opennap [23:29] это всё очень «низко висящие фрукты» [23:29] ладно, теперь нам нужен i2p :) [23:30] ага ;) [23:30] разве i2p webserver не вытеснит freenet? :) [23:30] * jrand0m думает, это тянет на FAQ, который стоит ответить [23:30] jrand0m, но они также очень ценны [23:30] Из списка я бы считал cvs более важным/полезным [23:30] Частично потому что я хочу оставаться анонимным, но ещё потому что если будет анонимный www, придут лузеры [23:30] i2p + web не вытесняет freenet — freenet добавляет значительную ценность поверх анонимной коммуникационной основы — распространение контента [23:31] И сейчас идея анонимной почты пугает :) [23:31] * dm записывает: "никаких лузеров" [23:31] cvs однозначно в топ-3 [23:31] я думаю, если i2p webserving хорошо заработает, стоит рассмотреть объединение DHT/хранилища freenet поверх i2p — и получим лучшее из обоих миров. [23:31] ChZEROHag, если это масштабируемо — это хорошо [23:31] dm: лузеры — проблема только на ранних стадиях, но они, как правило, не пользуются cvs [23:31] ок, добавьте много hashcash в любую анонимную почту. [23:31] Или даже не знают что это и что это вообще [23:31] Думаю, нужен один из тестов — имитационная атака на сеть. [23:31] да, beefbroth, когда i2p сделает то, к чему мы стремимся, freenet, скорее всего, адаптируется, чтобы использовать это [23:32] Извините, если оффтопик. [23:32] Myself248: просто добавьте редиректор на анонимный ремейлер. [23:32] нет, это точно по теме, co — атаковать эту сеть важно [23:32] Myself248: hashcash прежде всего, чтобы остановить флуд, пока мы вынуждены использовать древний протокол под названием 'irc' [23:32] Не чтобы остановить то, что можно назвать 'абьюзом' [23:32] верно, mihi. хотя, возможно, mixminion поверх i2p был бы полезен [23:33] да, hashcash встроен в i2p, чтобы сообщения не доставлялись одним хопом, если они не "заплатят" [23:33] jrand0m, мы можем легко гонять imap поверх этого? [23:33] абсолютно [23:33] впечатляет [23:33] imapd с i2ptunnel, направленным на него, и i2ptunnel на клиенте, направленным на destination того туннеля [23:34] и поисковики freenet :) [23:34] ftp или несколько не-jabber мессенджеров создадут проблемы... [23:34] верно, вещи, требующие двух соединений, сложнее [23:34] jrand0m: hashcash в i2p? [23:34] Я тебя после этого поспрашиваю. [23:34] hashcash в i2p? круто. [23:34] забегаем вперёд! да и ладно, кому какая разница.. QUAKE + IIP!!!!!! [23:34] ой, I2p :) [23:34] лол dm [23:35] Те из нас с маленькими CPU нервничают, когда слышат hashcash, но как антиспам меру я понимаю. [23:35] dm: Это *очень* забегание вперёд. [23:35] * mihi — jabber:schierlm@a-message.de ;) [23:35] да, ChZEROHag — Destination == public signing key (DSA) + public encryption key (ElGamal) + certificate (either null or hashcash(keys)) [23:35] i2p tunnel на клиенте статический или динамический? [23:35] beefbroth: сейчас всё статично. но можно использовать socks прокси как dest. ;) [23:35] Myself248> мне пришлют бомбический sun ultra1 через пару недель. если 160МГц бокс справится, все справятся [23:35] ну, hashcash не должен быть тяжёлым даже для маленьких cpu. Только если хочешь сделать это сто тыщ миллионов раз, заметишь. [23:36] beefbroth: Он может быть динамическим. [23:36] потенциальные приложения из этих «низко висящих фруктов» очень впечатляют [23:36] верно, mihi [23:36] "eleventy". хех [23:36] «низко висящие фрукты» — по сути «нормальные» интернет-приложения, но анонимно [23:36] так? [23:36] так [23:36] да [23:36] (quake) [23:37] 0.1 запускает их безопасно, 0.2 — анонимно, 0.3 — масштабируемо, 0.4 — не поддаётся сбору [23:37] (сейчас мы на 0.1) [23:37] что значит «не поддаётся сбору»? [23:37] Простите, что такое «поддаётся сбору» ещё раз? [23:37] dm: К сожалению, нас достаточно удерживали, что realtime спустя более 30 лет всё ещё не «нормален» [23:37] Фух. Я надеялся, что кто-то спросит. ;) [23:37] логируемый [23:37] «harvesting» означает, что активный атакующий может запустить router, узнать о множестве других router («собрать» их) и прислать людей выбивать им двери [23:38] о, как можно делать с gnutella. :) [23:38] типа «секретные службы» [23:38] верно [23:39] а, понял. [23:39] ок, но да, это микродорожная карта. [23:40] а теперь, глупо ли, что я называю это 0.x вместо 0.0.x? должна ли 1.0 быть «идеальной» или 1.0 должна быть функциональной и безопасной? [23:40] jrand0m, а .4 мы увидим когда? [23:40] 0.4, вероятно, через 2 недели [23:40] * jrand0m берёт неделю отпуска (примерно) в середине октября — ко мне приезжают люди [23:40] *** Signoff: dm (EOF From client) [23:40] 1.0 должна быть стабильной. [23:40] Пусть 1.0 будет функциональной и безопасной. [23:40] поддерживаю co [23:41] 1.0 должна быть функциональной, стабильной и безопасной [23:41] jrand0m: моя философия по номерам версий — если сомневаешься, копируй Linux [23:41] 5.0 может быть «идеальной». Люди в мире FOSS чрезмерно боятся раздувания номеров версий. [23:41] ок [23:41] jrand0m, версии 1 у вещей никогда не идеальны :) [23:41] *** dm (~gj@anon.iip) присоединился к каналу #iip-dev [23:41] люди и не ожидают идеала [23:41] я пропустил 1.0? [23:41] mrflibble: Люди вообще не ожидают, что софт будет идеален. Люди пользуются windows. [23:41] этот софт будет GPL или LGPL? [23:41] круто, мне уже прилетало, что 1.0 ещё не идеальна [23:41] Это не значит, что она не должна быть. [23:41] хорошее замечание, ChZEROHag [23:42] ах чёрт, и правда.. [23:42] dm: хватит прикалываться [23:42] ага, пропустил [23:42] router — GPL. Java библиотека клиента пока GPL, но я открыт. thecrypto и я — полные владельцы всего, кроме одного куска (Cryptix AES impl, MIT) [23:42] ладно-ладно, извиняюсь :( [23:42] хотя, беру слова назад [23:42] я ещё использовал Base64.java из freenet [23:43] мы всё ещё на пункте 0.3 Приложения? [23:43] так что base64 — GPL :) [23:43] и IM клиент будет GPL [23:43] о да, мы на 0.3, да? [23:43] как только я добавлю комментарии в код [23:43] *** UserX_ (~User@anon.iip) присоединился к каналу #iip-dev [23:43] хех, thecrypto [23:43] GPL мне нравится [23:43] ого, 23 пользователя [23:43] мы на пункте 6.02E23, рандомная фигня. :) [23:43] jrand0m, когда будет время, хочу поговорить про лицензирование и потенциальные консалтинговые задачи [23:43] ок, Ryan_Singer [23:43] Хотя, как кто-то (Fillament?) отмечал — если кто-то нарушит лицензию, как анонимный человек будет что-то делать? [23:43] jrand0m: 22 ;) [23:43] ChZEROHag> почитай мою лицензию на flinks ;) [23:43] нам нужен анонимный суд. [23:44] * mihi здесь дважды [23:44] Myself248> называется yodel ;) [23:44] "Суд рассматривает дело №34534, J. Doe против J. Doe" [23:44] ChZEROHag, я спрашиваю, чтобы корпорации могли использовать ПО для защиты от промышленного шпионажа [23:44] Naming server будет под GPL тоже. [23:44] лол [23:44] "Судебный пристав, это же те же стороны, что и в прошлых 34533 делах?" [23:44] ну [23:45] всегда есть идея: если хочешь, чтобы люди ДЕЙСТВИТЕЛЬНО использовали твой протокол, и тебе не важны деньги, просто сделай его полностью открытым. даже без ограничений GPL. [23:45] shardy: Имеешь в виду public domain? [23:45] думаю, это заход co к пункту 0.4 повестки :-P [23:45] shardy> спеки публичны и открыты. Я не заявлял копирайт на спеки. [23:45] shardy, нет, мы бы хотели, чтобы работа над протоколом оставалась доступной [23:45] public domain, BSD-лицензия, «делай что угодно, просто дай нам кредит, пожалуйста» и т.п. [23:45] код — GPL для router. одна реализация client api на Java — GPL [23:46] посмотри на liberty protocol.... (Link: http://projectliberty.org)http://projectliberty.org [23:46] jrand0m: ок, понял. [23:46] * jrand0m думал про лицензию «no government use» ;) [23:46] ок, почему я добавил 3.0) приложения в список: [23:46] нам нужна помощь. [23:46] помощь с чем? [23:46] i2ptunnel — хороший код. router i2p будет хорошим кодом. [23:47] нам нужно, чтобы люди начали разбираться с «nuts and bolts» релиз-инжиниринга [23:47] зачем нужны приложения, если можно просто использовать i2ptunnel? [23:47] jrand0m: ещё раз? [23:47] то есть как реально упаковать что-то, что Джо Сикспак скачает и будет браузить веб [23:47] dm: Зачем приложения, если можно просто использовать telnet? [23:47] что? [23:47] * dm чешет голову. [23:47] эмм, есть что-то кроме telnet? [23:48] * jrand0m думает, что это и есть мысль ChZEROHag, dm ;) [23:48] *** Myself248 теперь известен как myself248 [23:48] *** Signoff: thecrypto (Тайм-аут Ping) [23:48] dm: Использовать i2ptunnel — это как иметь рабочую машину и тащить её на тележке [23:48] ок, это просто к слову. Хотел упомянуть, вдруг у людей есть свободное время :) [23:48] ок, 4.0) [23:48] naming service [23:48] Похоже, он пытается донести мысль. [23:48] привет, co, как дела? :) [23:48] Naming server должен быть GPL, так как по крайней мере Java-реализация использует код клиентской библиотеки для связи с router. [23:49] но мы только что 20 минут говорили: I2Ptunnel + web server!, I2Ptunnel + quake! ;) [23:49] Или, в компьютерных терминах, как делать всё через telnet вместо работы напрямую с IP-стеком [23:49] На прошлой неделе я немного сделал. Выпустил client API, которому тоже нужна работа. [23:49] i2ptunnel — промежуточное решение [23:49] На этой неделе будет время начать реализовывать naming server. [23:49] круто [23:49] где опять client api? [23:50] в рассылке ;) [23:50] Одно из предположений — что destinations можно кодировать в base64, поэтому я и спрашивал об этом ранее. [23:50] ChZEROHag> в некоторых смыслах это промежуточно [23:50] * jrand0m !шлёпает себя [23:50] *** thecrypto (~thecrypto@anon.iip) присоединился к каналу #iip-dev [23:50] как и TCP! [23:50] *** yodel (yodel@anon.iip) присоединился к каналу #iip-dev [23:50] ку, yodel [23:50] какими будут соглашения об именах? будет ли это что-то, что средний Джо сможет понять (т.е. (Link: www.somthing.com)www.somthing.com или (Link: www.something.i2p)www.something.i2p для http/web)? [23:50] Я положу спецификацию naming service и client API в CVS. [23:50] с возвращением, thecrypto [23:50] Эти вопросы, вероятно, уже поднимались, но как ns будет честно обеспечивать уникальные имена? [23:50] * mihi хочет иметь *.mihi.iip ;) [23:50] beefbroth> с naming service или без? [23:50] хех, mihi [23:50] Избегая сквоттинга и т.п., что преследует DNS [23:50] кто-нибудь пришлите мне, что было? [23:51] jrand0m: с. думаю, без — это длинная строка цифр. [23:51] ChZEROHag: Регистрируешься в группе naming servers, затем используешь имя этой группы, чтобы идентифицировать себя. [23:51] Например, IM.beefbroth.mygroup, если ты предоставляешь IM. [23:51] упс, s/iip/i2p [23:51] *** godmode0_ (~mode@anon.iip) присоединился к каналу #iip-dev [23:51] *** Signoff: godmode0 (EOF From client) [23:51] ChZEROHag> у co naming service есть доверенные группы, где каждая группа управляет group name (tld). ты выбираешь, какие группы ведут каждый tld [23:51] Да, кто-то сможет зарегистрировать username beefbroth в group2. [23:51] за те 4 минуты, что меня не было [23:52] co: То есть вопрос только в уникальности .mygroup? [23:52] И кто получит группу 'com'? :-) [23:52] и это выбирается клиентом [23:52] ChZEROHag: i2p не COMmercial [23:52] (например, ты говоришь своему ns client lib "group '.com' — это группа 0123ff33aefcbb34fe [23:52] Боюсь предложить, но, думаю, группы должны по умолчанию быть из 3 букв, чтобы сохранить иллюзию сходства с обычным вебом [23:52] ChZEROHag: Я не уверен, кто получит группу "com". [23:52] Хороший вопрос. [23:53] beefbroth: кроме того, «обычный веб» уже не только 3-буквенные tlds [23:53] beefbroth: или добавить .i2p ко всем адресам. [23:53] beefbroth: Эта иллюзия есть только в Америке [23:53] tlds. [23:53] для начала, возможно, имеет смысл изначально иметь одну группу naming servers, ".i2p" [23:53] beefbroth: ПО naming server позволяет до 32 букв. [23:53] В других местах мы используем 2-буквенные коды стран [23:53] .us тоже используется в Америке. [23:53] Вообще, я хотел, чтобы первая группа была "test". [23:53] а ещё .info и .name [23:53] хех ок [23:54] shardy: ага, пятью людьми. [23:54] Но это, пожалуй, тема для другого раза :) [23:54] вообще... [23:54] есть даже .museum [23:54] jrand0m, использовать .12p звучит хорошо [23:54] на днях наткнулся на распределённый DNS на базе JXTA [23:54] ChZEROHag: Но суть в том, что если тебе не нравятся люди, управляющие группой "com", ты можешь создать группу "com2" и управлять её серверами (и регистрироваться там). [23:55] Да, это понятно [23:55] ChZEROHag: (Link: http://www.nic.us/press/audio/dotus-mayEM.wav)http://www.nic.us/press/audio/dotus-mayEM.wav ;) [23:55] co> (Link: http://wiki.java.net/bin/view/Jxta/DisDNS)http://wiki.java.net/bin/view/Jxta/DisDNS — wiki по распределённому DNS, но она очень сырая и не разбирает реально сложные вопросы [23:56] ChZEROHag: При регистрации username в группе — да. [23:56] jrand0m: Посмотрю после встречи. [23:56] jxta запускает naming servers на rendezvous-поинтах [23:56] mihi: что это? [23:56] то есть возможно, кто-то попытается атаковать систему NS, имитируя уже существующую i2p-группу naming servers [23:57] *** Signoff: jeremiah (Тайм-аут Ping) [23:57] beefbroth: Думаю, нет. [23:57] ChZEROHag: послушай. почему xxx миллионов американцев предпочитают .us .com-у [23:57] 68 миллионов [23:57] Как я это вижу, люди, поднимающие группы, будут объявлять эти группы. [23:57] имитировать? они не смогут имитировать, так как серверы в группе аутентифицируются по системам открытых ключей [23:58] однако если группы позволяют недоверенным участникам присоединяться, их можно тривиально захватить. [23:58] но как выполняется обмен ключами? [23:58] Поздние участники столкнутся с тем, что группа уже установлена, а конфиги клиентского софта содержат destinations прежней группы. [23:58] mihi: Ну, я всегда говорил, что это логично, патриотизм и всё такое, просто я этого особо не видел. [23:58] что если две группы naming servers обе заявят, что резолвят группу .i2p? [23:58] Хороший вопрос, я ещё раз тщательно обдумаю. [23:58] mihi: во всяком случае, послушаю [23:58] shardy> не обмен ключами — публикация ключей [23:58] понимаю, хороший пойнт [23:58] co: Да, это ещё одна вещь, к которой я вёл [23:58] но ключи всё равно могут быть перехвачены, если публикуются онлайн [23:58] beefbroth> никто ничего не заявляет. твой клиент говорит "i2p == [dest1, dest2, dest]" [23:59] нам нужен trust-based dns :) [23:59] чтобы можно было отправить запрос имени и получить список ответов... и выбрать доверенный [23:59] Спасибо, что подняли это. [23:59] shardy> ах, кажется понимаю путаницу. Думаю, naming service захочет поставляться с набором destinations вне полосы (т.е. в составе инсталлятора) [23:59] Да, у нас такой есть — все доверяют IANA (или как они там зовутся) или иначе. [23:59] * shardy уклоняется [23:59] :-D [23:59] они пытаются это с dnssec, но, конечно, это не анонимно [00:00] эта naming service уходит от корневых серверов [00:00] можно иметь i2p домашнюю страницу, где перечислены активные группы именования и авторитеты? [00:00] jrand0m: ок. просто отмечу, что это всё равно можно перехватить, если нет физически безопасного канала для начальной передачи ключей... [00:00] shardy: Думаю, я охватил обмен ключами в спеках. Если нет, скажи. [00:00] но поставлять oob — лучше [00:00] co: гляну. [00:00] shardy> да, верно. людям нужно доверять коду, который они скачивают [00:00] beefbroth: Конечно. [00:01] ах, и это напомнило [00:01] beefbroth> да, это точно одно из первых приложений — i2p веб-сервер с bbs & wiki, доступный через i2p [00:01] Мне стоит создать gpg-ключ для моего iipmail [00:01] *** yodel вышел из #iip-dev [00:01] * ChZEROHag делает это, пока происходит нечто не захватывающее [00:01] хех ок [00:01] Поймите, спецификация naming server всё ещё открыта для предложений по улучшению. [00:02] Пожалуй, возьму все спеки с собой на перелёт на toorcon... будет время почитать [00:02] Я не утверждаю, что она идеальна или финализирована сейчас. [00:02] хех, надеюсь, перелёт длинный [00:02] и это продуктивнее, чем играть всё время в fft advance, хех [00:02] * jrand0m выяснил, что критика охотнее приходит, когда есть код, реализующий спеки [00:02] *** godmode0_ теперь известен как godmode0 [00:02] И мне надо написать код. [00:02] Думаю, можем перейти к следующей теме. [00:02] ок [00:02] 5.0) IM [00:03] привет, thecrypto [00:03] имена не должны конфликтовать с base64 представлениями. [00:03] привет [00:03] ок [00:03] и naming server должен прозрачно возвращать base64 адреса как есть. [00:03] mihi: Хорошо, постараюсь избежать этой проблемы. [00:03] сначала, так как мой e-mail снова не работает (чёртовы спамеры) [00:03] (все классы, расширяющие DataStructure, имеют String .toBase64() и .fromBase64(InputStream) ) [00:03] отвечу на вопросы whit о моей системе здесь [00:04] * jrand0m открывает письмо co [00:04] jrandom? почему InputStream, а не Reader? [00:04] network — первое, что пришло на ум, ты делаешь соединения через i2p network, всё очень p2p, так что я назвал это networkr [00:04] хочешь Reader — оберни InputStreamReader, баловник [00:04] base64 — это символы, а не байты, по-моему. [00:04] jrand0m: IM == Instant Messaging? [00:04] да, ChZEROHag [00:04] если людям не нравится, подскажите, как лучше назвать [00:05] jabber? [00:05] IM == моя собственная распределённая IM сеть [00:05] назови «bob» [00:05] i2p im — это сеть так же, как aim — сеть, или kazaa — сеть, все поверх tcp/ip или udp/ip [00:05] Может, IM application? [00:05] (anonabber) [00:05] jrand0m: Понятно. [00:05] jabber требует центр. сервера [00:05] терминология мне не важна. Мне нравится идея shardy [00:05] thecrypto: Ничто не ТРЕБУЕТ централизованный сервер [00:05] и сегодня я не умею писать, потерпите [00:05] Это просто так пишут [00:05] (хотя я предпочитаю Betty) [00:05] значит, назвать I2PIM bob? [00:05] :) [00:05] может, wilma? [00:05] fred уже занят, хотя [00:05] Может, distributed IM? [00:05] DIM, хех [00:05] Или distributed IM *application*? [00:05] AIM, anonymous Instant messaging! [00:05] плохая аббревиатура :) [00:06] тогда мы сможем захватить AOL. [00:06] о, не дождусь, когда AOL узнает [00:06] dm: Это реально выбесит некоторых. Мне нравится. [00:06] хех, давай [00:06] thecrypto, сможем ли мы реализовать IM децентрализованно, или придётся централизованно? [00:06] dm: Хорошая идея. Я поддержал бы эту аббревиатуру. [00:06] насколько я понял из доков thecrypto, IM полностью децентрализован [00:06] я реализую распределённый IM, он в CVS [00:06] Я бы голосовал против всего, что будет путать людей [00:07] AOL TimeWarner переименовались в Time Warner [00:07] dm: Это реально выбесит некоторых. Мне нравится. [00:07] быть «прозрачно анонимным» не полезно, если люди не понимают, что такое «анонимный». [00:08] О, погодите, у меня что-то такое на бумаге [00:08] Мне нравится идея thecrypto [00:08] где именно «network» работает I2PIM — это я и ищу [00:08] учить людей защищать себя — очень важно [00:08] думал о Presence System? [00:08] упирайте на безопасность анонима [00:08] I2M (instant 2 messaging) [00:08] Хотя я назвал это XIrc [00:09] ты рулевой, thecrypto, что тебе зайдёт ;) [00:09] и в логотипе I2M, 2 будет очень маленькой :) [00:09] а I2P — это Invisible ... jrand0m? [00:09] Главное, что мне нравилось — все назывались Боргами и болтали в Коллективах [00:09] i2p = i^2p (Invisible Internet Project) [00:09] Я думал, P — это protocol. [00:09] и это тоже [00:09] ну, вообще, нет [00:10] значит Invisible Internet Project Instant Messaging [00:10] i2np — это protocol [00:10] i2p — это проект [00:10] i2cp — это client proto [00:10] Я думал, это значит "poop" [00:10] thecrypto: Верно, имя не слишком важно. [00:10] i2m = i^2m = instant invisible messaging [00:10] тогда следующий пункт [00:10] ок... мы уходим с повестки... закончили с IM? [00:10] если «bob» не ок, можем назвать «jimbob» [00:10] 0k, 6.0) административка [00:10] нет, ещё есть [00:11] извиняюсь [00:11] Это administrivia. [00:11] нет, это IM [00:11] nop> дай мне root. Нужно поднять anon cvs, bugzilla и cvsweb. [00:11] я не закончил [00:11] :) [00:11] назад! [00:11] * jrand0m отступает [00:11] 5.1) thecrypto v2 [00:11] что ещё по IM, thecrypto? [00:12] thecrypto: просто говори; /me так же пропустил naming services [00:12] ок, взаимодействие presences другое [00:12] не все знают всех [00:12] практически нет способа «сталкерить» кого-то [00:12] тебя надо попросить, чтобы тебя показывали [00:13] в анонимных сетях обычно никто никого не знает ;) [00:13] (пока Destination людей случайная) [00:13] *** Signoff: pitu (Потерян терминал) [00:13] что ты имеешь в виду? [00:13] Алиса хочет говорить с Бобом [00:13] mihi> хотя naming service позволяет искать по service [00:13] (service — IM, www и т.д.) [00:13] Алиса как-то находит IM destination Боба, вероятно через naming service [00:14] И Алиса отправляет сообщение на IM destination Боба [00:14] да? [00:14] он получает небольшое сообщение «Алиса пыталась связаться с вами», если хочет — отвечает, или игнорит [00:15] но нет central presence server, Алиса может просто увидеть, как её сообщение исчезает без ответа [00:15] ок, типа MSN? [00:15] (хотя Алиса может знать, что Боб её проигнорил) [00:15] и Алиса не может просто добавить Боба в buddy list и ждать его [00:15] thecrypto, ок... чем это отличается от правильно настроенных Y!, MSN или AIM.. кроме отсутствия центрального сервера [00:15] потому что Боб должен отправить сообщение Алисе, чтобы увидеть её онлайн [00:15] о [00:15] ок, для пользователя не меняется, но я понимаю тебя. [00:16] thecrypto> не совсем [00:16] понял.. без функциональности buddylist... [00:16] ой, ну, хм, технически... [00:16] Ryan_Singer: нет, buddy list остаётся [00:16] как Алиса отправит Бобу сообщение, если не видит его? [00:16] нужно пробовать случайные контакты, вдруг они там? [00:16] Боб должен отправить сообщение router Алисы, и это может произойти без её ведома [00:16] Алиса может просто пробовать [00:17] неудобно? выходишь онлайн и должен всем слать «ты тут?, ты тут?» [00:17] thecrypto: пользователь не может «уведомить» всех своих друзей при входе, отправив им сообщение? или ты это и имел в виду [00:17] * co отмечает, что могут быть два Bob, зарегистрированных в двух разных группах naming server. [00:17] beefbroth: это я и говорю [00:17] ок, то есть опыт IM тот же, что сейчас. Хотел подтвердить. [00:18] dm: нет, наоборот, при входе ты шлёшь всем «я в сети, я в сети», если получаешь «я в сети», отвечаешь [00:18] если хочешь [00:18] То есть пользователь контролирует, кто его видит. [00:18] так Алиса может добавить тебя в buddy list, и ты получишь сообщение при её входе: «Алиса добавила вас в buddy list, уведомить её о своём присутствии?» [00:19] когда выходишь, сначала шлёшь «я выхожу»? [00:19] ок, опыт IM тот же, что сейчас. Просто уточняю. [00:19] если у Боба Алиса в buddy list и Боб получает Online от Алисы, ответ уходит автоматически [00:19] Возможно, нужно «пинговать» другого IM-пользователя периодически, чтобы убедиться, что не было непреднамеренного разрыва [00:19] Если у Боба нет Алисы в buddy list и он получает online от Алисы — спрашиваем пользователя [00:19] ок, это способ обойтись без сервера, вопрос — будут ли приложения по умолчанию отправлять «я в сети» при входе. [00:20] надеюсь [00:20] Ryan_Singer> или просто периодический «я всё ещё в сети» ping [00:20] (и пропавший ping == офф) [00:20] типа keep-alive? [00:20] Возможно, нужно «пинговать» другого IM-пользователя периодически, чтобы убедиться, что не было непреднамеренного разрыва [00:20] если у Боба Алиса в buddy list и Боб получает Online от Алисы, ответ уходит автоматически [00:20] хех [00:20] Если у Боба нет Алисы в buddy list и он получает online от Алисы — спрашиваем пользователя [00:21] ок, то есть опыт IM тот же, что сейчас. Просто уточняю. [00:21] только теперь подтверждаем добавление в buddy [00:21] что, кажется, есть только у ICQ [00:21] IM будет отдельным приложением или я смогу использовать trillian? [00:21] да, так работает MSN. [00:21] [и т.д.] [00:21] thecrypto: ICQ только притворяется, что требует подтверждения [00:21] dm: неа. тебе не придётся раз в несколько месяцев терпеть, как MSN, Y! и AIM меняют протоколы и выкидывают людей :) [00:22] jrand0m: я сделаю спецификацию, trillian либо даст мне plugin interface, либо они напишут своё [00:22] я напишу плагин хотя бы для gaim [00:22] вместе со standalone клиентом [00:22] круто [00:22] который заточен под работу с сетью [00:22] gaim поддерживает файловый трансфер или это будет фишкой i2pim-клиента? [00:22] thecrypto: можешь крикнуть разработчикам kopete, просто чтобы знали [00:22] * jrand0m показывает свою неосведомлённость [00:23] постараюсь, чтобы плагин gaim работал так же хорошо, как standalone, но не уверен [00:23] thecrypto: Давайте сначала standalone. [00:23] gaim file transfer, кажется, работает только на AIM [00:23] так что может быть танцы с бубном, чтобы запихнуть это в плагин [00:23] ок.. думаю, все поняли... ещё что-то по IM? [00:24] и финальная вещь co [00:24] у gaim проблемы с IM-трансферами у людей за NAT [00:24] несколько человек могут иметь одно и то же имя [00:24] у них будут уникальные destinations [00:24] *** Signoff: mihi (Тайм-аут Ping) [00:24] Ладно. [00:24] * mihi_backup всё ещё здесь... [00:24] но маскарадить нельзя [00:25] хех, nice1, mihi_backup [00:25] Если используешь naming server, будет «Bob из group1» и «Bob из group2». [00:25] С уникальными destinations. [00:25] верно, thecrypto. имена произвольны. как в dns ;) [00:25] *** mihi (~none@anon.iip) присоединился к каналу #iip-dev [00:25] также IM-клиент сам может опционально проверять «Эй, это IM пришло от кого-то по имени Bob, но destination Bob-а в твоём списке другой, принять сообщение?» [00:26] mihi: твой бэкап говорил, пока тебя не было. [00:26] если человек пытается маскарадить Bob-а — узнаешь, иначе можно сделать алиас [00:26] знаю... [00:26] «кто-то по имени bob»? кто сказал? он сам себя так называет? или какая-то группа зовёт его bob? или ты называешь его dest bob? [00:26] в presence есть поле name [00:26] я на это смотрю [00:27] * jrand0m любит, как ICQ решает эту проблему — все номер, а ты локально даёшь алиасы именам [00:27] Кстати, сделать имена сущностей NS регистронезависимыми? [00:27] наверное, co [00:27] base64 вещи всё ещё должны быть регистрозависимыми ;) [00:27] * jrand0m не хочет, чтобы люди спуфили Jrand0m [00:27] mihi: Имена сущностей, не destinations. [00:27] да-да, mihi [00:28] (ну, люди могут спуфить jrand0m сколько хотят. Я просто хочу обратно jrandom) [00:28] Продолжай, thecrypto. [00:28] *** Signoff: UserX_ (Тайм-аут Ping) [00:28] это всё [00:28] наконец :) [00:28] co: должна быть возможность вставить destination везде, где можно имя сущности. [00:28] как с именами dns и IP [00:28] mihi: Хорошая мысль. Добавлю в спецификацию. [00:28] jrand0m: фактически похоже на ICQ, кроме того, что ты сам говоришь людям, каким хочешь быть алиасом [00:29] кажется, теперь у них так [00:29] Идея в том, что имена печатать куда короче, чем destinations. [00:29] mihi> naming service только переводит имена в destinations — если спросишь у неё destination от destination, она должна ответить очень быстро [00:29] ок, ребята... у меня встреча... jrand0m, отправь мне anonymail [00:29] ок, adios [00:29] jrand0m: да, и должна вернуть сам dest, а не "не найдено" [00:30] верно [00:30] *** Signoff: Ryan_Singer ((null)) [00:30] ок. мы на 7.0) [00:30] вопросы [00:30] привет [00:30] А как же 6.0) Administrivia? [00:31] Или с этим всё? [00:31] 6.0 administravia — это просто я дёргаю nop дать мне root, чтобы поднять для вас: anon cvs доступ, bugzilla и интерфейс cvsweb :) [00:31] будут ли закреплённые ответственные за упаковку альфы, беты и релизов для Win/Mac/SuSE/RedHat/Debian, чтобы ускорить принятие? [00:32] ты волонтёришь? [00:32] (то есть да, было бы здорово) [00:32] Если научусь делать пакет для своего дистрибутива :) [00:32] какой дистрибутив используешь? [00:33] Насколько помню, разработчики IIP хотели переимплементить IIP поверх I2P. Если I2P обеспечит обещанную анонимность, не проще ли просто иметь IRC поверх I2P? [00:33] Но моя мысль: многие на это полагаются. Это упростит людям внедрение. Freenet страдает от нехватки активных мейнтейнеров. [00:33] jr хорош как менеджер :) [00:33] да, co, проще, но не так масштабируемо [00:33] *** UserX_ (~User@anon.iip) присоединился к каналу #iip-dev [00:33] да, но некоторым не нужен IRC [00:34] beefbroth> ты абсолютно прав, работы много, а мне надо спать хотя бы 4 часа в сутки [00:34] thecrypto: Верно, хотя I2P анонимизирует IP-адреса людей. [00:34] jrand0m: я могу помочь с упаковкой, когда всё будет готово. Это отличный способ для не-разработчиков с небольшим опытом помочь. [00:34] отлично, beefbroth [00:34] если у нас IM и IRC — больше адопшена [00:35] co: проблема в том, что в irc есть что выключать (серверы). [00:35] *** jeremiah (~jeremiah@anon.iip) присоединился к каналу #iip-dev [00:35] thecrypto> мгновенная адопшен: opennap [00:35] легче научиться делать пакеты, чем учить i2p datastructures. простой способ для нескольких людей подключиться [00:35] IRC довольно тяжёлый, правда? [00:35] распределённый IRC, то есть... [00:35] mihi: Точно. Забыл. Спасибо, что напомнил. Возражение снято. [00:36] dm> у irc могут быть несколько irc-серверов (как efnet и пр.), которые разговаривают друг с другом через i2p [00:36] ты имеешь в виду «похожий на irc» чат-протокол? [00:36] или адаптировать irc? [00:36] а люди общаются между собой, туннелируя к одному из irc-серверов через i2p [00:36] irc с серверами за i2p ок, я про без серверов. Не важно, наверное. [00:37] dm> верно, без серверов можно сделать лучше, и над этим думали, но ничего реально крепкого (насколько я знаю) [00:38] в любом случае, оффтоп. [00:38] продолжайте! [00:38] ещё вопросы? [00:38] кто-нибудь уже читал спеки? ;) [00:38] (кроме beefbroth, у которого они наизусть) [00:38] * dm смотрит в потолок. [00:39] ок, тогда митинг на 100 минут [00:39] я читаю их, когда мне что-то нужно :) [00:39] спеки! [00:39] Вот что я забыл! [00:39] хех [00:40] *** dm изменил тему канала #iip-dev на topic1 [00:40] * jrand0m подгружает и... [00:40] * jrand0m *бамф* завершает встречу