(Любезно предоставлено Wayback Machine http://www.archive.org/)
Краткий обзор
Присутствовали: duck, dup, enduser, FillaMent, human, jrand0m, kaji, lucky, mihi, MrEcho, mrflibble, Nightblade, wiht
Журнал встреч
[22:02] <jrand0m> повестка: [22:02] <jrand0m> 0) привет [22:02] <jrand0m> 1) http://i2p.dnsalias.net/pipermail/i2p/2004-January/000069.html [22:02] <jrand0m> 2) [обсуждение] [22:02] <wiht> Можно добавить установщик в повестку? [22:02] <jrand0m> 0) привет [22:02] <jrand0m> о да, конечно! [22:02] <jrand0m> на этой неделе пробуем кое-что новое [22:03] <wiht> Можно поставить это в конец повестки. [22:03] <jrand0m> вместо старого «говоримговоримговорим—отвечаем—говоримговорим», пост по ссылке http://i2p.dnsalias.net/pipermail/i2p/2004-January/000069.html описывает большую часть того, что я собирался сказать [22:03] * mihi_ присоединился к #i2p [22:04] <jrand0m> вместо этого попробуем в этот раз сделать встречу больше ориентированной на обсуждение — вещи, о которых люди хотят поговорить из того поста, любые последующие посты и/или всё остальное, что хотят обсудить [22:04] <jrand0m> например новый установщик [22:05] <jrand0m> итак, с этим сказано, давайте начнем с того, что ознакомимся с тем письмом/постом, а дальше посмотрим :) [22:05] * mihi_away теперь известен как mihi [22:05] * kaji читает пост [22:05] * mihi_ теперь известен как mihi_backup [22:06] <jrand0m> 27 пользователей и только один дубль! w0w [22:07] * dm теперь известен как dup [22:07] <jrand0m> ок, когда все прочитают, можем начать с просмотра оглавления и посмотреть, есть ли что-то, что кто-то хочет добавить / прокомментировать / обсудить? [22:07] <mihi> jrand0m: откуда ты знаешь, что больше нет дублей? [22:07] <jrand0m> хех, спасибо dm [22:07] <jrand0m> mihi> я поставил кейлоггеры на все компьютеры (бвхахахаха) [22:07] <wiht> Я бы хотел добавить установщик как тему 10 и, возможно, службу имен как тему 11. [22:07] * mihi отправил продолжение на неверный адрес :(, пересылаю... [22:08] <jrand0m> хорошая идея, wiht [22:09] <MrEcho> новый dns от mrecho в работе [22:09] <jrand0m> круто, mihi, да, я как раз думал ;) [22:09] <kaji> как продвигается dns? — ах [22:09] <jrand0m> MrEcho> твой пост, верно? [22:09] <MrEcho> работаю над постом [22:10] <jrand0m> ок, тем временем, у кого-нибудь есть что сказать по 1) streaming? или перейдем к 2) I2PTunnel, TunnelManager и i2pmgr? [22:10] <lucky> господи... я могу всю жизнь пытаться разобраться в этих зависимостях. [22:10] <wiht> Тогда давайте DNS/NS как тему 11. [22:10] <jrand0m> звучит хорошо, wiht [22:10] * duck входит [22:11] <jrand0m> вечер добрый, duck [22:11] <mihi> по 1: я закоммитил код для i2ptunnel, использующего streaming api [22:11] <jrand0m> ах да, отлично, mihi :) [22:11] <lucky> привет, duck [22:11] * twosandals вышел из IRC (Leaving) [22:11] <kaji> jrand0m, могут ли несколько сервисов использовать один и тот же ключ, если они на разных портах? [22:11] <jrand0m> нет, kaji [22:11] <mihi> кстати: почему твои ant-файлы всегда удаляют jar перед пересборкой? [22:11] <jrand0m> mihi> паранойя [22:12] <mihi> крадут у меня время на отладку, я бы сказал ;) [22:12] <jrand0m> kaji> в i2p ключ по сути /и есть/ порт [22:12] <jrand0m> хех [22:12] <kaji> ах [22:13] <jrand0m> mihi> если хочешь это обновить, лишь бы оно собирало jar при изменении class-файлов — ок [22:13] <mihi> если файл новее всех файлов в нем, и можно пропускать иначе. [22:13] <jrand0m> верно [22:13] <mihi> а для паранойи лучше добавить задачу <depends> [22:13] <jrand0m> согласен [22:13] <FillaMent> йо-йо [22:13] <jrand0m> здаров, FillaMent [22:14] <jrand0m> ок, 2) i2ptunnel / tunnelmanager / i2pmgr [22:14] * TC присоединился к #i2p [22:15] <human> я немного подправил, чтобы TunnelManager возвращал id заданий, когда вызываются команды "openclient" или "openserver" [22:16] <jrand0m> офигенно :) [22:16] <human> так приложения, использующие TunnelManager, знают, какое задание закрыть позже, не парся вывод "list" [22:16] <jrand0m> да, мне было некомфортно использовать list и close tunnelmanager’а, так как несколько клиентов могут друг другу всё поломать [22:17] <jrand0m> внесем этот патч сразу после встречи. грасиас, human :) [22:17] <human> это потребовало сделать так, чтобы I2PTunnel.runCommand возвращал что-то (сейчас Property) [22:17] <human> s/Property/Properties/ [22:17] <jrand0m> ага, там есть что поменять прежде, чем внести в код [22:18] <human> но, насколько я понял, mihi предпочёл бы добавить асинхронные колбэки в класс Logging [22:19] <jrand0m> верно — чтобы можно было получать информацию от задач сразу, не дожидаясь завершения [22:20] * mihi вышел из IRC (EOF From client) [22:20] <human> jrand0m: идея такая: пусть I2PTunnel.runCommand() возвращает сразу, а дополнительные сведения получать через колбэки, так? [22:21] <jrand0m> верно [22:21] <jrand0m> чтобы задачи вызывали колбэки всякий раз, когда есть данные для распространения [22:21] * mihi присоединился к #i2p [22:21] <human> ну, имхо, есть еще вопрос: «сколько java-приложений (будут) вызывать I2PTunnel.runCommand() асинхронно?» Все текущие приложения, использующие I2PTunnel (даже через TunnelManager), отлично живут с синхронными (пусть и долгими) вызовами .runCommand(), а делание всего асинхронным только усложнит (имхо) [22:22] * mihi использует через gui [22:22] <human> (ну, "все" — это TunnelManager и приложения, парсящие вывод Tunnel manager’а) [22:22] <jrand0m> да, gui будет висеть, пока команда выполняется [22:22] <mihi> и ввод следующих 3 команд на открытие tunnel блокируется, пока выполняется первая [22:23] <human> mihi: ок, не знал о твоем приложении... тогда нам нужна какая-то развязка :-) [22:24] <human> mihi: асинхронное поведение .runCommand() потребует пересмотра TunnelManager [22:24] <mihi> human: когда (по твоему) должен завершаться runCommand? когда tunnel построен, когда соединение прошло? [22:25] <mihi> "destination unreachable" станет известно уже ПОСЛЕ первой попытки соединения. [22:25] <jrand0m> паттерн команд подразумевает, что execute() возвращает только после завершения [22:26] <mihi> что значит «завершения»? [22:26] <jrand0m> (то есть если следовать паттерну команд, runCommand будет блокировать, пока всё, что нужно для выполнения команды, не завершится) [22:26] <human> mihi: эге, вот в чем вопрос :-) [22:26] <jrand0m> завершение для "server 1234 privkeys" — когда сервер может принимать соединения на порт 1234 [22:26] <human> mihi: ну, для TunnelServer, имхо, он должен возвращать после создания tunnel [22:27] <jrand0m> завершение для "client 234 peer" — когда соединение на порт 234 успешно достигает peer [22:27] <jrand0m> по крайней мере, я так думаю [22:27] <mihi> как определить второе? [22:27] <jrand0m> не настаиваю [22:27] <jrand0m> возможно, ping? [22:27] * Sciatica присоединился к #i2p [22:28] <mihi> а если peer упадет сразу после ping? [22:28] <mihi> имхо невозможно писать сетевые приложения без колбэков [22:28] <jrand0m> верно [22:28] <mihi> либо куча потоков, а я предпочитаю колбэки потокам, синхронизированным до смерти [22:29] <jrand0m> возможно, он должен возвращать только после того, как сможет /попытаться/ подключиться? [22:29] <jrand0m> или паттерн команд нам не подходит [22:29] <mihi> именно так сейчас и делает. и какой результат тогда возвращать? [22:30] <mihi> суть в том, что хочется получить результат (не просто int для id соединения) [22:30] <jrand0m> да, для client-команды нужен job (чтобы закрыть позже), а для genkey — нужны публичный и приватный ключ [22:30] * mihi не может придумать другую информацию, известную на тот момент. [22:30] <jrand0m> согласен, я тоже. [22:31] <dup> 0! [22:31] <mihi> и genkey должен ждать? ок, если вы так считаете. [22:31] <human> mihi: ну, что-то вроде статуса ("ok" или "error") и сообщения об ошибках... [22:31] <mihi> human: сообщения об ошибках будут «слишком поздно», имхо [22:31] <mihi> но делайте как хотите... [22:32] <mihi> пока это будет работать и со streaming api потом... [22:32] <jrand0m> боль, которую устраняет human, — это костыли в TunnelManager, который парсит сообщения логгера. но я согласен: пока мы можем раскрывать эту информацию через интерфейс логгирования, всё ок [22:32] <dup> mihi мудр. [22:32] <human> human: что-то можно передать сразу (например, когда порт tunnel еще занят) [22:32] <mihi> human разговаривает сам с собой ;) [22:32] <human> упс! :-) [22:35] <human> может, стоит посмотреть, какие приложения строятся поверх I2PTunnel [22:35] <human> асинхронный интерфейс — это Right Thing(TM), но пользоваться им сложнее [22:35] <jrand0m> Я думаю, будет лучше сохранить ту же функциональность для текущего софта — включая gui. [22:35] <FillaMent> возможно, я влезаю не разобравшись, но может метод, как у многих для HTTP: getHeader(String headerName) [22:35] <FillaMent> смейте меня по мере необходимости [22:35] <FillaMent> smack [22:36] * jrand0m smake'ает FillaMent [22:36] <human> и TunnelManager этого не требует (так как он НИКОГДА не сможет правильно поддерживать асинхронные события по своей природе) [22:36] * kaji у него совсем оффтоп-идея [22:36] * FillaMent смиряется с ролью адвоката =) [22:37] <human> но если приложению mihi нужно мониторить состояние tunnel’ов, тогда асинхронный интерфейс — Must(TM) [22:37] <jrand0m> human> java -jar lib/I2PTunnel.jar\n. Нам нужно поддерживать async. [22:37] <kaji> i2p как java-апплет, чтобы можно было быстро запускать его на чужих компьютерах, зайдя на сайт [22:37] * Sciatica вышел из IRC (EOF From client) [22:37] <human> jrand0m: да, тогда нам нужно переработать TunnelManager :-) [22:37] <jrand0m> kaji> i2p 3.0 :) [22:38] <jrand0m> согласен, human, реализация tunnelmanager была «быстро и грязно» [22:38] <jrand0m> сможешь посмотреть, что для этого нужно сделать? [22:38] * human может добровольно адаптировать TunnelManager к асинхронному интерфейсу, когда он будет готов [22:38] <jrand0m> w00t :) [22:40] <jrand0m> ок, готовы к пункту повестки 3) I2COCP [22:40] <human> иначе можно сделать sync- и async-методы для I2PTunnel [22:40] <jrand0m> верно [22:40] <jrand0m> но дублирование может быть излишним, когда небольшая переработка кода решит задачу [22:41] * baffled вышел из IRC (Leaving) [22:41] <duck> личное беспокойство насчет tunnel’ов: приложения не закрывают их, и весь твой tunnelmanager забивается [22:41] <human> jrand0m: да, нужно выбрать более простой путь — либо переработать TunnelManager, либо добавить новые API в I2PTunnel :-) [22:42] <jrand0m> верно, duck. сейчас нет таймаутов/истечения, и предполагается, что приложения, использующие tunnelManager, ведут себя хорошо (и что у tunnelManager нет багов [ха!]) [22:43] <mihi> к слову о новых api: должны ли классы Streaming api «заменить» старые, или нужно поддерживать оба (с разными командами)? [22:43] <jrand0m> mihi> думаю, streaming-версии должны заменить, т. к. когда streaming api стабилизируется, mode=GUARANTEED уйдет [22:43] <jrand0m> (и, следовательно, старые не будут работать) [22:44] * MrEcho отправил письмо [22:46] <jrand0m> есть еще что-то по обсуждению tunnel’ов? (это, конечно, не конец обсуждений tunnel’ов ;) [22:47] * dup теперь известен как dm [22:47] <jrand0m> ок, I2COCP [22:47] <jrand0m> это то, что предложил human на днях, и кажется, закрывает текущую брешь. но думаю, стоит отложить реализацию, пока не появится то, что захочет это использовать :) [22:48] <wiht> Это несколько длинное имя, даже в аббревиатуре. [22:48] * jrand0m теперь называет I2COCP «Wilma» [22:48] <human> jrand0m: ну, я собирался написать те же слова :-) [22:48] <jrand0m> хех, круто [22:49] <jrand0m> ок, переходим к 4) roadmap [22:49] <human> jrand0m: имхо, в общем, должен быть способ у non-java приложений иметь более-менее полный доступ к сети I2P [22:49] <jrand0m> согласен [22:49] <jrand0m> предполагается, что они будут использовать I2CP [22:50] <jrand0m> (как и все java-приложения, включая i2ptunnel и библиотеку streaming) [22:50] <human> jrand0m: да [22:50] <MrEcho> I2PDNS "Janessa" [22:50] <jrand0m> но ты прав, им тоже нужен streaming, так что либо tunnelmanager->i2ptunnel, либо i2cocp->streaming lib [22:50] * jrand0m никогда не встречал Janessa [22:51] * Sciatica присоединился к #i2p [22:51] <jrand0m> итак, да, roadmap обновлён. больших изменений нет, кроме сдвига 0.3 и 0.3.1 на 2 недели, добавления информации о 2.0 и некоторых критериев 1.0 [22:51] <human> jrand0m: да, должны быть протоколы, похожие на "TCP" и "UDP" для I2P, с полным репортингом событий протокола, доступные из non-java приложений [22:52] <MrEcho> human, звучит хорошо [22:52] <jrand0m> Хочу, чтобы были все возможные интерфейсы, но не хочу переобязаться поддержкой слишком многих [22:52] * human хотел I2COCP (или как там) для своего I2P транспорта на twisted (см. http://www.twistedmatrix.com/), но пока с радостью обойдет это костылями вокруг TunnelManager :-) [22:53] * w0rmus вышел из IRC (Lost terminal) [22:53] <jrand0m> так и лучше пока [22:54] <jrand0m> ок, есть комментарии по roadmap? [22:55] <jrand0m> [здесь ничего нет, ла-ла] [22:55] <jrand0m> ок, 5) i2pIM [22:55] <jrand0m> thecrypto здесь нет, так что подождем поста в i2p@ с обновлениями :) [22:55] <wiht> У нас теперь есть Jabber, если не ошибаюсь. Все еще нужен i2pIM? [22:55] <jrand0m> да [22:55] <jrand0m> у jabber есть сервер, который получает открытый текст. [22:56] <wiht> О. Хорошо, тогда; я этого не знал. [22:56] <jrand0m> это два минуса (сервер и открытый текст) [22:56] <jrand0m> хотя для некоторых задач это хорошее решение, конечно [22:56] <jrand0m> утром думал: если бы мы могли объединить i2pIM и i2psnark, это было бы хорошо. [22:57] <jrand0m> (но по одной вещи за раз) [22:57] <jrand0m> к слову о наболевшем, 6) i2psnark :) [22:57] <human> jrand0m: я иногда использовал jabber с gnupg... [22:57] <jrand0m> для чатов >2 человек? [22:58] <jrand0m> для один-на-один полностью согласен, есть готовые решения [23:01] <jrand0m> ок, к веселому, 7) представляем I.Toopie :) [23:01] <human> как бы ты реализовал шифрованные чаты >2 человек? общий приватный ключ? [23:01] <jrand0m> да, human [23:01] <jrand0m> или через n! общих ключей в группе [23:02] <human> ну, может, это можно сделать поверх существующего протокола jabber... [23:02] <mihi> human: общий симметричный ключ, отправленный всем участникам [23:02] <jrand0m> сложность — обработка присоединений и уходов — ротация ключей и пр. [23:03] * Sciatica вышел из IRC (Ping timeout) [23:03] <jrand0m> это совсем не тривиально. это очень-очень-очень сложно. [23:03] * mihi подтверждает [23:03] * human согласен [23:04] <jrand0m> (поэтому приложение, спроектированное специально для этого, а не попытка прикрутить к другому протоколу, может быть оправдано) [23:04] <jrand0m> но thecrypto лучше опишет свои планы [23:04] <jrand0m> (насколько понимаю, он все еще открыт к идеям, как работать с группами) [23:05] * Sciatica присоединился к #i2p [23:06] <jrand0m> ок, двигаемся дальше :) [дальнейшее обсуждение в i2p@ и т. п.] [23:06] <wiht> А что такое I.Toopee? [23:06] <lucky> талисман... [23:06] <jrand0m> I.Toopie — это парень, держащий желтую маску перед лицом [23:06] * lucky вздрагивает. [23:07] <lucky> ага. [23:07] <lucky> можно увидеть? [23:07] <jrand0m> http://wiki.invisiblenet.net/iip-wiki?I2PLogo [23:07] * mihi_backup вышел из IRC (EOF From client) [23:07] <lucky> я добавил java в очередь компиляции... [23:07] <lucky> но.. лол [23:07] <lucky> у меня уже 7 вещей крутятся [23:07] <lucky> это надолго. [23:08] <lucky> о, мило :P [23:08] <MrEcho> лол [23:08] <jrand0m> было много классных логотипов (не верится, что конкурс логотипов идет уже 3 месяца!), и похоже, у нас есть сильный претендент в лице I.Toopie. простота, концепция и универсальность. [23:08] <jrand0m> и да, он милый ;) [23:08] <mihi> некоторые картинки битые или у меня браузер глючит? [23:08] <jrand0m> да, некоторые битые [23:09] <jrand0m> (их залили на временный хостинг 3 месяца назад) [23:09] <MrEcho> палка I.Toopie теперь вся желтая... [23:09] <MrEcho> поменял прошлой ночью [23:09] <jrand0m> правда? [23:09] <jrand0m> тогда людям стоит ОБНОВИТЬ WIKI [23:09] <jrand0m> ;) [23:09] <MrEcho> хехе [23:09] <MrEcho> у меня больше нет той картинки.. сорри [23:10] <wiht> Я вижу картинки в Opera, но не в Mozilla почему-то. [23:10] <jrand0m> у тебя открывается http://img.villagephotos.com/p/2003-10/437060/badass.webp ? [23:10] <jrand0m> (это одна из картинок на той странице) [23:11] <duck> Access Denied (User Account Disabled) [23:11] <jrand0m> да, у меня тоже. [23:11] <MrEcho> а у меня видно [23:11] <jrand0m> но да, DrWoo сделал крутую работу с I.Toopie [23:11] <MrEcho> moz 1.5 [23:11] * soros вышел из IRC (EOF From client) [23:11] * mihi_away присоединился к #i2p [23:11] * lucky вышел из IRC (EOF From client) [23:12] <jrand0m> у меня тоже, MrEcho. Странно. [23:12] <wiht> MrEcho: У меня Mozilla 1.4. [23:12] <jrand0m> (у меня тоже moz 1.5 и я получаю access denied) [23:13] * jrand0m ждет значок в трее с i.toopie :) [23:13] <jrand0m> ок, переходим к 8) chess server [23:14] * Sciatica вышел из IRC (Ping timeout) [23:14] * ion вышел из IRC (Ping timeout) [23:14] <jrand0m> последний hosts.txt (http://i2p.dnsalias.net/i2p/hosts.txt) содержит ссылку на chess.fillament.i2p [23:14] <jrand0m> можно использовать любой FICS-клиент или просто telnet туда и играть :) [23:14] <jrand0m> (ура) [23:15] <kaji> есть хороший fics-клиент для windows? [23:15] <jrand0m> не знаю, я в итоге использовал telnet [23:15] <wiht> eboard подойдет? [23:15] <jrand0m> (у которого довольно крутая кривая обучения для команд) [23:15] * ion присоединился к #i2p [23:16] <jrand0m> не знаю [23:16] * BpX присоединился к #i2p [23:16] <wiht> Попробую позже. [23:16] <jrand0m> круто, если сможешь отписаться о результатах, будет здорово [23:17] <jrand0m> ок, 9) DHT [23:17] * wilde вышел из IRC (Ping timeout) [23:17] <jrand0m> у нас все еще нет dht, но возможно, вот наводка на то, что можно начать портировать [23:18] <jrand0m> (он использует UDP, так что заставить его использовать I2CP будет нетрудно) [23:18] <MrEcho> dht??? [23:18] <MrEcho> вылетело из головы [23:18] <jrand0m> MrEcho> см. [10] в письме ;) [23:18] <jrand0m> http://wiki.invisiblenet.net/iip-wiki?DHT [23:18] <Nightblade> entropy достаточно как временное решение [23:18] <jrand0m> согласен [23:19] <jrand0m> хотя думаю, нужно смотреть и на долгосрочное решение [23:19] * soros присоединился к #i2p [23:19] * lucky присоединился к #i2p [23:20] * human волнуется насчет совместимости gcj/kaffe с DHT вроде Bamboo (http://bamboo-dht.org/) [23:20] <jrand0m> да, bamboo — 1.4 [23:20] <MrEcho> афк [23:20] <jrand0m> в этом прелесть i2cp — router и tunnel’ы можно собрать gcj, а вещи, которые их используют, могут быть какими угодно [23:21] <jrand0m> это /исключительно/ для приложения — не часть ядра [23:21] <jrand0m> просто думаю о вещах, которые помогут конечным пользователям, скачавшим i2p, сразу сделать что-то полезное [23:22] <jrand0m> (возможность анонимно публиковать очень устойчивый к цензуре контент — это полезно) [23:22] <jrand0m> s/uncensorable/very censorship resistant/ [23:23] <human> jrand0m: ах, ок — я думал, что bamboo заменит Kademlia для NetworkDB :-) [23:23] <Nightblade> squid-прокси — это то, что они могут делать... для пользователей, например, в Китае это было бы очень полезно [23:23] <jrand0m> Nightblade> верно, но squid не масштабируется [23:24] <Nightblade> да, было бы интересно иметь что-то вроде распределенного JAP [23:24] <jrand0m> согласен [23:24] <jrand0m> так что это еще одна вещь, в которую было бы здорово, если бы люди покопались :) [23:24] <mihi> Nightblade: проблема — обработка абуз — я не буду открывать свой бокс для любого исходящего http [23:24] <jrand0m> уверен, некоторые люди будут [23:25] <Nightblade> с дополнительной частью, где отдельный узел может выбирать, какие сайты он хочет проксировать для людей... клиент может отправить запрос на "whitehouse.com", и один из узлов, который делает проксирование и разрешает этот url, ответит [23:25] <Nightblade> да, вероятно, нужны какие-то средства контроля доступа [23:25] <Nightblade> черный или белый список [23:25] <jrand0m> верно [23:25] <Nightblade> доменных имен [23:26] <jrand0m> это система "exit policy". хотя это целый отдельный проект [23:27] <MrEcho> это могло бы ехать поверх DNS-системы... полагаю [23:27] <jrand0m> безусловно [23:27] <wiht> mihi: А если ограничить пропускную способность? Или это сайты, к которым обращаются, могут создать проблемы? [23:27] <MrEcho> но сильно позже, лол [23:27] <jrand0m> wiht> многие провайдеры явно запрещают запуск любых серверов [23:28] <MrEcho> verizon глючит с портом 21 точно... [23:28] <wiht> jrand0m: О. Да, это проблема. [23:28] <Nightblade> должен быть способ для клиентов запрашивать сайты, которые им нужно скачать.. Широковещательные запросы — не очень хорошее решение, особенно в i2p [23:29] <mihi> wiht: проблема — сайты, к которым можно получить доступ. вспомни иск против JAP некоторое время назад. /me живет в той же стране [23:29] <jrand0m> согласен. хотя широковещание невозможно без грубой силы по ключевому пространству ~2^2300 ;) [23:30] <jrand0m> верно, mihi, люди в репрессивных режимах не смогут безопасно запускать outproxy [23:30] <wiht> mihi: Что это был за иск? Не помню. [23:30] * dm вышел из IRC (Ping timeout) [23:30] <Nightblade> я имею в виду, даже если у тебя есть список направлений, предоставляющих веб-прокси, ты не захочешь рассылать запрос всем [23:30] <jrand0m> верно, Nightblade [23:30] <Nightblade> я про широковещательный запрос [23:31] <mihi> проблема в том, что кто-то заходил на детский порно-сайт, и это шло через прокси JAP, и они не могли сказать, откуда пришел запрос. это трактовали как вмешательство в работу полиции [23:31] <jrand0m> можно посмотреть crowds или rewebber — другие проекты, которые работали над этой задачей [23:31] <wiht> mihi: А, спасибо за объяснение. Теперь понимаю, почему ты обеспокоен. [23:31] * mihi_away вышел из IRC (Ping timeout) [23:31] <mihi> и сделали изменение в софте jap, позволяющее ловить людей. которое потом убрали [23:32] <wiht> Точнее, понимаю, почему ты обеспокоен. [23:32] <mihi> в итоге оказалось, что JAP не обязан раскрывать данные, но я не хочу знать, сколько стоили юристы... [23:32] <Nightblade> да, но разве полиция не изъяла информацию в любом случае? [23:32] <jrand0m> да [23:33] <mihi> изъяли... [23:33] <jrand0m> в любом случае, и масштабируемый DHT, и масштабируемый веб-прокси были бы Очень Хорошими Вещами к 1.0 [23:34] <mihi> и они не могут отдать ее обратно, да? [23:34] * BpX вышел из IRC (Ping timeout) [23:36] * Sciatica присоединился к #i2p [23:36] <jrand0m> ок, что-то еще по пункту 9? или переходим к 10/11) NS/DNS? [23:36] <wiht> Я хотел бы кратко сказать про установщик после темы 10. [23:37] <jrand0m> 'к давай это сейчас, так как NS/DNS может быть не супер-кратко? ;) [23:37] <wiht> Хорошо. У router есть скрипт запуска и скрипт остановки. [23:37] <jrand0m> верно [23:37] <wiht> Я бы хотел, чтобы все сервисы были сделаны так — чтобы были и скрипт запуска, и скрипт остановки. [23:37] <jrand0m> у большинства так и есть [23:37] <jrand0m> разве нет? [23:38] <jrand0m> ах, нет стоп-скриптов [23:38] <wiht> Нет, только у router. [23:38] <wiht> Тогда нужные сервисы можно было бы запускать при старте компьютера, как router. Я написал об этом в список рассылки. [23:38] <jrand0m> aum работает над i2pmgr, это будет консольный и gui-центр управления сервисами и самим router [23:38] <wiht> Предположим, я хочу стартовать eep и nntp при загрузке. Сейчас я не могу. [23:39] <jrand0m> верно, пришлось бы делать nohup startEepProxy.sh & [23:39] <wiht> Кстати, где эти скрипты в CVS? [23:39] <MrEcho> ок, я вернулся [23:39] * mihi_away присоединился к #i2p [23:39] <jrand0m> wiht> скрипты в Install.java (он же «костыльно») [23:39] <wiht> jrand0m: Спасибо./ [23:40] <jrand0m> но верное замечание, хотим, чтобы запуск при старте был максимально прост, как и запуск по требованию [23:41] <jrand0m> ок, к 10/11) ns/dns [23:41] <MrEcho> ну, посмотрите мое письмо [23:41] <MrEcho> есть пара вещей, которые я забыл туда добавить [23:41] <jrand0m> к сожалению, твое письмо криво отобразилось на веб-интерфейсе :/ [23:41] <MrEcho> типа «временных» имен [23:41] <MrEcho> ?? [23:42] * Sciatica вышел из IRC (Ping timeout) [23:42] * ion вышел из IRC (Ping timeout) [23:42] <jrand0m> MrEcho> http://i2p.dnsalias.net/pipermail/i2p/2004-January/000072.html [23:42] <MrEcho> из-за гифа, наверно [23:42] <MrEcho> блин.. я подписал [23:43] <MrEcho> извиняюсь [23:43] <jrand0m> список рассылки вообще-то только для текста. pgp-подписи ок (другие слали подписанное) [23:43] <kaji> какой хороший бесплатный маленький антивирус? [23:43] * ion присоединился к #i2p [23:43] <jrand0m> kaji> linux [23:43] * Sciatica присоединился к #i2p [23:43] <wiht> ЛОЛ. [23:43] <kaji> который пойдет на моем железе [23:43] <wiht> kaji: Попробуй AVG Antivirus for Windows. [23:44] * MrEcho_ присоединился к #i2p [23:44] * MrEcho вышел из IRC (EOF From client) [23:44] <MrEcho_> чертов iip [23:44] <jrand0m> MrEcho / (и все интересующиеся вопросом NS/DNS)> читали http://zooko.com/distnames.html ? [23:44] <MrEcho_> j, переслать письмо? [23:44] <jrand0m> в список оно прошло нормально, просто в веб-архиве криво легло [23:44] <MrEcho_> ага [23:45] <wiht> jrand0m: Я еще не читал. [23:45] <MrEcho_> гляну позже [23:45] * mrflibble присоединился к #i2p [23:45] <jrand0m> для тех, кто не в списке, я сохранил письмо MrEcho_ тут: http://i2p.dnsalias.net/~jrandom/mrecho_dns.txt [23:46] <MrEcho_> спасибо, J [23:46] <kaji> отстой, он хочет адрес эл. почты [23:46] <jrand0m> меня волнуют безопасность и масштабируемость службы имен. как только найдем решение, удовлетворяющее этим требованиям, отлично, но пока не нашли — осторожнее с промежуточными решениями. [23:47] <jrand0m> kaji> списки рассылки обычно хотят адрес эл. почты, да ;) [23:47] <kaji> я про AVG Antivirus [23:47] <jrand0m> о ;) [23:48] <wiht> У MrEcho есть несколько хороших идей, которых не было в моей спецификации, например, бан «плохих» клиентов. [23:49] <MrEcho_> не совсем список банов [23:49] <jrand0m> когда будет 1000 клиентов, значит ли это, что понадобится 125 запросов, чтобы найти значение? [23:49] <MrEcho_> нет [23:49] <wiht> Не список, но бан плохих клиентов — того у меня не было. [23:50] <MrEcho_> 2-4 клиента для проверки [23:50] <jrand0m> то есть у каждого клиента будет 250 записей? [23:50] * mihi_away теперь известен как mihi_backup [23:50] <MrEcho_> нет [23:50] <wiht> В моей схеме — один lookup, возможно, пересылаемый пару раз до авторитетного сервера. [23:50] <MrEcho_> у клиентов будет только то, что им нужно [23:51] <MrEcho_> будет опрашивать других клиентов, пока не получит данные, совпадающие для проверки [23:51] <jrand0m> то есть с 4 пирами он делает случайный поиск, и в среднем уйдет 125 запросов [23:51] <jrand0m> (1000/4/2) [23:51] <jrand0m> или пиры — это DHT? [23:52] <jrand0m> (с каким-то протоколом обслуживания?) [23:52] <jrand0m> или дерево поиска? [23:52] <MrEcho_> отчасти да [23:52] <MrEcho_> будет отсечка по поискам клиента, просто пойдет запрос к MS [23:53] <jrand0m> безопасное распределенное именование — хорошо изученная проблема — чтобы твое предложение было проще анализировать на безопасность и масштабируемость, можно делать сравнения и валидировать вариации других подходов? [23:54] <MrEcho_> если не найдет / или не получит достаточно данных от Clients за заданный диапазон, тогда просто спросит MS. [23:54] <jrand0m> как сейчас, деталей недостаточно, чтобы я был уверен в масштабируемости или безопасности архитектуры. не то чтобы это не могло сработать, просто я пока этого не вижу. [23:54] <MrEcho_> можешь перестать печатать на секунду [23:54] * jrand0m перестал печатать. [23:55] <MrEcho_> оно будет работать.. будет масштабируемость, будет безопасность [23:56] <MrEcho_> чем больше пользователей, тем лучше [23:56] <jrand0m> то есть «поверь мне», а? [23:56] <MrEcho_> ты доверяешь Internet DNS? [23:56] <jrand0m> для некоторых задач. [23:57] <jrand0m> для многих — нет. [23:57] <jrand0m> (правительствам и т. п. достаточно легко заставить менять записи — суды регулярно приказывают регистраторам обновлять) [23:58] <MrEcho_> единственный другой способ — иметь огромные списки Names и кучу крипты на каждом клиенте [23:58] <MrEcho_> и быть динамичным.. забудь [23:59] * mrflibble вышел из IRC (EOF From client) [23:59] <jrand0m> предлагаю перечитать статью zooko перед продолжением и ответить на его последний пункт 5 ("почему я не прав") Session Time: Wed Jan 07 00:00:00 2004 [00:01] <jrand0m> ок, пожалуй, всё по пункту 10/11 (многое еще обсудим, конечно) [00:02] <jrand0m> у кого-то есть еще мысли и т. п.? [00:02] <wiht> Да. [00:03] <jrand0m> поделишься с классом? :) [00:03] <wiht> Я перепишу спецификацию, которую писал. Хочу использовать локальный SQL-сервер для хранения данных, не файлы. [00:03] <jrand0m> ах, круто [00:03] <jrand0m> (те же опасения и к твоей спецификации — если сможешь ответить на последний вопрос zooko, это ключ :) [00:03] * mrflibble присоединился к #i2p [00:03] <wiht> Пусть MySQL или аналогичный сервер управляет хранением, а Java обращается к нему. [00:04] <duck> гм? спеки zooko? [00:04] <wiht> Думаю, так проще реализовать. [00:04] <jrand0m> duck> не, я просто указываю людям на его старую статью "Names: Decentralized, Secure, Human-Meaningful: Choose Two" [00:04] <duck> а, это [00:04] <Nightblade> wiht: что это за спецификация (я пропустил много встречи)? [00:04] * MrEcho присоединился к #i2p [00:04] <jrand0m> (куда проще, чем заново объяснять, почему суперноды/централизованные серверы — страшные проблемы безопасности ;) [00:05] * MrEcho_ вышел из IRC (EOF From client) [00:05] * mihi тоже хочет кое-что для лога ;) [00:05] <mihi> кое-что подлиннее ;) [00:05] <mihi> *** Результаты I2Ping: [00:05] <mihi> + + + eco.i2p [00:05] <mihi> + - - jabber.duck.i2p [00:05] <mihi> - + + i2pcvs.i2p [00:05] <mihi> - + + duck.i2p [00:05] <mihi> - + - jap.eco.i2p [00:05] <jrand0m> Nightblade> это постилось в iip-dev, кажется... в августе? [00:05] <mihi> - + + irc.duck.i2p [00:05] <mihi> - + + human.i2p [00:06] <mihi> - - + nntp.duck.i2p [00:06] <mihi> - - - tc.i2p [00:06] <mihi> - - - dyad.i2p [00:06] <mihi> - - - bozo.i2p [00:06] <mihi> - - - ogg.aum.i2p [00:06] <mihi> - - - fcp.entropy.i2p [00:06] <mihi> - - - http.entropy.i2p [00:06] <Nightblade> jrandom: о, до моего времени.. :) [00:06] <mihi> - - - www.mail.i2p [00:06] <mihi> - - - mp3.aum.i2p [00:06] <mihi> - - - smtp.mail.i2p [00:06] <wiht> Nightblade: Я выложил 15 сентября. [00:06] <mihi> - - - pop.mail.i2p [00:06] <mihi> - - - mp3.tc.i2p [00:06] <mihi> - - - lp.i2p [00:06] <mihi> - - - kaji.i2p [00:06] <mihi> - - - nm.i2p [00:06] <mihi> - - - squid.i2p [00:06] <mihi> - - - chess.fillament.i2p [00:06] <mihi> - - - mesh.firerabbit.i2p [00:06] <mihi> - - - nightblade.i2p [00:06] <mihi> - - - aum.i2p [00:06] <MrEcho> блин, кто-нибудь живой? [00:06] <mihi> - - - fillament.i2p [00:06] <mihi> *** Завершено. [00:06] <mihi> почему столько хостов лежат...? [00:06] * jrand0m сейчас не держу свои сервера [00:07] <FillaMent> Я могу подключиться к себе и по eep, и к chess [00:07] * mrflibble вышел из IRC (Ping timeout) [00:07] <jrand0m> о, постой, i2pcvs поднят, круто [00:07] <Nightblade> mihi: мой не поднят, потому что i2ptunnel у меня падает через несколько часов [00:07] <mihi> значит, у меня router сломан (или это обычные I2P-проблемы...) [00:08] <jrand0m> правда, Nightblade? пожалуйста, репорть падения i2ptunnel (хорошо бы в bugzilla) [00:08] <Nightblade> это в bugzilla [00:08] <lucky> привет [00:08] <Nightblade> ща... [00:08] <FillaMent> Nightblade: какой JVM? [00:08] <Nightblade> #39 [00:08] <wiht> Мой router работает уже более 12 часов, хотя были проблемы с регистрацией. [00:09] <Nightblade> java version "1.4.2-p5" [00:09] <Nightblade> на freebsd... может это проблема jvm, не знаю. поддержка java на freebsd не очень [00:09] <jrand0m> ты прав, Nightblade, моя вина [00:09] <jrand0m> это тот нечастый баг i2cp [00:09] <jrand0m> у тебя стабильно воспроизводится? [00:09] <Nightblade> router очень стабилен, только серверный tunnel i2ptunnel шалит [00:09] <Nightblade> да, было несколько раз [00:10] <Nightblade> недавно не пробовал [00:10] * jrand0m только что стянул eepsite fillament’а [00:10] <jrand0m> (с первой попытки, только заметил, что окно завершилось) [00:10] <FillaMent> Да, я только что болтал с duck по jabber, wiht пытается зайти на chess [00:10] <jrand0m> ах, круто [00:10] <jrand0m> но да, в сети еще есть проблемы с надежностью [00:10] * FillaMent подталкивает людей приложенной подмигивающей: «Он, вероятно, захочет сыграть.» [00:10] * human’ов eepsite все еще работает — значит 'killall java' и правда помог... :-) [00:10] <wiht> Я только что успешно подключился к chess server. [00:10] <duck> да? [00:11] <jrand0m> лол, FillaMent [00:11] * mrflibble присоединился к #i2p [00:12] <Nightblade> безопасно ли гонять cvs-версию i2p [00:12] <jrand0m> /me успешно тянет у human "1984-2004: twenty years of GNU!" :-) [00:12] <jrand0m> да, Nightblade [00:12] <FillaMent> не смог получить eco... [00:12] <Nightblade> ок, возможно, попробую [00:12] <duck> с freenet всегда стоит гонять последнюю cvs-версию! [00:13] <duck> только тогда она без багов [00:13] <duck> s/freenet/i2p/ [00:13] * jrand0m стянул eco.i2p [00:13] <FillaMent> только что получил duck [00:13] <jrand0m> "Jan 4: First field test of I2PSnark. Pretty catastrophic: no transfer at all. Guess my single router test environment wasn't very representative :-) Back to the drawing board... " [00:13] <jrand0m> упс [00:13] <duck> ну, вообще-то работало [00:13] <duck> ardvark смог snark’нуть что-то у меня [00:14] <jrand0m> bt заранее создает файлы — файлы были валидные? [00:14] <duck> но ze узнал на следующий день [00:14] <duck> потому что это было заретушировано в логах [00:14] <jrand0m> что, логи, которые i2p генерирует, довольно безумные? да нееее [00:14] <duck> нет [00:14] <duck> вывод i2psnark [00:14] <jrand0m> ага [00:15] <duck> вдобавок, подозреваю, что snark делает слишком много churn (как это по-русски?) [00:15] <duck> обычный bittorrent-клиент кажется проще [00:15] <duck> также большие задержки в i2p могут вызывать преждевременные блоки [00:16] * mrflibble вышел из IRC (Ping timeout) [00:16] <duck> и еще нам пришлось несколько раз перезапускать i2ptunnel :/ [00:16] <jrand0m> согласен [00:16] <human> финальный вопрос про I2PTunnel / I2PTunnelManager (да, знаю, я зануда): как насчет моего патча, чтобы "openclient" и "openserver" возвращали осмысленный jobId? [00:16] <jrand0m> так что да, работы полно [00:16] <human> 1. давайте примем его, чтобы TunnelManager работал до тех пор, пока новая асинхронная архитектура не начнет рулить [00:17] <human> 2. твой патч — полный отстой, отвали, и TunnelManager тоже нафиг [00:17] <human> 3. ... [00:17] * MrEcho_ присоединился к #i2p [00:17] * mihi за 3 ;) [00:17] * MrEcho вышел из IRC (EOF From client) [00:17] <jrand0m> 4. давайте посмотрим, как обновить tunnel manager на async? не должно быть сложно [00:17] <jrand0m> патч хороший, но у mihi есть пункт [00:18] <human> jrand0m: да, согласен [00:18] <jrand0m> до 0.3 у нас еще больше недели, так что до следующего полного релиза есть время [00:18] <human> jrand0m: но я сомневаюсь — сколько займет внедрение async-интерфейса в TunnelManager? [00:18] <jrand0m> сам tunnelmanager занял 2 часа, могу добавить async сегодня ночью [00:19] <jrand0m> (нужно только обновить BufferedLogging, чтобы принимал вызовы .set) [00:19] <human> jrand0m: (под «иметь» я тоже имею в виду «иметь реализованным и в I2PTunnel») [00:19] <jrand0m> (или .nofity/etc) [00:19] <jrand0m> верно [00:19] * mrflibble присоединился к #i2p [00:20] <jrand0m> если хочешь, могу начать с твоего патча (который добавляет job id) и слить с обновлениями под async [00:21] <human> jrand0m: я сам могу добавить async-интерфейс в TunnelManager, но интерфейса еще нет :-) [00:22] <jrand0m> верно, просто добавь public void notifyEvent(String eventName, Object value); в Logging.java [00:22] <human> jrand0m: я бы предложил «давайте сольем грязный хак, чтобы jobIds в релизе 0.3 хоть как-то работали, а затем сделаем async-интерфейс» [00:23] <jrand0m> 0.3 еще не скоро [00:23] <mihi> 0.3 должен иметь streaming api в любом случае, не так ли? [00:23] <human> jrand0m: я про худший случай [00:23] <wiht> jrand0m: Может, нужен еще один релиз до 3.0, чтобы уладить эти вопросы? [00:23] <jrand0m> да, mihi [00:23] <mihi> human: худший случай — "cvs rollback && patch -p0 your.patch" [00:24] <jrand0m> ок, так: я сегодня внедрю и закоммичу async, если ты завтра посмотришь, human, и оценишь, что нужно, чтобы твое обновление туда вписать? [00:26] <FillaMent> jrand0m: у тебя есть работа? [00:27] <jrand0m> i2p [00:27] <duck> сделай 1.0! [00:27] <FillaMent> Я имею в виду источник дохода [00:27] <jrand0m> :) [00:27] <FillaMent> за который надо работать [00:27] <jrand0m> доход переоценен. [00:27] * jrand0m уволил своего босса [00:27] <Nightblade> "буду кодить за еду" — мой девиз [00:27] <Nightblade> лол [00:27] <human> mihi: но мне и aum (который пишет python-приложение под TunnelManager) jobIds нужны как можно скорее... [00:28] <human> jrand0m: ок, поработаю над твоими изменениями позже/завтра [00:28] <FillaMent> Работа/деньги, сон/гигиена, еда, пет-проекты, социальная жизнь: выбери любые 3 [00:29] * jrand0m выбирает только одно. [00:29] <jrand0m> ок, human [00:30] <FillaMent> Есть идеи для «просто туннелить до» сервисов, которые было бы неплохо иметь в сети? [00:30] * jrand0m до сих пор хочет telnet-based Adventure :) [00:30] <jrand0m> или waffle bbs [00:30] * duck теперь известен как enduser [00:30] * jrand0m пинает enduser [00:31] <jrand0m> (черт, без опов) [00:31] <FillaMent> Для OS/2 был драйвер, который мог маппить com-порт на TCP-порт =) [00:31] <enduser> что изменится для меня, как для enduser, когда I2PTunnel перейдет на SteamingAPI? [00:31] * enduser теперь известен как duck [00:31] <jrand0m> ничего [00:31] <human> лол [00:31] <FillaMent> FillaMent: мой друг так держал BBS какое-то время [00:31] <jrand0m> производительность и, возможно, анонимность [00:31] * human хотел бы I2P tunnel к rootshell [00:32] <human> добровольцы? :-) [00:32] <duck> rootshell на UML [00:32] <jrand0m> chroot'нутые rootshell’ы были бы хороши [00:32] <jrand0m> или на UML :) [00:32] <FillaMent> human: был бы лишний бокс, сделал бы [00:32] <jrand0m> хех, FillaMent [00:32] <duck> vnc-подключение к моему vmware win98? [00:32] <FillaMent> ребята, серьезно... [00:32] <wiht> E-mail сервер тоже был бы неплох. Или он уже есть? [00:32] <FillaMent> wiht: кажется, у TC есть pop и SMTP [00:33] <jrand0m> это aum, но они офлайн, так как бокс офлайн [00:33] * human мог бы предложить telnet-аккаунты на своем GNU/Hurd... [00:33] <jrand0m> оОоо [00:33] <FillaMent> ну, я пока не горю желанием поднимать открытый SMTP [00:33] <jrand0m> понятно [00:34] <FillaMent> может, когда сеть станет стабильнее, и будут деньги на апгрейд полосы [00:34] <wiht> Как насчет PGP keyserver? [00:34] <mihi> FillaMent: можно поднять tunnel на cleartext remailer [00:34] <FillaMent> wiht: вот ЭТО отличная идея =) [00:35] <FillaMent> mihi хех... могу просто направить tunnel на SMTP моего ISP =) [00:35] <mihi> FillaMent: тогда за абузы будешь ответить *ты*... [00:35] <mihi> s/be// [00:35] <duck> http://www.mit.edu/people/marc/pks/pks.html [00:36] <duck> серьезно, стоит ли Duck Enterprises подумать о запуске pgp keyserver? [00:37] <FillaMent> duck: я сам туда поглядывал... хочешь взяться? [00:37] <duck> мы были одним из самых стабильных провайдеров сервисов по независимым ping-логам mihi [00:37] <jrand0m> хехе [00:37] <wiht> duck: да, пожалуйста, подумай об этом. [00:37] <jrand0m> кстати, duck, как ты это делаешь? перезапускаешь периодически или просто OS и JVM надежные? [00:38] <FillaMent> вопрос: кэширует ли JVM DNS-резолвы? [00:38] <duck> перезапуск — для обновлений ядра [00:38] <jrand0m> да, но можно грязно обойти это, FillaMent [00:38] * wiht отмечает, что встреча идет уже 2ч40м. [00:38] <jrand0m> ой да [00:39] * mrflibble тянет руку [00:39] <jrand0m> эм, лог встречи будет огромный. а я думал, что выкладывание инфы заранее /сократит/ встречу [00:39] <jrand0m> что там, mrflibble? [00:39] <FillaMent> jrand0m: ок... у меня без даунтайма, но IP периодически меняется... скрипт dyndns обновления крутится раз в час, так что максимум 60+~10 минут мой именованный адрес может не указывать на мой IP... [00:39] <FillaMent> как это скажется на присутствии моего router в сети? [00:40] <mrflibble> мой бокс может подойти для какого-нибудь демона [00:40] <jrand0m> круто, FillaMent, не должно быть проблем, если указываешь на свой dyndns [00:40] <wiht> mrflibble: демона? [00:40] <mrflibble> зависит от того, сколько полоси будет есть [00:40] <mrflibble> «daemony» [00:40] <jrand0m> понятно, mrflibble — router у тебя работает стабильно, или ты просто добрый самаритянин? :) [00:41] <mrflibble> не очень, но это потому, что моя локалка забита сейчас [00:41] <mrflibble> на colo еще не гоняю [00:41] <mrflibble> хочу поковырять локально сначала [00:41] <jrand0m> ах, ясно. да, i2p пока не готов для широкого развёртывания, в основном для тестов [00:42] <FillaMent> Хех.. направлю tunnel на мой CUPS, и будет анонимная печать =) [00:42] <jrand0m> рофл [00:42] <mrflibble> если есть что-то, что хотите, чтобы я гонял, и это <40 ГБ/мес, скажите [00:42] <FillaMent> просто добавлю титульную страницу, чтобы знать, куда слать бумагу :) [00:42] <mrflibble> хехе [00:43] <jrand0m> отлично, mrflibble, уверен, воспользуемся :) [00:43] <mihi> banner | lpr ? ;) [00:43] <FillaMent> mihi, в CUPS можно настроить титульную страницу [00:43] <mrflibble> окей! [00:43] <mihi> banner, вероятно, напечатает кучу страниц ;) [00:43] <jrand0m> ок, прежде чем мы перейдем к шлюзу mixminion->принтер->почта, давайте закрывать встречу ;) [00:44] * jrand0m готовит *baf*'ер [00:44] * jrand0m *baf*'ает встречу закрытой.