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

Присутствовали: aum, deer, jrandom, mihi

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

13:12 < jrandom> повестка дня: 13:12 < jrandom> 0) привет 13:12 < jrandom> 1) административные вопросы 13:13 < jrandom> 2) статус 0.3 13:13 < jrandom> 3) профилирование/выбор пиров 13:13 < jrandom> 4) веб-архитектура 13:13 < jrandom> 5) ??? 13:13 < jrandom> 0) привет 13:13 * jrandom машет всем 13:14 < deer> * jrandom_ машет из i2p 13:14 < deer> * wilde даёт пять 13:15 < deer> <ughabugha> Привет! 13:15 < deer> * duck читает 13:15 < deer> <human> йо! 13:16 < jrandom> ок, сорри за задержку с выкладкой заметок о статусе на (http://i2p.net/pipermail/i2p/2004-March/000165.html) 13:18 < jrandom> 1) административные вопросы 13:19 < jrandom> для простоты и чтобы избежать проблем, которые у нас были на прошлой неделе из‑за «капризов» разных сетей, сделали немного магии, и эта встреча идёт сразу в трёх irc-сетях 13:19 < deer> <duck> (потрясающе!) 13:19 < jrandom> iip’s #i2p, i2p irc-сеть duck/baffled — #i2p, и freenode — #i2p 13:19 < jrandom> :) 13:19 < deer> <baffled> кто параноик? 13:20 < deer> <ughabugha> Ок, закончил читать заметки о статусе. 13:20 < deer> <ughabugha> jrandom: И что по ним? 13:20 < deer> <ughabugha> Или по ним всем? 13:21 < jrandom> просто упомянул, чтобы те, у кого проблемы с одной сетью, могли использовать другую 13:21 < deer> <mihi> ок. тоже закончил со статусом 13:21 < jrandom> ещё: сервер с Drupal должен вернуться онлайн на этих выходных (скрещиваю пальцы) 13:22 < deer> <ughabugha> Понял. Есть что обсудить по пункту 1)? 13:22 < deer> <ughabugha> Или ждём, пока все дочитают? 13:22 < deer> <ughabugha> jrandom: Хорошо. :) 13:22 < jrandom> нет, если только у кого-то нет своих административных вопросов 13:23 < deer> * mihi хочет поставить флажок на пункте 3 13:23 < jrandom> флажок поставлен ;) 13:23 < deer> * duck на пункте 2 13:23 < deer> <duck> эмм, какой индекс используем? 13:24 * jrandom полагает, что можно перейти к пункту повестки 2) статус 0.3 13:25 < jrandom> я в итоге набрал куда больше текста, чем обычно, для заметок по статусу 0.3, так что, вместо повторения, есть у кого вопросы/опасения, которые стоит поднять? 13:25 < deer> <ughabugha> Давай. 13:26 < deer> <duck> почему расшифровка ElGamal/AES+SessionTag слишком часто проваливается? 13:26 < jrandom> duck> из‑за перегрузки и лагов. если garlic-маршрутизированное сообщение задерживается дольше времени жизни этого sessionTag, расшифровка провалится 13:27 < deer> <duck> к 13:27 < jrandom> кроме того, если garlic-маршрутизированное сообщение расшифровалось нормально, но содержимое задержалось так, что cloves истекли, это тоже впустую потраченная расшифровка 13:28 < deer> <duck> почему-то это предложение заставило меня подумать, что есть причина помимо перегрузки/лагов 13:28 < deer> <tro|l> ce zi e azi? 13:28 < jrandom> ну, были проблемы с тем, что source routed reply blocks не расшифровываются, но поскольку их не будет в 0.3.1, не особо стоит их отлаживать 13:29 < deer> <kaji> вау, это работает! 13:29 < jrandom> (и фейл ElG — это, наверное, самая CPU‑затратная штука в i2p) 13:30 < deer> <jrandom_> хех, добро пожаловать в i2p #i2p :) 13:30 < deer> * kaji хвалит 0.2.5.1 13:30 < deer> <jrandom_> 0.2.5.1? ёмаё, ставь 0.2.5.4 :) 13:30 < jrandom> ок, что-нибудь ещё по статусу 0.3? 13:31 < deer> <kaji> .. 13:31 < deer> <duck> . 13:31 < deer> <kaji> пинг? 13:31 < jrandom> p0ng 13:31 < mihi> pung 13:31 < deer> <mihi_backup> pung2 13:32 < deer> <Pellinore> prawn 13:32 < jrandom> ок, переходим к 3) профилирование/выбор пиров 13:32 * mihi переносит флажок на другой номер 3 ;) 13:32 < jrandom> (блин, забавно, что нет никаких вегетарианских заменителей морепродуктов...) 13:32 < deer> * kaji хвалит 0.2.5.4.1 13:32 < deer> <duck> вся эта тема с профилированием пиров выглядит как магия, как ты собираешься это отлаживать? 13:32 < deer> <Pellinore> Есть вегетарианское «крабовое мясо». 13:32 < jrandom> ах да, верно, pellinore. 13:32 < deer> <wilde> jrandom: и вег-суши 13:33 < jrandom> duck> какая часть выглядит как магия? 13:33 < deer> <duck> вся классификация и т.д. 13:33 < deer> <Pellinore> И, кажется, я видел какой-то заменитель рыбного филе типа chik, но могу ошибаться. 13:33 < deer> <duck> То есть, как ты узнаешь, что делаешь оптимальные вещи? 13:33 < jrandom> «организатор пиров» (который переносит профили между группами) — очень простой и отделяемый компонент 13:33 < jrandom> о, хороший вопрос. 13:34 < jrandom> я на днях бенчмаркил организатор на 10,000 профилях — он всё раскладывал за ~50ms 13:34 < jrandom> (organizing == runningthe calculators и перемещение между группами) 13:34 < jrandom> профили занимают всего ~3-4KB для полного профиля, и ~200 байт для минимального 13:35 < deer> <duck> да, но откуда ты берёшь «0.597s reply» для группы 1 13:35 < deer> <duck> а не, скажем, 0.603s 13:35 < jrandom> (так что будем держать полный профиль для лучших 1000 пиров и минимальный для следующих 10,000) 13:35 < jrandom> ах, ок, хороший вопрос. 13:36 < jrandom> это компонент Rate 13:36 < jrandom> очевидно будет «дрожание», и мы не будем очень точны. цель — получить порядок величин и разложить их соответственно 13:37 < deer> <duck> я видел, что он использует средние 13:37 < jrandom> например, найти routers на T3 с quad procs и держать их отдельно от routers на 386 с модемами 2400 bps 13:37 < deer> <duck> то есть если ты добавишь 100 паршивых узлов, они сильно повлияют на среднее 13:37 < jrandom> согласен — есть два аспекта, которые можно подкрутить 13:38 < jrandom> во‑первых, можно сделать пороги на основе топ‑10% для разделения «fast» vs «not fast» 13:38 < jrandom> (или топ‑90%, как угодно) 13:38 < jrandom> во‑вторых, можно настроить компонент Rate хранить различные статистики — вместо простой средней игнорировать перекос, считать stddev и т.п. 13:39 < jrandom> текущий компонент rate довольно примитивный, и я был бы рад, если кто-то, хорошо знакомый со статистикой, посмотрит и улучшит его 13:39 < jrandom> (одна из ключевых целей — чтобы он оставался масштабонезависимым: если приходит 100,000 событий, ему не надо держать все точки данных в памяти и т.д.) 13:40 < deer> <duck> ок, а что предотвратит ещё одну катастрофу NGRouting? 13:40 < jrandom> но ты абсолютно прав — калькуляторы и алгоритмы выбора пиров будут важной частью будущих улучшений сети 13:40 < jrandom> ngrouting пытался делать две разные вещи — находить конкретные данные и находить доступных пиров. 13:40 < jrandom> нам нужно только находить доступных пиров 13:41 < deer> <duck> хорошо 13:41 < jrandom> (и размещать там наши tunnels) 13:41 < deer> * duck снимает breakpoint 13:41 < jrandom> :) 13:41 < mihi> но нам нужно находить и tunnels тоже. 13:41 < jrandom> верно, mihi — netDb тут важен 13:42 < deer> <Pellinore> Я неплохо разбираюсь в математике статистики, но плохо в техчасти перевода данных в пригодный для компьютера вид. 13:42 < deer> <Pellinore> Но я с радостью с кем-то объединюсь и помогу, если смогу. 13:42 < jrandom> отлично, pellinore! 13:43 < jrandom> основной класс rate тут: http://i2p.net/cgi-bin/cvsweb.cgi/i2p/code/core/java/src/net/invisiblenet/i2p/stat/Rate.java?rev=1.3&content-type=text/x-cvsweb-markup — потом можем обсудить :) 13:43 < deer> <Pellinore> ок 13:43 < jrandom> (знаю, я не ожидаю, что ты прочтёшь код, просто отмечаю) 13:44 < deer> <Pellinore> Я прочту, но это будет как моя собака читает Кьеркегора. 13:44 < jrandom> хехе 13:45 < deer> <Pellinore> Но я учусь. 13:45 < deer> <Pellinore> В любом случае, продолжайте — не хочу тормозить. 13:45 < jrandom> (добровольная помощь — это не тормозит ;) 13:46 < jrandom> ещё момент о коде профилирования/выбора пиров: ранг «integration» используется в базе данных сети только для «исследования», не для search/store 13:46 < jrandom> мы всё ещё делаем (довольно) традиционный kademlia search/store со всеми непадающими пирами 13:46 < jrandom> также внутри каждой группы пиров мы всегда выбираем *случайно* 13:46 < jrandom> (то есть мы не всегда берём самый быстрый из группы fast и т.д.) 13:47 < jrandom> это и из соображений безопасности, и для балансировки нагрузки 13:48 < jrandom> (безопасность — чтобы атакующий не мог просто создать очень быстрый router и наблюдать, как все им пользуются — ему пришлось бы создать много очень быстрых routers, перекосив всю распределённость в свою пользу и т.д.) 13:49 < jrandom> ок, что-нибудь ещё по 3) профилирование/выбор пиров? 13:49 < deer> <duck> . 13:50 < deer> <ughabugha> Похоже, нет. 13:50 < jrandom> ок, переходим к 4) веб-архитектура 13:52 < jrandom> новая streaming lib от mihi даёт нам много гибкости, плюс он несколько раз упоминал желание «выделить» код httpclient в нечто более надёжное. кроме того, human начал обновлять вещи, чтобы позволить прозрачное проксирование через squid (или tor-www) и eepsite-проксирование в одном клиенте 13:52 < jrandom> с учётом этих факторов и вероятности, что веб‑подобная функциональность будет важна для пользователей i2p, стоит сделать шаг назад и представить, как всё это должно вместе связаться 13:53 * mihi у меня на диске летает какой-то код для того httptunnel. но он далеко не закончен 13:53 < mihi> для меня httptunnel == httpclient + какие-то фильтры 13:53 < mihi> разумеется, с использованием моего naming и streaming api. 13:54 < mihi> сейчас код позволяет только разные «профили анонимности». 13:54 < jrandom> какие мысли насчёт стиля human с переходом на outproxies вроде squid/etc при сбоях? 13:54 < mihi> т.е. слать все запросы через один destination, мультиплексировать до 10, мультиплексировать по одному dest на hostname и т.д. 13:54 < jrandom> ах, интересно 13:55 < mihi> но эти dests пока не используются ;) 13:55 < jrandom> w3rd. да, есть большой нюанс: большое количество destinations на одном router ощутимо увеличивает нагрузку на CPU 13:55 < jrandom> (поскольку любой garlic‑фейл должен будет упасть по одному разу на каждый dest, прежде чем упасть окончательно) 13:56 < jrandom> хотя кое‑какая магия осталась, чтобы это минимизировать, думаю 13:56 < deer> <ughabugha> Вы уверены, что прозрачное проксирование через squid — хорошая идея с точки зрения производительности? Люди могут расслабиться и не выключать eepproxy после посещения I2P‑сайтов или использования I2P‑squid, тем самым тратя I2P‑трафик на то, что не требует анонимности. 13:56 < jrandom> ughabugha> всё требует анонимности :) 13:57 < jrandom> (а если они не видят разницы, ну, чёрт с ним...) 13:57 < mihi> моя задумка для httptunnel — чтобы http‑ссылки переписывались (как в fproxy), и тогда прокси не нужен, только servlet. 13:57 < deer> <ughabugha> jrandom: Хех. Так I2P родился мёртвым. Не будет достаточно доступной пропускной способности в сети, чтобы все конечные узлы не выжрали её сами. 13:58 < mihi> на той инфостранице можно добавить опцию просматривать сайт через, например, squid. 13:58 < jrandom> не совсем понял. проблемы с DNS ясны и понятны (хотя, думаю, есть способы их обойти) 13:58 < jrandom> ах, ок, mihi 13:58 < deer> <aum> всем доброе утро 13:58 < jrandom> mihi> то есть что-то вроде гораздо более продвинутой страницы «Unable to reach peer»? 13:59 < mihi> скорее страница «предупреждение об анонимности», как во freenet ;) 13:59 < jrandom> ughabugha> если мы не потянем веб‑серфинг, то как мы потянем BT/файлообмен? 13:59 < jrandom> хм, mihi, а хотим ли мы этого для тех, кто хочет анонимно серфить веб? или httpclient — не то приложение, которое они будут использовать? 14:00 < jrandom> доброе, aum, как раз вовремя к встрече разработчиков :) 14:00 < mihi> jrandom: если кто-то просто хочет анонимно серфить веб, он 14:00 < deer> <ughabugha> jrandom: Хмм... Хороший вопрос. А мы вообще собираемся? ;) 14:00 < deer> <aum> jrandom: ты не на iip, ты не на irc.duck.i2p ?!? 14:00 < jrandom> ughabugha> мы обязаны. 14:01 < mihi> может настроить httptunnel для этого (httptunnel всё равно будет работать как прокси, так что это довольно тривиально добавить) 14:01 < mihi> и, скорее всего, кто-то, анонимно серфящий веб, захочет какие-то фильтры контента, думаю ;) 14:01 < jrandom> mihi> думаю, human уже сделал :) 14:01 < jrandom> согласен, mihih 14:01 < jrandom> /hih/hi/ 14:02 < mihi> когда я говорю httptunnel, я не имею в виду httpclient ;) 14:02 < jrandom> ах ок 14:02 < deer> <jrandom_> я тут, aum ;) 14:02 < mihi> но нам *очень* нужно перевести i2ptunnel на использование streaming api как можно скорее, это уменьшит число поддерживаемых файлов 14:03 < jrandom> согласен 14:03 < mihi> human только пропатчил старую версию, новую я патчил сам 14:03 < jrandom> мы столкнулись с багами сегодня днём, не уверен, пересылал ли тебе human логи 14:03 < deer> <wilde> ещё в список: outproxy был занят, но больше как i2p2i 14:04 < mihi> я пока ни от кого не получал логов... 14:04 < jrandom> mihi> возьмёмся за streaming‑код как можно скорее, можем обсудить после встречи, если есть минутка, или по email? 14:04 < deer> * aum часть вчерашнего дня смотрел p2p‑приложения на предмет запуска их поверх i2p 14:04 < jrandom> wilde> мм? 14:04 < jrandom> круто, aum, есть что‑нибудь перспективное? 14:04 < deer> * aum сейчас склоняется к «push»‑типу файлообмена, напр. konspire2b 14:05 < jrandom> i2psnark можно относительно просто модифицировать для нового streaming api i2ptunnel 14:05 < deer> <human> mihi: шлём логи (mihi@i2p.net, верно?) 14:06 < mihi> не знаю, сделал ли mihi мне редирект 14:06 < deer> <mihi> s/mihi/jrandom 14:06 < jrandom> хм, aum, думаешь, что модель freenet/insert действительно будет самой эффективной? 14:06 < deer> <wilde> jrandom: я думал использовать i2p webserver -> proxy -> internet, чтобы люди могли просматривать i2p‑сайт, но, может, обычный tunnel справится с трафиком 14:06 < jrandom> mihi> хочешь, чтобы я настроил это на форвард тебе? 14:06 < mihi> jrandom: ничего не имею против ;) 14:07 < deer> <ughabugha> aum: «Push»-тип? Что это? 14:07 < deer> <aum> что мне нравится в konspire2b — он снимает ожидание мгновенной/быстрой доставки и снижает требования к полосе пропускания, т.к. только рассылает объявления о контенте, а люди «подписываются» на «ленты контента» 14:07 < jrandom> mihi> готово. 14:08 < deer> <aum> то есть вместо того, чтобы запрашивать файл, сидеть и крутить пальцами, беситься в ожидании — ты просто «подписываешься» на «канал» источника и занимаешься своими делами 14:08 < deer> <aum> konspire2b.sf.net 14:08 < jrandom> aum> но разве это не ужасно неэффективно? надо поддерживать оверлейную сеть (broadcast) для списка доступного, а потом ещё ретранслировать сами данные? 14:09 < jrandom> разве прямой swarming не был бы полезнее/эффективнее? 14:09 < deer> <ughabugha> Хех. Это звучит перспективно для I2P. 14:09 < deer> <aum> jrandom: есть примеры прямого swarming? 14:09 < jrandom> wilde> о, как cgiproxy у duck и у janonymous? 14:09 < jrandom> aum> bittorrent 14:10 < deer> <ughabugha> aum: Ты имел в виду http://konspire.sourceforge.net/? 14:10 < jrandom> где ты берёшь torrent где‑то и получаешь блоки контента напрямую от пиров, у которых он есть 14:10 < deer> <aum> ughabugha: похоже, да :) 14:10 < mihi> арргл... $me->brother удалил port forward для i2p... 14:10 < jrandom> йокарный бабай 14:10 < deer> <aum> jrandom: кто‑то сейчас пробует bt/i2p? 14:11 < deer> <baffled> aum, ты внимательно смотрел mnet? 14:11 < jrandom> aum> eco продвинулся с i2psnark 14:11 < deer> <aum> смотрел, но не глубоко 14:11 < jrandom> (хотя он сейчас пропал) 14:12 < jrandom> хм, mnet с eepsite‑метатрекерами и i2p/twisted‑транспортом от human может сработать 14:12 < deer> <duck> серьёзные тесты от janonymous и меня показывают, что текущие проблемы i2psnark наполовину из‑за i2p и наполовину из‑за самого snark 14:12 < jrandom> duck> насколько недавно были эти тесты? 14:12 < deer> <duck> на прошлой неделе 14:12 < jrandom> хотя я не против исследовать и другие реализации bt 14:12 < jrandom> ага 14:13 < deer> <duck> насчёт mnet, я _думаю_, что сначала надо чинить сам mnet, прежде чем это заработает 14:13 < deer> <duck> так что можно уж тогда починить freenet и его использовать 14:13 < jrandom> хех 14:13 < deer> <aum> починить freenet, ок! сразу после того, как установим мир во всём мире ;p 14:13 < deer> <duck> но спроси в #mnet @ freenode 14:13 < deer> <Pellinore> mnet=? 14:13 < deer> <Pellinore> Mute? 14:14 < jrandom> в этом смысле, может, мод для azureus под i2p сработает? 14:14 < deer> <wilde> нет, рыночно‑ориентированный подход к p2p 14:14 < jrandom> pellinore — mnet.sf.net, распределённое хранилище данных без анонимности 14:14 < deer> <baffled> Вообще-то, я довольно надёжно использую mnet на примерно пяти машинах. 14:14 < jrandom> верно, наследник mojonation 14:14 < deer> <baffled> А freenet я не могу надёжно использовать ни на одной. 14:14 < deer> <duck> baffled: 0.6 или 0.7? 14:14 < deer> <duck> (0.7 с twisted, если не ошибаюсь) 14:16 < deer> <Pellinore> jrandom — спасибо. 14:16 < deer> <Pellinore> Freenet невозможно надёжно использовать ни на одной машине. 14:17 < deer> <baffled> 0.6.[23]. 14:17 < deer> <Pellinore> В том числе и поэтому мы здесь. :) 14:17 < deer> <aum> я нахожу, что entropy работает хорошо... в конце концов! 14:17 < jrandom> не знаю, я всё ещё думаю, что freenet может быть хорошей базой для i2p DHT (когда мы сможем вырезать большую часть кода и оставить data store / SSK/CHK) 14:18 < jrandom> для файлообмена нам стоит учиться у файлообменного комьюнити, что работает лучше 14:18 < deer> <aum> но после моей статьи в linuxworld про entropy узлов entropy стало тьма‑тьмущая, и сеть обрела некоторые характеристики производительности freenet 14:18 < deer> <Pellinore> Мне нравится базовая структура и фичи Freenet, просто эта зараза не работает, особенно на dialup. 14:18 < jrandom> напр., клоны DC, BT, [и что там ещё используют те безбашенные файлообменщики?] 14:19 < jrandom> хех, aum, чёрт бы тебя побрал ;) 14:19 < deer> <duck> плюс есть вещи, которые Newsbyte отметил про entropy... 14:19 < deer> <aum> анонимность слабее, например? 14:19 < deer> <baffled> Верно, но есть проблемы со стабильностью в 0.7. 14:19 < deer> <baffled> Похоже, соединение снова стало глючным. 14:19 < jrandom> и проблемы с безопасностью. думаю, к сожалению, entropy нам не подходит 14:21 < jrandom> но, эмм, у нас пункт 4, веб‑архитектура, так что давайте вернёмся к теме ;) 14:21 < deer> <aum> ещё одна безумная идея файлообмена — а что если использовать nntp, с n людьми, запускающими связанные nntpd, и просто использовать одну из библиотек, которая разбивает файлы на b64‑куски и постит их, и библиотеки для получения? 14:22 < jrandom> NNTP был бы очень интересен — он чертовски надёжен и проверен временем 14:22 < deer> <duck> линковать сервера? 14:22 * jrandom с радостью поднял бы innd внутри i2p ;) 14:23 < deer> <aum> и так как анонимность делает i2p, nntp её не нужен 14:23 < jrandom> верно, feed‑линия innd могла бы указывать на локальный i2ptunnel proxy 14:23 < deer> <aum> и люди с разными серверами могут настроить кэширование нужных им групп 14:23 < mihi> в зависимости от того, как часто они пирятся, можно было бы цензурить статьи, создавая коллизии message id 14:23 < deer> <duck> (пробовал когда-нибудь настраивать innd?) 14:24 < jrandom> много раз, duck, но очень давно 14:24 < deer> <aum> innd тяжело настраивать? 14:24 < deer> <duck> ну ладно, ты бог 14:24 < jrandom> mihi> согласен — это не цензуроустойчивое средство распространения 14:24 < jrandom> aum> это геморрой 14:25 < jrandom> как и squid — он хорош в своём, но нам, вероятно, нужно что-то до предела простое (желательно в один клик) для поставки в комплекте 14:25 * jrandom тащит нас обратно к теме 14:26 < deer> <aum> и ещё один подход к p2p/файлообмену — помню, видел p2p‑приложение по http, цепочкой http‑серверов 14:26 * mihi подозревает, что большинство пользователей не знают, как настроить прокси в своём браузере... 14:26 < deer> <aum> сорри, какая тема? 14:26 < jrandom> пункт 4 повестки) веб‑архитектура ;) 14:26 < aum> то есть веб‑сервера внутри i2p? 14:26 < mihi> aum: да 14:26 < jrandom> это хороший пойнт, mihi — веб‑системе понадобятся базовые скрипты (.bat, .sh) для запуска/остановки 14:27 < jrandom> хм, разве mozilla не включает javascript‑url, которым можно выставить прокси? 14:27 < jrandom> например, можем ли мы иметь страницу настроек в httptunnel с кнопкой «on»/«off»? 14:28 < jrandom> понимаю, что мы не примем сегодня решений о том, как должна работать веб‑функциональность, но стоит наметить направления 14:28 < aum> а что не так с нынешним eepproxy? 14:29 < jrandom> напр., фильтрация, inbound‑прокси (eeproxies), исходящие серверы (обычный i2ptunnel server), outbound‑прокси (outproxies а‑ля squid или tor-www) 14:29 < mihi> aum: он требует приличных навыков и для предоставления, и для запроса eepsites 14:29 < jrandom> и ещё, существующая система outproxy отстой. 14:29 < jrandom> она абсолютно не масштабируется 14:29 < jrandom> нужно что-то, что позволит/заставит распределять исходящие веб‑запросы по нескольким outproxies 14:30 < mihi> как пользователи будут получать эти outproxies? config‑файл (как в hosts.txt?) 14:30 < jrandom> и одна из причин, почему «обычным» людям захочется запускать outproxies, — правдоподобное отрицание: даже если ОНИ запрашивают «плохое», они скажут «это i2p сделал» 14:31 < jrandom> это один вариант, mihhi 14:31 < mihi> jrandom: хехе 14:31 < jrandom> s/hh/h/ 14:31 < aum> но разве eepproxy делает «прямое» http‑соединение к запрошенному серверу, то есть настолько «прямое», насколько это возможно в i2p? 14:31 < deer> <wilde> . /castvote DHT ala Freenet 14:31 < mihi> aum: проблема в «нормальных» веб‑url. 14:31 < jrandom> ./castvote 3 developers x 1 month x 12h / day 14:32 < deer> * human добавил поддержку httptunnel в TunnelManager, кстати 14:32 < deer> <human> s/httptunnel/httpclient/ 14:32 < deer> <aum> что это? 14:32 < deer> <aum> о, поддержка http client? 14:32 < deer> <human> aum: да 14:32 < jrandom> верно, нам нужно найти способ дать людям возможность просматривать slashdot.org через i2p 14:32 < deer> <aum> то есть tunnelmgr теперь говорит по http? 14:32 < jrandom> nice1, human! 14:32 < jrandom> aum> помнишь squid‑прокси? 14:33 < deer> <aum> ага 14:33 < deer> <wilde> jrandom: значит примерно 4 человеко‑месяца на DHT? 14:33 < deer> <human> aum: ага: openhttpclient <port> [<outbound WWW proxy>] 14:33 < jrandom> wilde> думаю, это разумно, да. 14:34 < deer> <aum> human: ты где-то это описал? 14:35 < jrandom> aum> он всего лишь делает «if !eepsite { send through $outboundWWWproxy } else {send to eepsite}» 14:35 < deer> <human> aum: собирался коммитить, но застрял на баге StreamingI2PTunnelServer... 14:36 < jrandom> хорошее краткосрочное решение — «outproxies.txt», как hosts.txt 14:36 < deer> <aum> human: и что именно делает «openhttpclient <port> [<outbound WWW proxy>]»? 14:36 < jrandom> но стоит думать и о средне‑ и долгосрочных решениях 14:37 < deer> <human> human: откроет прокси, слушающий подключения, который будет перенаправлять в WWW‑proxy всё, что идёт на URL, не оканчивающиеся на .i2p 14:38 < deer> <Pellinore> Вот это интересно. 14:38 < deer> <aum> human: ага, то есть ты выделил поток внутри tunnelmgr? 14:38 < deer> <human> human: т.е. можно использовать для просмотра и eepsite, и обычного веба 14:38 < deer> <human> human: да 14:38 < deer> <human> s/human/aum/ :-) 14:39 < deer> <aum> немного выходит за «бриф» tunnelmgr, но другого места в коде i2p нет — хорошая работа, чувак 14:39 < deer> <aum> human: так ты говоришь на python и java? это не разрушает тебе мозг? 14:39 < deer> <human> aum: я сделал это, чтобы не запускать ещё одну JVM для EepProxy 14:40 < jrandom> (ну, код реализован в httpclient i2ptunnel, human просто недавно вытащил это наружу через tunnelmanager) 14:40 < deer> <aum> да, всегда хорошо держать число экземпляров jvm по минимуму 14:40 < jrandom> ((и, ИМХО, httpclient — это как раз то место, где этому и быть ;) 14:40 < jrandom> (((пока не выйдет NextGen httpclient [httptunnel] от mihi))) 14:41 < deer> <aum> httpclient в cvs, так что он соберётся у меня как часть i2p update/build? 14:41 < jrandom> да, eepProxy использует httpclient 14:42 < deer> <aum> *блин, это так шизофренично — у меня открыто 3 xchat (irc.duck.i2p,iip,freenode)) 14:42 < jrandom> :) 14:42 < deer> <aum> жуткая задержка на irc.duck.i2p 14:42 < jrandom> ок, сегодня по веб‑архитектуре, понятно, без финала, но разговор был полезным 14:43 < jrandom> да, aum, у меня около 15с 14:43 < jrandom> есть что добавить по веб‑архитектуре или перейдём к 5) ??? — открытому обсуждению? 14:43 < deer> * human думает об I2PSocksTunnel 14:44 < jrandom> ух ты, вот это было бы круто 14:44 < deer> <human> (ну, может, это к 5) 14:44 < deer> <aum> socks? есть способ «подложить прокладку» под клиентов без поддержки socks, чтобы они ходили через socks‑интерфейс? 14:44 < deer> <human> aum: apt-get install tsocks :-) 14:45 < aum> обсуждение веба — напоследок — а как насчёт форкнуть/пропатчить существующий веб‑клиент 14:45 < mihi> aum: sockscap для windwos 14:45 < jrandom> aum> страшно. очень мощно, но страшно. 14:45 < jrandom> [я бы не хотел это поддерживать] 14:45 < aum> хотя бы на сейчас, туповатый браузер вроде dillo 14:46 < jrandom> [[хотя его можно сделать «супер безопасным» и т.п. но всё равно очень, очень страшно]] 14:46 < aum> или лучше браузерный контрол в wxwindows, он мультиплатформенный 14:46 * jrandom вспоминает оригинальные flinks, когда в нём был встроенный браузер freesite 14:47 < aum> но нубы будут ныть, если не смогут серфить свои обычные m$‑specific‑javascript‑infested сайты 14:47 < jrandom> верно, aum, и хакеры тоже, если он не поддерживает последние стандарты 14:47 < aum> хей, надо попросить Microsoft исходники IE6 и запатчить ;p 14:47 < jrandom> писать браузер == отличный способ убить тысячи человеко‑часов 14:47 < jrandom> хех 14:47 < deer> * human вполне счастлив с privoxy 14:48 < aum> может, они «бросят» исходники ie6 в рамках европейского штрафа 14:48 < deer> <human> (http://www.privoxy.org/) 14:48 < aum> s/toos/toss/ 14:48 < jrandom> human> как это будет работать по обе стороны прокси? 14:48 < jrandom> например, нам надо фильтровать контент локально, а не на исходящем конце 14:49 < deer> <human> jrandom: пользователей можно побудить поставить его 14:49 < jrandom> (но исходящий endpoint тоже захочет фильтровать часть контента, чтобы избежать абьюза и т.п.) 14:49 < deer> <human> jrandom: или он может быть частью дефолтной установки I2P 14:49 < aum> а если DWP (distributed web proxy) использует DHT для кэша? 14:49 < jrandom> «побудить» — значит только гики. надо бандлить :) 14:49 < jrandom> это было бы хорошо, aum 14:49 < deer> <human> jrandom: ехехе, согласен :-) 14:49 < deer> <human> jrandom: privoxy, кстати, и на windogs работает 14:50 < jrandom> word. да, нам нужен какой‑то фильтр контента — privoxy, muffin, что угодно. 14:50 < deer> <wilde> длинная встреча... 14:50 * jrandom понял намёк.. 14:51 < deer> <Pellinore> wilde: Сказать есть о многом. 14:51 < jrandom> у кого‑то ещё что‑то? всегда есть рассылка для продолжения 14:51 < deer> <Pellinore> И сделать, конечно, ещё больше. 14:51 < deer> <Pellinore> У меня пара маленьких вопросов. 14:51 < aum> можем ли форкнуть privoxy и 1) заставить его работать поверх i2p, 2) использовать DHT для кэширования? 14:51 < deer> <Pellinore> Но их так же легко обсудить приватно. 14:51 < jrandom> pellinore> что там? 14:51 < deer> <Pellinore> Ничего, сорри, что сказал. 14:51 < jrandom> aum> скорее всего, форк не понадобится 14:52 < deer> <Pellinore> Поговорю об этом с тобой или с duck приватно, в другой раз. 14:52 < deer> <Pellinore> Не совсем дев‑специфичные вещи. 14:52 < deer> <duck> 10+16+7=33 человеко‑часа, «потраченные» на этот час овертайма :) 14:52 < jrandom> но построение DHT — это много усилий. абсолютно невероятно стоящая вещь 14:52 -!- Irssi: #i2p: Всего 10 ников [0 ops, 0 halfops, 0 voices, 10 обычных] 14:52 * aum снова идёт на wiki infoanarchy.org по страницам DHT 14:52 < jrandom> в iip 16 человек? 14:53 < deer> <human> aum: форк не нужен, просто: web browser <-> privoxy <-> httpclient <-> i2p <-> outbound proxy <-> www.pr0n.com 14:53 < deer> <wilde> универсальный DHT, который работал бы и вне I2P, и позволял другие биндинги, чем http 14:53 < jrandom> aum> посмотри ссылку, которую duck добавил в wiki i2p, со списком разных 14:54 < deer> <human> aum: можно настроить privoxy так, чтобы он коннектился к другому HTTP/socks‑прокси (так у меня работает I2P‑to‑tor privoxy) 14:54 < deer> <duck> (http://www.bamboo-dht.org/) 14:54 < aum> не уверен, что мне нравится идея DHT, работающего вне i2p — лучший DHT без анонимности (и оверхеда анонимности), который может максимально эффективно работать внутри i2p 14:54 < jrandom> хмм, duck, а что стало с тем списком? 14:54 < deer> <duck> aum: проще тестировать 14:55 < deer> <duck> jrandom: какой‑то коммунист его удалил, наверное 14:55 < jrandom> хех 14:56 < jrandom> google++ : http://www.etse.urv.es/~cpairot/dhts.html 14:56 < jrandom> (не та же страница, но интересная) 14:56 < jrandom> о, вот та страница — http://himalia.it.jyu.fi/ffdoc/storm/pegboard/available_overlays--hemppah/peg.gen.html 14:57 < jrandom> но да, DHT, который не пытается реализовывать анонимность, плюс DHT, поддерживающий и CHK‑стиль, и SSK‑стиль контента, — было бы лучше всего 14:58 < jrandom> (SSK‑стиль не строго необходим, но, чёрт возьми, это было бы очень полезно) 14:58 < jrandom> ну, в общем 14:58 < jrandom> ещё что‑нибудь кто‑нибудь хочет поднять? 14:59 < deer> <duck> завтра День Святого Патрика 14:59 < deer> <wilde> пункт 5) ? 14:59 < deer> <duck> так что все пейте ирландское пиво 14:59 < jrandom> верное замечание 14:59 < deer> <Pellinore> Завтра годовщина моих нынешних отношений и моей второй свадьбы. 14:59 * jrandom берёт на заметку избегать ирландских пабов завтра 15:00 < jrandom> о, поздравляю, pellinore :) 15:00 < jrandom> wilde> у нас 5) ??? 15:01 < jrandom> (и скоро будет 6) [baf]) 15:01 * jrandom сейчас придёт в iip [если смогу] 15:01 * jrandom сворачивает 15:01 * jrandom *baf* закрывает встречу