(Предоставлено сервисом Wayback Machine http://www.archive.org/)
Краткие итоги
Присутствуют: dm, duck, godmode0, jrand0m, mihi, Ophite1, soros, TC, tusko, yodel
Журнал встречи
[22:02] <jrand0m> повестка: [22:02] <jrand0m> 0) welcome [22:02] <jrand0m> 1) i2p dev status [22:02] <jrand0m> - вышла 0.2.1.1 (обновление и тестирование peers и tunnels, улучшения настройки, throttling tunnel'ов, защита от DoS) [22:02] <jrand0m> - не используйте bw limiting (все еще отлаживаем) [22:02] <jrand0m> - держите свои часы примерно правильными (запас 30 минут) [используется для истечения срока lease и garlics] [22:02] <jrand0m> 2) Kademlia, 0.3 и idn [22:02] <jrand0m> 3) пересмотр дорожной карты (0.2.3 --> 0.4, 0.2.2 --> 0.3.1)? [22:02] <jrand0m> 4) статус приложений [ppp2p, i2ptunnel, im, ns, squid] [22:02] <duck> 5) почему jrand0m пьет дешевое местное пиво? [22:02] <jrand0m> 5) комментарии / вопросы / и т. д. [22:02] <jrand0m> хех [22:02] <jrand0m> ну да, по сути это подпадает под пункт 5 :) [22:02] <mihi_> двойная пятерка ;) [22:03] <mihi_> упс... [22:03] <jrand0m> 0) welcome [22:03] * mihi_ не посмотрел на левую колонку [22:03] <jrand0m> привет. Полагаю, 65-я встреча. [22:03] <jrand0m> хехе [22:03] <jrand0m> 1) про этот код [22:04] <jrand0m> 0.2.1.1 вышла прошлой ночью [22:04] <jrand0m> там много всего хорошего. [22:04] * mihi тестирует это прямо сейчас. [22:04] <jrand0m> tunnels тестируются и быстро «падают», наказывая всех участников, чтобы они вряд ли попали в реконфиг [22:05] <jrand0m> сообщения в i2ptunnel также ограничены по скорости до максимального размера 64k (большие сообщения вызывали проблемы) [22:05] <jrand0m> сейчас устраняем некоторые баги в коде bw limiting, так что убедитесь, что ваши bw limits в router.config — отрицательные значения [22:06] <jrand0m> (в любом случае в i2p сейчас недостаточно трафика, чтобы создать реальную нагрузку) [22:06] <jrand0m> (но bw limiting будет покрыт unit-тестами и исправлен к 0.2.1.2) [22:07] <jrand0m> также, пожалуйста, старайтесь держать свои часы близкими к правильным. Плохо, что нам это нужно, но пока нужно. [22:07] <jrand0m> возможно, мы сможем придумать способ не требовать полусинхронизированных часов, но это тонко. [22:07] <jrand0m> 2) веселые штуки [22:08] <jrand0m> многие баги последних релизов связаны с кривой костылем BroadcastNetworkDB. [22:08] <jrand0m> поскольку планируется замена в 0.3, стоит хотя бы упомянуть, на что она будет заменена [22:09] <jrand0m> Kademlia — это структурированная распределенная хеш-таблица (DHT), позволяющая вставлять и извлекать данные за время менее O(log(N)), гарантированно [22:09] <jrand0m> [с одной небольшой оговоркой, которую мы еще прорабатываем] [22:10] <jrand0m> код Kademlia нужно написать к 0.3, чтобы мы могли делать insert и fetch структур RouterInfo и LeaseSet. [22:10] <jrand0m> однако было бы проще реализовать это отдельно — и, следовательно, отдельно тестировать. [22:10] <jrand0m> (unit testing == хорошо) [22:11] <jrand0m> итак, как просто unit-тестировать DHT? написать на ней простой сервис хранения/поиска файлов. [22:11] <dm> insert fetch? мы говорим о контенте? [22:11] <jrand0m> встречайте idn: (Ссылка: http://wiki.invisiblenet.net/iip-wiki?I2PIDN)http://wiki.invisiblenet.net/iip-wiki?I2PIDN [22:11] <Ophite1> dm: Нет, только структуры routerinfo и leaseset. [22:12] <jrand0m> dm> текущая i2p networkDatabase содержит только две специализированные структуры, как сказал ophite [22:12] <dm> окей, спасибо. [22:12] <Ophite1> может быть полезно использовать это для бутстрапа других протоколов, но сам по себе он не анонимен. (?) [22:12] *** grimps (~grimp@anon.iip) вошел на канал #iip-dev [22:12] <tusko> один вопрос: какой протокол сейчас используется для networkDatabase? [22:13] <jrand0m> извините, телефон. [22:13] *** Выход: godmode0 (Ping timeout) [22:13] <jrand0m> верно, Kademlia не анонимна, но и не не-анонимна [22:13] <Ophite1> модифицированная Kademlia будет масштабироваться. случайный — нет. [22:13] <jrand0m> tusko> сейчас у нас затопляющая рассылка (flooded broadcast) [22:13] <duck> как насчет того, что Kademlia будет фрагментироваться? [22:13] <dm> в зал со встречей нельзя сотовые. [22:13] <duck> <вставить комментарии zooko> [22:13] <Ophite1> flooded broadcast, aka метод Gnutella, точно не будет ;) [22:13] <jrand0m> Ophite1> верно, Kademlia не использует случайные :) [22:13] <duck> Ophite1: лучше подходит как маршрутизация freenet :) [22:14] <jrand0m> duck> именно (<jrand0m> [с одной небольшой оговоркой, которую мы еще прорабатываем] ) [22:14] <Ophite1> duck: на этом закончу... ;) [22:14] *** Выход: mihi (Ping timeout) [22:14] <tusko> Kademlia — это что-то вроде гиперкуба? [22:14] <Ophite1> нет, круг. [22:14] *** Выход: mihi_ (Ping timeout) [22:14] <jrand0m> и/или xor-дерево :) [22:15] <Ophite1> расколы/слияния... перетасовать дерево? можем заглянуть на overnet-подобный в emule? :) [22:15] <jrand0m> это довольно простой протокол, но мы точно можем посмотреть вокруг. [22:16] <jrand0m> icepick реализовал Kademlia на python тоже, для ent (как kashmir) [22:16] *** mihi (~mihi@anon.iip) вошел на канал #iip-dev [22:16] <Ophite1> учитывайте также злонамеренные узлы, которые намеренно фрагментируют дерево. [22:16] <jrand0m> абсолютно. но он довольно устойчив к атакам [22:16] <Ophite1> 256-битное пространство ключей более устойчиво к этому. [22:17] <Ophite1> плюс пришлось бы сделать много структур routeridentity = сложно. [22:17] <tusko> мне показались интересными статьи grapevine: (Ссылка: http://grapevine.sourceforge.net/)http://grapevine.sourceforge.net/ [22:17] <jrand0m> вот почему я хочу сначала реализовать это как приложение, а не вырывать сердце i2p — чтобы сначала разобраться со всей грязью [22:17] <Ophite1> так что я доволен секцией 3 драфта 0.9. [22:17] *** Выход: nickthief54450 (Excess Flood) [22:18] *** nickthief54450 (~chatzilla@anon.iip) вошел на канал #iip-dev [22:18] <tusko> посмотрите (Ссылка: http://grapevine.sourceforge.net/tech-overview.php)http://grapevine.sourceforge.net/tech-overview.php [22:18] <Ophite1> хотя я бы отметил, что если сообщение 0, DatabasePing, реализуется, вы можете захотеть включить в него hashcash. [22:18] <jrand0m> интересно, tusko, думаю, их экономическая модель потребует пересмотра, как и их защита от Sybil-атак [22:19] <Ophite1> (возможно, вы уже; не читал ту часть) [22:19] <jrand0m> абсолютно, Ophite1. Я вообще-то думал о том, чтобы вставлять hashcash-сертификаты во все сообщения (включая DatabaseLookup) [22:20] <Ophite1> хорошая идея. хотя будьте осторожны с производительностью и настройкой против защиты от DoS, и, возможно, стоит выполнять расчеты hashcash в отдельном, низкоприоритетном потоке? [22:21] <jrand0m> ну, проверка hashcash должна быть почти мгновенной [22:21] <jrand0m> и генерация hashcash не должна быть предварительно скомпилирована [22:21] <jrand0m> ну, предвычислена [22:21] <dm> похоже, что Ophite1 — это аватар, созданный jrand0m, чтобы он наконец мог поговорить об I2P с кем-то, кто понимает, что, черт побери, он говорит. [22:22] <jrand0m> лол [22:22] * dm не обманут. [22:22] *** godmode0 (~enter@anon.iip) вошел на канал #iip-dev [22:22] <Ophite1> один из способов это предотвратить — использовать производные от session keys как часть hashcash.. [22:22] <jrand0m> верно. и/или вставить nonce и дату [22:22] <Ophite1> дата приводит к тем самым проблемам со временем. это может быть реальной проблемой. [22:22] <Ophite1> если только вы не хотите переписать ntp ;-) [22:22] *** Выход: mihi (Ping timeout) [22:23] <jrand0m> хех [22:23] <jrand0m> ну, мы уже немного с этим столкнулись [22:23] <jrand0m> (отсюда запас 30 минут) [22:23] <jrand0m> хеш сессии может сработать. хорошая идея. [22:24] <Ophite1> и нет, я не клон jrand0m ;) [22:24] <jrand0m> ок, по idn, я, вероятно, реализую только то, что на странице I2PIDN wiki [22:25] *** Выход: dm (Ping timeout) [22:25] <jrand0m> было бы круто, если бы кто-то взял это и развил — сделал настоящий пользовательский интерфейс, лучшие приложения для get/store, FEC/ECC/и т. п. [22:25] <jrand0m> также у меня были идеи о поисковой сети, построенной параллельно [22:26] <jrand0m> но, пожалуй, для i2p будет полезнее, если я сосредоточусь на router [22:26] <Ophite1> он работает поверх i2p? [22:26] <jrand0m> (сделать его функциональным, масштабируемым и безопасным) [22:26] <jrand0m> да [22:26] <jrand0m> i2p делает idn анонимным [22:27] <Ophite1> какие у тебя были идеи по поисковой сети? [22:27] <jrand0m> примечание: это еще не написано, но выглядит как пункт №2 в моем списке задач [22:27] <Ophite1> можно ли построить другую DHT через tunnels? [22:27] *** mihi (~mihi@anon.iip) вошел на канал #iip-dev [22:27] <jrand0m> по сути, распределенная реплицируемая БД, с hashcash для вставок и синхронизаций, где люди хранят idn-ключи вместе с метаданными / и т. п. [22:27] *** dm (~as@anon.iip) вошел на канал #iip-dev [22:28] <jrand0m> хм, да, конечно. но i2p по своей природе не основан на tunnels — он основан на сообщениях (i2p — это IP, i2ptunnel — это TCP) [22:28] <Ophite1> если ~все узлы участвуют = очень полезно для «обнаружения» других протоколов. [22:28] <jrand0m> определенно [22:28] <Ophite1> значит, должно быть стандартом. [22:28] <Ophite1> dhcp/zeroconf для i2p? :) [22:28] <jrand0m> idn было бы очень хорошим приложением в комплекте с i2p, чтобы дать людям «опыт из коробки» [22:29] <Ophite1> Если это предполагается как полнофункциональное приложение для общения/передачи/хранения файлов, предлагаю название «Darknet». [22:29] <jrand0m> :) [22:29] <Ophite1> Ты, конечно, знаешь, откуда это. :) [22:30] <dm> Откуда? [22:30] <Ophite1> Статья MS Research: The Darknet and the Future of Content Distribution. [22:30] *** Выход: godmode0 (Ping timeout) [22:30] <TC> ссылка? [22:30] *** tonious (~Flag@anon.iip) вошел на канал #iip-dev [22:30] <jrand0m> ну, Тим Мэй говорит, что придумал термин ~11 лет назад ;) [22:30] <tusko> где страница I2PIDN wiki? [22:30] <dm> (Ссылка: http://crypto.stanford.edu/DRM2002/darknet5.doc)http://crypto.stanford.edu/DRM2002/darknet5.doc [22:30] <jrand0m> tusko> (Ссылка: http://wiki.invisiblenet.net/iip-wiki?I2PIDN)http://wiki.invisiblenet.net/iip-wiki?I2PIDN [22:30] <Ophite1> также подразумевает, что сеть работает «во тьме» — никто не знает, кто есть кто ;) [22:30] <jrand0m> именно. [22:31] *** mihi_ (~mihi@anon.iip) вошел на канал #iip-dev [22:31] <jrand0m> ну, i2p сам по себе в этом смысле — darknet, но это общий обмен сообщениями — он является IP-слоем для такого darknet. [22:31] <jrand0m> i2ptunnel — это TCP-слой, а idn — NFS :) [22:31] <Ophite1> i2p — протокол, позволяющий создать такую сеть из чего-то вроде overnet. [22:31] <Ophite1> кстати... есть ли способ указывать приоритет в сообщениях? [22:32] *** mihi теперь известен как nickthief76430 [22:32] *** mihi_ теперь известен как mihi [22:32] <jrand0m> забавно, что ты это упомянул :) [22:32] *** nickthief76430 теперь известен как mihi_backup [22:32] <mihi> упс... [22:32] <jrand0m> я как раз читал некоторые из предстоящих докладов HotNets2 ((Ссылка: http://nms.lcs.mit.edu/HotNets-II/program.html)http://nms.lcs.mit.edu/HotNets-II/program.html) и вдохновился механизмами QoS поверх i2p [22:33] <Ophite1> не нарушит ли бит разделения на bulk/low-latency немного анонимность (пересечение наборов?) за счет возможности увязки трафика? даже если он иногда переключается? [22:33] <Ophite1> а, ну так может сработать лучше =) [22:33] <Ophite1> Не беспокойтесь о локальном правдоподобном отрицании. [22:33] <jrand0m> верно, i2p считает локальную машину доверенной [22:33] *** Выход: dm (Ping timeout) [22:33] <Ophite1> Это проблема для Rubberhose/Marutukku и Thermite, а не для I2P. [22:34] <jrand0m> именно. (иначе ПО скомпрометировано, и неважно, что мы делаем) [22:34] * TC надеется, что его локальная машина доверенная [22:34] <jrand0m> хех [22:34] <Ophite1> TC: простой способ узнать; угрожай смертью бушу и смотри, придут ли к тебе агенты SS ;-) [22:34] <jrand0m> лол [22:34] <TC> сделано и сделано [22:34] *** Выход: tonious (Ping timeout) [22:34] <jrand0m> хах! [22:35] * jrand0m смотрит, как мой прокси squid валит FBI [22:35] <TC> это ловушка! [22:35] <jrand0m> берите топор! [22:35] <jrand0m> :) [22:35] <TC> кто-нибудь играл в uplink? [22:35] <Ophite1> прошел. взломал. выпустил. [22:35] <Ophite1> и натренировал тоже ;) [22:36] * jrand0m считает это за «да» [22:36] *** dm (~as@anon.iip) вошел на канал #iip-dev [22:37] <Ophite1> могут быть некоторые возможности DoS в кэшировании, в in-memory вещах... [22:37] <jrand0m> ок, вот что я думаю по idn/Kademlia. реализовать idn и запустить поверх кода 0.2., помять его немного, затем внедрить 0.3 с этой реализацией Kademlia [22:37] <jrand0m> о да. в списке todo есть «сбрасывать ожидающие и большие сообщения на диск» :) [22:37] <dm> разве IDN не стоит реализовывать после того, как I2P будет протестирован и зрел? [22:38] <jrand0m> это одна из проблем, с которой мы столкнулись при тестировании большого файла с eepsite TC [22:38] <Ophite1> dm: нет, так как это тестовый стенд для модной БД. [22:38] <jrand0m> dm> я тоже так думал, но мне нужно реализовать код Kademlia, чтобы подготовить 0.3. по сути, код Kademlia И ЕСТЬ 0.3 [22:38] <Ophite1> мне нравится гибридная природа DHT, которую такая сеть обеспечит. [22:39] <dm> ага... [22:39] <jrand0m> но если никто не хочет навесить нормальный UI до i2p 1.0, это тоже может быть хорошей идеей [22:39] <Ophite1> обнаружение узлов DHT + маршрутизация типа ngr = масштабируемость, способная выдержать критическую массу [22:39] <dm> что стало с исходным списком этапов. secure-->anonymous-->not harvestable, и т. д... [22:39] <Ophite1> jrand0m: я воздержусь от рекламы это пиратам, пока не будет готово. достаточно? [22:39] <jrand0m> ну, без маршрутизации типа ngr :) мы делаем tunnel :) [22:39] <TC> лишь бы мы сохранили CLI [22:39] <dm> ах, scalable был одним из пунктов в цепочке. [22:39] <jrand0m> dm> 0.3 необходим для scalable. что идет до not harvestable [22:39] <jrand0m> спасибо, Ophite1 :) [22:40] <jrand0m> обязательно, TC. мне понадобится CLI, чтобы это тестировать [22:40] <Ophite1> масштабируемость собственно анонимной части напрямую связана с выбором в маршрутизации для tunnels, и это уже реализация router? [22:40] <jrand0m> (и, камон, вероятно, мы будем распространять софт/релизы через idn) [22:40] *** godmode0 (~enter@anon.iip) вошел на канал #iip-dev [22:40] <dm> ладно... тогда звучит ок. [22:40] <jrand0m> абсолютно, ophite. [22:40] <Ophite1> предложение: максимальный размер сообщения? [22:40] <jrand0m> это Сложная проблема [22:41] <jrand0m> максимальный размер сообщения сейчас безумно большой (4g), но я подумываю урезать до 64k или 128k [22:41] <jrand0m> но я пока не хочу к этому прибегать [22:41] * Ophite1 идет копаться в заметках [22:41] <Ophite1> заметки по масштабируемости BitTorrent/Scone показывают 512K. [22:42] <jrand0m> хех ок, круто. (есть ссылки, куда мне копнуть?) [22:42] <Ophite1> но думай об этом как о размере окна TCP. [22:42] <jrand0m> верно [22:42] <Ophite1> по scone нет, сорри — проект друга. [22:42] <jrand0m> кру', не вопрос [22:42] *** Выход: mihi_backup (Ping timeout) [22:42] <Ophite1> для справки, твоя Kademlia примерно столь же хороша, как и его :) [22:42] <jrand0m> хехе [22:42] <jrand0m> (ну, я ее еще не реализовал ;) [22:42] <Ophite1> э, ее, то есть :/ [22:42] <jrand0m> о, wicked [22:43] <dm> стояк.. [22:43] *** mihi_backup (~mihi@anon.iip) вошел на канал #iip-dev [22:43] <jrand0m> хех [22:43] <jrand0m> итак, это 2) Kademlia, 0.3 и idn [22:43] <Ophite1> она называла свои игрушки в честь десертов. custard, crumble (похожа на Waste), strudel.. ее bittorrent-подобная была самым быстрым пудингом в мире — «scone ;) [22:43] <jrand0m> хаха [22:45] <Ophite1> она — математик. [22:45] <jrand0m> еще лучше [22:45] <jrand0m> впереди много сбора/анализа статистики для продвинутого выбора пиров [22:45] <Ophite1> но я постараюсь прогонять идеи мимо нее. масштабируемость из i2np 0.9 была от нее — ей нравится. [22:45] <jrand0m> (к сожалению, мы не можем мухлевать как mnet, mixminion и tor) [22:46] <jrand0m> здорово слышать [22:46] <Ophite1> один комментарий — dsa? [22:46] *** nickthief54450 (~chatzilla@anon.iip) вошел на канал #iip-dev [22:46] <Ophite1> dsa 1024 бита, типа SHA-1? [22:46] <jrand0m> ага [22:47] <Ophite1> наверное, проверенная штука. [22:47] <Ophite1> и маленькая. [22:47] <jrand0m> верно. но я не на 100% привязан к нашим конкретным реализациям крипты [22:47] <Ophite1> ладно, к дорожной карте. [22:47] <TC> хаха, назовем Windows-версию «Microsoft Darknet (r)» [22:47] <jrand0m> хех, tc [22:48] <jrand0m> ок, 3) пересмотр дорожной карты (0.2.3 --> 0.4, 0.2.2 --> 0.3.1)? [22:48] <jrand0m> из-за всех багов, на которые я напарываюсь в связи с broadcast db, хочу поднять релиз 0.3 (Kademlia db) [22:48] <TC> приятно не быть ограниченными товарными знаками, как обычный open source проект [22:49] *** tonious (~Flag@anon.iip) вошел на канал #iip-dev [22:49] <jrand0m> 0.2.3 — это restricted routes / trusted peers, и, вероятно, не жёсткие требования, которые кому-то здесь нужны. можно спокойно сдвинуть на 0.4, думаю [22:50] <jrand0m> 0.2.2 — модификации tunnel'ов, но я думаю, часть давления на это ослабнет с релизом 0.2.1.1 (который тестирует и перестраивает tunnels по необходимости, а не ждет 10 минут) [22:50] <Ophite1> trusted peers — область, которая, на мой взгляд, требует доработки. [22:50] <jrand0m> согласен. [22:50] *** dm_backup (~as@anon.iip) вошел на канал #iip-dev [22:50] <Ophite1> единственная область, которая не вызывает теплых чувств. [22:50] <Ophite1> хотя, возможно, это просто слово «trusted». :) [22:50] <jrand0m> по сути, мои текущие мысли — публиковать tunnels у routers [22:50] <jrand0m> хех [22:51] <jrand0m> (если мы публикуем tunnels у routers, можно обойтись недоверенными шлюзами, что убирает «trusted» из trusted peers) [22:51] *** Выход: dm (Ping timeout) [22:51] *** dm_backup теперь известен как dm [22:51] <Ophite1> нужно проанализировать анонимные последствия этого. [22:51] <jrand0m> но trusted peers изначально необходимы в системах анонимности военного уровня, где /все/ узлы, с которыми ты можешь связаться, считаются атакующими. [22:52] <Ophite1> не думаю, что это действительно возможно... [22:52] <jrand0m> конечно. еще одна причина отдать это в 0.4 [22:52] <jrand0m> Ophite1> доверенные узлы с самоуничтожением по таймеру/сигналу. [22:52] <jrand0m> ставишь «козла отпущения», маршрутизируешь через него, убиваешь его [22:52] <jrand0m> именно, если «козлы» удаляют логи после N часов / N байт / N сообщений [22:52] <Ophite1> я имею в виду, если хочешь, я выпущу червя, который поднимет пару миллионов... [22:53] <Ophite1> логи? какие логи? [22:53] <jrand0m> :) [22:53] <jrand0m> ок, форматировать диски ;) [22:53] * Ophite1 писал троян на уровне ядра со скрытностью [22:53] <jrand0m> неплохо [22:53] * dm написал плагин к календарю Outlook на уровне ядра. [22:53] <Ophite1> ...когда мне было 19 :) [22:53] <Ophite1> все еще работает. :) [22:54] <Ophite1> не собираюсь включать это сюда, не волнуйтесь, или, эм, проверьте мой код, что, наверное, и так Хорошо Было Бы Сделать ;) [22:54] <dm> когда мне было 12. [22:54] <jrand0m> не думаю, что i2p захочет /настолько/ широкого распространения до того, как 1.0 станет стабильным и тщательно просмотренным сообществом [22:54] <jrand0m> хех, Ophite1 [22:54] <jrand0m> хех, dm [22:54] <Ophite1> если честно, считаю, что это фича ради фичи. [22:54] <jrand0m> может быть. [22:55] <jrand0m> но restricted routes — необходимость [22:55] <jrand0m> это базовая функциональность для людей за фаерволами [22:55] <jrand0m> (очень строгими фаерволами) [22:55] <Ophite1> здравствуй, транспорты. [22:55] <Ophite1> дойдем и до этого. [22:55] <Ophite1> или сейчас подходящее время обсудить их? [22:55] <jrand0m> конечно, давай копнемся :) [22:56] <jrand0m> мы уже столкнулись с проблемой недоступного пира, которую можно решить restricted routes [22:56] *** tusko вышел из #iip-dev [22:56] <jrand0m> хотя это было из-за неправильной конфигурации, такое может быть распространенным [22:57] <Ophite1> Также: имея двух сотрудничающих пиров за входными фаерволами, которые отбрасывают плохие пакеты, и одного сотрудничающего пира, который не за фаерволом и может отправлять пакеты с поддельными IP-адресами источника обоим другим... [22:57] <Ophite1> можно установить TCP-соединение между двумя «зафайрволенными» пирами, и оба фаервола будут считать, что оно исходящее. [22:57] <jrand0m> определенно [22:57] <dm> поддельные IP-адреса?!? [22:58] <Ophite1> поверь, фаерволы — ОЧЕНЬ распространенная проблема. [22:58] <Ophite1> иногда они под контролем пользователя, но пользователь — балбес. это можно решить установщиком, который настроит фаервол :) [22:58] <dm> I2P будет использовать IP spoofing? :) [22:58] <jrand0m> определенно. если i2p не сможет работать за фаерволами / NAT / прокси, нет смысла продолжать. [22:59] <Ophite1> иногда они активно враждебны, корпоративные или учебные шлюзы, намеренно ломающие все. Это надо проходить и проходить чисто. [22:59] <jrand0m> dm> варианты транспорта [22:59] <jrand0m> абсолютно, Ophite1 [22:59] <Ophite1> dm: у меня есть рабочая реализация — в протоколе Direct Connect. [22:59] <jrand0m> i2p хочет быть полем боя для этого кода. [22:59] <Ophite1> dm: если *это* справляется, то i2p сможет. [22:59] *** Выход: tonious (Ping timeout) [23:00] <Ophite1> предлагаю по умолчанию держать это выключенным. Немногим это нужно, и было бы неплохо, если бы они могли объявлять, кто они, чтобы запросы маршрутизировались к ним. [23:00] <dm> без нативного кода IP не подделать, верно? [23:00] <Ophite1> плюс преимущество в том, что им не нужно маршрутизировать *через себя*, а лишь помогать установке. [23:00] <Ophite1> = огромный прирост скорости. [23:01] <jrand0m> определенно, Ophite1, для этого и есть структура RouterInfo.routerAddress[] [23:01] <Ophite1> dm: ага, как будто это не будет переписано? [23:01] *** tonious (~Flag@anon.iip) вошел на канал #iip-dev [23:01] <dm> окей, просто уточняю... [23:01] <jrand0m> верно, dm, у меня нет никаких сомнений насчет включения нативного кода в i2p [23:01] <Ophite1> я считаю, что java — не окончательное решение. [23:01] <Ophite1> и что java router — это тестовый стенд/прототип. [23:01] <jrand0m> это нормально. если это доведет нас до 1.0, отработает протокол и т. п., этого достаточно. [23:02] <Ophite1> ...и надеюсь, что не застрянем там, как freenet ;) [23:02] <dm> IPAddress.Spoof(192.168.32.1); [23:02] *** alient (alient@anon.iip) вошел на канал #iip-dev [23:02] <jrand0m> лол, dm [23:02] <dm> import IPSpoofing; [23:02] <Ophite1> ммм... raw sockets в java ;) [23:02] <jrand0m> fcntl / ioctl в java... ммММмм [23:02] <mihi> хмм, raw sockets требуют root на unix, не так ли? [23:02] <dm> женщины с большой грудью лижут мой penis.. ммММмм [23:02] <jrand0m> значит, включим rootkit [23:03] <jrand0m> ;) [23:03] <Ophite1> jrand0m: покрыто =) [23:03] <jrand0m> хех [23:03] <Ophite1> кроме того, как сказано; немногим это нужно. [23:03] <jrand0m> верно [23:04] <jrand0m> и только по легитимным причинам, конечно. [23:04] <Ophite1> на моем DC-хабе только один (бот) имел такую возможность, и хаб сообщал ему, когда пассивные хотели соединиться с пассивными. [23:04] <Ophite1> это вызвало немалое удивление. [23:04] <jrand0m> хехе [23:04] <Ophite1> также у бота закрыли хост, так что мой совет — возможно, держать это выключенным по умолчанию :) [23:04] <jrand0m> это определенно хорошая фича, чтобы была доступна [23:04] <jrand0m> лол [23:05] *** Выход: nickthief54450 (Excess Flood) [23:05] <jrand0m> ок, с тем, что restricted routes сдвинуты на 0.4, у нас есть около месяца продолжать спорить, нужна ли эта функциональность [23:06] <jrand0m> есть еще мысли / вещи, которые должны быть в дорожной карте, но их нет, вещи не на своих местах и т. п.? [23:06] <Ophite1> я бы точно сдвинул на 0.4. Сейчас это вызовет проблемы с фаерволами, но мы все еще тестируем... [23:06] <Ophite1> ...кому нельзя открыть порт фаервола, вероятно, не стоит пока пытаться. [23:06] *** nickthief54450 (~chatzilla@anon.iip) вошел на канал #iip-dev [23:06] <jrand0m> верно. и даже с фаерволами PHTTP их проходит. [23:07] <Ophite1> хотя нужно протестировать phttp против враждебных прокси. [23:07] * jrand0m за фаерволом, который я не контролирую, и я полноценно участвую в i2p [23:07] <dm> hax0r [23:07] <jrand0m> ну, да, враждебные прокси могут подделывать подтверждение, но все подписано, так что сообщение не уйдет не туда / и т. п. [23:08] <jrand0m> но у phttp relay и транспорта есть множество нужных фич [23:08] <Ophite1> в частности, чтобы изучить будущие возможности роутеров на уровне приложений по обнаружению/ломанию протокола. [23:08] <jrand0m> мм? [23:08] <Ophite1> есть опыт с туннелированием через фаерволы. [23:08] <Ophite1> возможно, имеет смысл включить fallback на GET. [23:09] <jrand0m> хмм. GET попадает в логи. но возможно как fallback [23:09] <jrand0m> (POST может быть на /index.html) [23:09] <Ophite1> jrand0m: но ведь все подписано/зашифровано, если noderefs в порядке...? [23:10] <Ophite1> если только прокси не станет активным атакующим, ему будет сложно. [23:10] <jrand0m> все сообщения шифруются на router назначения, а указание, через какой phttp relay идти, подписано в routerInfo [23:10] <jrand0m> верно. phttp-прокси в текущем виде точно недостаточно силен против активного атакующего [23:11] *** Выход: grimps (Leaving) [23:12] <jrand0m> было бы здорово, если бы люди выкладывали альтернативные идеи транспортов на wiki :) [23:12] <jrand0m> ок, 4) статус приложений [ppp2p, i2ptunnel, im, ns, squid] [23:12] <jrand0m> черт, tusko ушел [23:12] <jrand0m> tusko написал скрипт на python (ppp2p), позволяющий гнать ppp поверх i2p через i2ptunnel [23:13] <Ophite1> говорил же, кто-нибудь это сделает :) [23:13] <dm> ppp поверх i2p? [23:13] <jrand0m> я не смотрел, но, насколько знаю, он гонял vpn поверх i2p с пингами 5 с [23:13] <jrand0m> хех да [23:13] <Ophite1> dm: конечно. [23:13] <dm> когда это можно использовать? [23:13] <dm> можно/будут [23:13] <jrand0m> dm> анонимный outproxy [23:13] <Ophite1> dm: анонимно ЧТО УГОДНО. [23:13] <jrand0m> чтобы, скажем, запустить узел kazaa анонимно, или что угодно [23:13] * Ophite1 отмечает, что любой, кто гонит исходящий i2p->ppp-линк, сумасшедший и, вероятно, попадет в блэклист/будет выследен [23:13] <dm> ах, понял. [23:13] <jrand0m> однозначно, Ophite1 [23:14] <jrand0m> так что сейчас — только для доверенных пиров. [23:14] <Ophite1> см. также: каскад dresden JAP... :) [23:14] <jrand0m> что, ну, не очень вяжется с анонимностью... [23:14] <jrand0m> хех [23:14] <Ophite1> также большая часть исходящего из их узла будет не шифрована... [23:14] * jrand0m думает об IKE поверх PPP поверх I2P [23:15] * jrand0m смотрит, как моя голова взрывается [23:15] *** fiaga (~po@anon.iip) вошел на канал #iip-dev [23:15] <Ophite1> jrand0m: почему бы не i2p поверх ppp поверх i2p? [23:15] <jrand0m> вполне возможно. разве рекурсия не веселая? [23:15] <soros> i2p поверх i2p :-o [23:15] <jrand0m> или i2p поверх ppp поверх i2p поверх i2p поверх freenet поверх kazaa [23:15] <Ophite1> ну это уже глупости. Freenet никак бы не работал ;) [23:16] <godmode0> поверх медленного коннекта :) [23:16] <jrand0m> хех, задержки были бы, конечно :) [23:16] <mihi> ... поверх icmp tunnel поверх ... [23:16] <Ophite1> о да, loki :) [23:16] <Ophite1> 0ldsk00l :) [23:17] <Ophite1> адреса I2P, являясь открытыми ключами, ... довольно длинные. [23:17] <jrand0m> да. [23:17] <jrand0m> раз уж мы на пункте повестки 4: ns [23:17] <Ophite1> Например, URL I2P www на самом деле слишком длинный, чтобы вставлять его куда-либо вменяемо (>512 символов?!!) [23:17] <mihi> co обещал написать naming service... [23:17] <jrand0m> ага. [23:17] <jrand0m> думаю, с реализованным idn кому-то будет очень просто адаптировать код Kademlia в распределенный DNS [23:17] <mihi> Ophite1: публикуй их на форуме eepsite. [23:18] <Ophite1> проблема с пространством имен, как я понимаю, в том, что должно быть либо некоторое центральное управление, ЛИБО нужно разрешить коллизии. [23:18] *** Выход: fiaga (Ping timeout) [23:18] <jrand0m> (просто навесь CA или WoT CAs, и вуаля. (Link: www.mihi.i2p)www.mihi.i2p) [23:18] <jrand0m> не обязательно. [23:18] <Ophite1> пожалуйста, просвети меня своими лучшими идеями. [23:18] <jrand0m> Ophite1> посмотри спеки co/wiht в списке iip-dev. [23:19] <Ophite1> лучшее, что я придумал — корневой ключ создает подписанные пространства имен. в стиле dnssec. [23:19] <jrand0m> он не идет до конца с DHT, но управляет группами [23:19] <jrand0m> так же, как сейчас — мы /все/ можем выбирать, кто наши корневые DNS-серверы. [23:19] <jrand0m> в том же духе, мы /все/ должны иметь возможность выбирать, кто наш ЦС (CA) (или ЦС на основе WoT) [23:20] <jrand0m> так что, думаю, технически /могут/ быть коллизии, но только когда есть несколько групп ЦС, которые не взаимодействуют [23:20] * Ophite1 отмечает, что это маловероятно [23:20] <jrand0m> согласен [23:20] <Ophite1> ты либо доверяешь корневому ЦС, либо нет. [23:20] <jrand0m> а если не доверяешь корню, создаешь свой [23:21] <jrand0m> (или находишь другой) [23:21] <Ophite1> и если ты не доверяешь корневому ЦС, на то есть причина, которая быстро разойдется. [23:21] <jrand0m> именно [23:21] <jrand0m> особенно когда есть анонимная публикация :) [23:21] <Ophite1> поскольку единственная реальная цель ЦС — гарантировать отсутствие коллизий — как Трент... [23:21] <jrand0m> верно [23:22] <Ophite1> единственное, что вызовет недоверие к ЦС — (1) утечка ключа или (2) отказ регистрировать то, что еще не зарегистрировано. [23:22] * jrand0m отмечает «достоверность» verisign [23:23] * Ophite1 отмечает, что Verisign вроде как проверяет личность владельца сертификата — одно из свойств, которого у пространства имен I2P, по сути, гарантированно НЕ будет [23:23] <jrand0m> самоподписанные сертификаты+++ [23:24] <Ophite1> также отмечу, что распределенные системы — как Darknet, как я буду называть его отсюда, пока не приживется :) — построенные поверх i2p, вероятно, не будут использовать пространство имен. [23:24] <Ophite1> оно для серверов, по сути. [23:24] <jrand0m> хех [23:24] <jrand0m> верно [23:24] <Ophite1> сервера не масштабируются. Эта проблема будет в i2p так же, как в IP. [23:24] <Ophite1> так что, думаю, на практике использование будет удивительно ограниченным. [23:24] <jrand0m> idn («darknet») будет хранить ссылки на destinations — все 387 бит их ключей, а не какое-то красивое имя [23:24] <jrand0m> согласен. [23:25] <jrand0m> кроме / до тех пор, пока кто-нибудь не напишет распределенную систему outproxy [23:25] <jrand0m> aka o-r / freedom поверх i2p [23:25] <TC> сколько разных ключей мы можем иметь? [23:25] * jrand0m ждет этого дня [23:25] <jrand0m> tc> 2^2048 [23:25] <Ophite1> jrand0m: в этот момент корневой ключ подпишет им namespace: .proxy.i2p [23:26] <dm> Это, должно быть, самая гипотетичная/мегаломаньячная встреча open source разработки ever :) [23:26] <jrand0m> разве подпространства не великолепны :) [23:26] <jrand0m> лол, dm [23:26] <jrand0m> эй, нам же можно целиться высоко, не так ли? [23:26] <dm> уверен, большинство dev-встреч: «Итак, ставим 3 бита в заголовок mpeg-5 или 4?» [23:26] <Ophite1> jrand0m: как ни странно, не каждое число подходит для elgamal ;-) [23:26] <TC> dm, ты видел встречи debian, да? [23:26] <jrand0m> ааа, да ладно, 000000000000000000000000000 — это безопасный ключ [23:26] * Ophite1 раздает Chocolate Digestives [23:26] <dm> TC: нет, какие они? [23:26] <Ophite1> jrand0m: о, идентичность. [23:26] <TC> dm, не знаю, я спрашивал [23:27] <jrand0m> ок. thecrypto здесь нет... есть идеи по im? [23:27] <Ophite1> черт, я как раз хотел спросить. [23:27] <Ophite1> довольно важное приложение. [23:27] <dm> Впрочем, такой формат встреч больше нравится наблюдателям, так что я за. [23:27] * dm развлекается. [23:27] <jrand0m> хех [23:27] <TC> где co? [23:27] <Ophite1> многие будут ожидать, что i2p станет приемником iip. [23:28] <jrand0m> iip поверх i2p — довольно легко, если нам не нужен dcc [23:28] <Ophite1> (думаю, можно, если просто запустить iip irc-сервер поверх i2p...) [23:28] <jrand0m> iip поверх i2p с dcc требует нового приложения [23:28] <jrand0m> именно, Ophite1 [23:28] <jrand0m> кодинга 0 [23:28] <TC> разве нельзя просто гонять irc поверх i2p? [23:28] <Ophite1> мне не нравится эта идея, потому что ... ну, она не дает того, чего у нас уже нет :) [23:28] <jrand0m> но, насколько знаю, thecrypto что-то работает над IM-приложением [23:28] <jrand0m> конечно, tc [23:29] <jrand0m> верно, Ophite1, и это не масштабируется [23:29] <jrand0m> (весь трафик воронкой идет на ircd) [23:29] <Ophite1> Также IRCd может шпионить за трафиком. [23:29] <TC> а, верно [23:29] <jrand0m> (вот тут должен появиться UserX и обсудить свои идеи iip2.0) [23:29] <jrand0m> верно, Ophite1 [23:29] <jrand0m> все проблемы текущего iip [23:29] <Ophite1> jrand0m: И абсолютно ничего другого. [23:29] <jrand0m> больше лага. [23:30] <Ophite1> кроме того, что это на java. прекрасно. :) [23:30] <jrand0m> хех [23:30] <Ophite1> Теперь, очень много людей в универах пытались и не смогли построить распределенные чаты. [23:30] <jrand0m> ок, кто-то либо должен помочь thecrypto, либо подталкивать его :) [23:30] * Ophite1 указывает на IRC3 [23:30] <jrand0m> да, идеальный универский проект [23:30] <Ophite1> ..и SILC... [23:30] <Ophite1> ...и... [23:31] <Ophite1> ну, еще с миллион. [23:31] <jrand0m> точняк [23:31] <Ophite1> буквально все они, насколько вижу, до DHT. [23:31] <jrand0m> ага [23:31] <Ophite1> это разочаровывает, потому что это безумно полезная структура. [23:31] <jrand0m> DHT для lookup / P3P, и затем прямое соединение для IM [23:31] <jrand0m> групповой чат сложнее, но не очень [23:31] <Ophite1> ну, «прямое» в смысле i2p :) [23:31] <jrand0m> хех, верно [23:32] <Ophite1> как насчет darkmail/i2pmail? [23:32] <soros> групповуха тоже [23:32] <dm> soros: согласен. [23:32] <jrand0m> групповуха не так сложна, soros ;) [23:32] <jrand0m> лол [23:32] <jrand0m> email поверх i2p — легко. кому-то просто нужно запустить pop-сервер [23:32] <jrand0m> или webmail [23:32] <jrand0m> хахах [23:33] <Ophite1> jrand0m: конечно, если буквально все ок с чертовым pgp :) [23:33] * Ophite1 снова ловит кошмары CKT [23:33] <jrand0m> о, точно. это раскроет содержимое серверу ;) [23:33] <Ophite1> также... спам. [23:33] <jrand0m> ага [23:33] <Ophite1> у нас есть штука под названием hashcash. [23:33] <Ophite1> они вроде как сочетаются, не? [23:34] <jrand0m> ок, да, кому-то стоит заняться i2p-специфичным email-приложением :) [23:34] <Ophite1> очевидно, лучше всего это будет как часть im. [23:34] <Ophite1> В чем, в конце концов, отличие между irc и email? [23:34] <jrand0m> верно, как IM VMB [23:34] <Ophite1> можно ли пролистать вверх и увидеть, что пропустил после переподключения... [23:34] <jrand0m> положено в DHT [23:34] <jrand0m> хорошая мысль [23:35] * jrand0m желает, чтобы у нас была команда из дюжины кодеров [23:35] <Ophite1> заметь, однако, что почта требует хранения, так как это оффлайн-коммуникация. irc не требует хранения, так как это онлайн-коммуникация. [23:35] <dm> также в email намного больше рекламы по увеличению пениса. [23:35] <Ophite1> jrand0m: ищи финансирование. [23:35] <Ophite1> dm: см. выше про hashcash. [23:35] <jrand0m> верно, P3P может содержать ожидающие сообщения [23:36] <Ophite1> dm: примитив, которого не было у парня, настрочившего email за ночь. [23:36] <Ophite1> (по крайней мере, нам не придется использовать ! пути, чтобы указывать tunnel вручную. хех. хех. хех.) [23:36] * dm будет скучать по простым текстовым протоколам. [23:36] <jrand0m> jrandom%ophite!dm!mihi [23:37] <Ophite1> нет, это i2p. Вставь ~520 мусорных символов между «!» и будешь ближе ;) [23:37] <jrand0m> хаха [23:37] <Ophite1> несколько этих вещей *связаны* между собой. [23:37] <jrand0m> верно, 387 байт в base64... [23:38] <Ophite1> или, если угодно, ELONGURL :) [23:38] <jrand0m> хех [23:38] <Ophite1> [IE обрезает на 512?] [23:38] <jrand0m> неа, работает нормально [23:38] <Ophite1> признаешься, что пользуешься IE? [23:38] <Ophite1> Для анонимного серфинга?! [23:38] <jrand0m> ;) [23:38] * Ophite1 достает шестерых лучших Liu De Yiu и ждет =) [23:38] * jrand0m использует ie для eppsites, moz для squid'инга [23:39] <duck> на каком пункте мы сейчас? [23:39] <duck> 4? [23:39] <jrand0m> да, ок ок [23:39] <Ophite1> все еще 4, думаю. [23:39] <jrand0m> i2ptunnel. все еще жжет. [23:39] <jrand0m> мысли? комментарии, mihi? [23:40] <jrand0m> замечу одну вещь насчет squid outproxy: я обновил фильтрацию заголовков, чтобы РАЗРЕШАТЬ COOKIES и заменять User-Agent на что-то смешное [23:40] * mihi просто ждет naming service... [23:40] <jrand0m> mihi (или кто-то еще)> очень легко загрузить такую naming service через i2p ns в стиле /etc/hosts [23:41] <mihi> кстати: есть еще публичные dest'ы, кроме твоего squid и eepsite tc? [23:41] <jrand0m> i2pcvs.dest [23:41] <jrand0m> (указывает на i2p cvs pserver) [23:41] <jrand0m> (но не всегда поднят) [23:41] *** yodel (yodel@anon.iip) вошел на канал #iip-dev [23:41] <jrand0m> hola yodel [23:41] <yodel> hela [23:42] <jrand0m> ок, думаю, это все для 4) apps [23:42] <jrand0m> 5) комментарии / вопросы / и т. д. [23:42] <mihi> gui installer? [23:42] <TC> hi yodel [23:43] <yodel> мне надо начать эксперименты с запуском xml-rpc поверх i2p [23:43] <yodel> должно работать с httptunnel [23:43] <jrand0m> хороший вопрос, mihi. насколько я знаю, MrEcho кое-что уже поднял [23:43] <jrand0m> отлично, yodel [23:43] <jrand0m> определенно. [23:43] <jrand0m> насколько большие потоки? [23:43] <jrand0m> (насколько «болтливый» протокол?) [23:44] * Ophite1 планирует попробовать BitTorrent поверх I2P как стресс-тест [23:44] <yodel> xml поверх http [23:44] <yodel> слой ssl не понадобится с i2p [23:44] <Ophite1> значит, эм, очень болтливый? :) [23:44] <jrand0m> а, круто, большие POST или большие ответы? [23:44] <jrand0m> (или просто маленькие и маленькие?) [23:45] <jrand0m> черт тебя побери, Ophite1 :) [23:45] <yodel> одинакового размера [23:45] <yodel> httptunnel поддерживает gzip'нутый http? [23:45] <jrand0m> но разве bt не использует IP-адреса? [23:45] <jrand0m> хмм, у httptunnel нет встроенной компрессии, это просто битовый поток [23:45] <TC> хмм, упаковать i2p+ppp\vpn+gui как решение безопасности для беспроводных шеров Windows [23:45] <yodel> значит, должно работать... [23:45] <godmode0> jrand0m> ты тестировал i2p на nntp news server ? [23:45] <jrand0m> ага, yodel [23:45] <yodel> 500–1000 байт отправка, столько же ответ [23:46] <jrand0m> хмм, это я еще не тестировал, godmode0 [23:46] <yodel> намного меньше при сжатии [23:46] <jrand0m> о, круто, yodel, это будет работать без проблем [23:46] <yodel> какая задержка для одного msg/package/whatever? [23:46] <jrand0m> 2–5 с, иногда до 10 с [23:46] <jrand0m> (на текущий момент) [23:46] <Ophite1> неплохо для пред-DHT :) [23:46] <yodel> то есть 20 с туда-обратно? [23:47] <jrand0m> у меня страница обычно открывается за 5–10 с [23:47] <yodel> ага [23:47] <yodel> хор [23:47] <yodel> +шо [23:48] <jrand0m> черт, подходим к отметке 2 часа. у кого-нибудь есть еще вопросы / мысли? [23:48] <Ophite1> Пирог — это хорошо. [23:48] <duck> jrand0m: почему ты пьешь дешевое местное пиво? [23:48] <Ophite1> Оргия и пирог — еще лучше. [23:48] <jrand0m> рофл, duck [23:49] <Ophite1> duck: это лучше, чем Tesco Value Lager? [23:49] * Ophite1 плюется по рефлексу [23:49] <jrand0m> хех [23:49] * duck беспокоится о здоровье jrand0m [23:49] <jrand0m> тебя беспокоят мои привычки к дешевому пиву, но не мои привычки к хорошему виски? [23:50] * Ophite1 напоминает про single malt на голове Кэри Шермана [23:50] <duck> ты хорошо питаешься? [23:50] <godmode0> corona [23:50] <duck> делаешь ежедневные упражнения? [23:50] <jrand0m> ну, я из тех, кто veggies [23:50] <Ophite1> это личный вопрос, duck? [23:50] <jrand0m> печатание засчитывается? [23:50] <duck> ты уже столько выпил? [23:50] <duck> что стал вегетарианцем [23:50] <jrand0m> хех [23:50] <Ophite1> с дешевым пивом такое бывает. [23:51] <duck> Ophite1: здоровье jrand0m должно волновать нас всех, это важно для I2P [23:51] *** Выход: mihi_backup (mihi вручает jrand0m the *BAF*er) [23:51] <jrand0m> хех, ок ок, mihi [23:51] * jrand0m размахивается [23:51] * jrand0m *baf* закрывает собрание