快速回顾
出席: bar, cervantes, Complication, dust, jrandom, Myo9, postman, redzara, wiht
会议记录
16:29 <jrandom> 0) 嗨 16:29 <jrandom> 1) 0.6.1.2 16:29 <jrandom> 2) I2PTunnelIRCClient 16:29 <jrandom> 3) Syndie 16:29 <jrandom> 4) I2Phex 16:29 <jrandom> 5) 隐写术和暗网(关于:口水战) 16:29 <jrandom> 5) ??? 16:29 <jrandom> 0) 嗨 16:29 <@cervantes> (6) 16:29 <+postman> 你是指 6) 吗? 16:29 <jrandom> 是啊,我不会数数 ;) 16:30 * postman 和 cervantes 击掌 16:30 <jrandom> 每周状态说明已发布在 @ http://dev.i2p.net/pipermail/i2p/2005-October/000990.html 16:30 <wiht> 提问应该是第 6 项。 16:30 <jrandom> 既然我迟到了 30 分钟,我肯定你们都已经读过那些说明了,那就开始吧 ;) 16:31 <jrandom> 1) 0.6.1.2 16:31 <@cervantes> 6) 讨论 jrandom 室友在时间安排上的糟糕判断 16:31 <jrandom> *咳* ;) 16:31 <jrandom> 好的,如邮件里所说,0.6.1.2 这个版本看起来表现不错 16:32 <jrandom> 我们找到了让 IRC 服务器停留在旧构建上的那个 bug,现在它们也都更新到最新了(w00t!) 16:32 <+postman> :) 16:32 <wiht> 说到这个,在 router 控制台的 netDB 页面,能不能把包含 routers 及其版本的表格列在页面顶部? 16:33 <jrandom> 每个版本的 router 数量,对吧?当然,这很容易做到,也许把它整合进 peers.jsp 的表格里(按 peer 显示版本),并在底部加一个新表? 16:34 <jrandom> 看到 9 个版本一起配合良好还是挺不错的,当然更新的版本效果最好 16:35 <jrandom> 好,还有谁对 1) 0.6.1.2 有什么要提的吗? 16:35 <+postman> 我的一个 router 显示已知 1080 个 16:35 <jrandom> 我的天 16:35 <+postman> 我觉得这有点跑偏了? 16:35 <jrandom> 那是跑在 0.6.1.2 上吗? 16:35 <+postman> 是的,应该是 16:36 <jrandom> 嗯,是啊,那有点……偏高。我现在看到的大约是它的一半 16:36 <+Complication> 我这边稳定在 400 左右 16:37 <+bar> 我这边也差不多 16:37 <wiht> 我这边看到已知 260 个 routers。 16:37 <jrandom> postman:也许会后我们可以深入看看那个 router 发生了什么(你能把 netDb/routerInfo-* 打个 tar.bz2 发我吗?) 16:38 <+postman> jrandom:好的,谢谢 16:38 <jrandom> gracias 16:38 <jrandom> 是的,并不是每个人都会看到每个 netDb 引用,所以有波动是正常的 16:40 <jrandom> 好的,如果 1) 0.6.1.2 没有别的了,我们转到 2) I2PTunnelIRCClient 16:40 <@cervantes> 不错,dust 16:40 <jrandom> 如邮件所述,我们在 CVS 里有了一个新的针对 IRC 协议的专用过滤器,应该会在下一个版本作为默认推出 16:41 <+postman> 酷 16:41 <jrandom> 是啊,这非常酷,大家早就一直在要这样的东西了 16:41 <+Myo9> Jrandom,你最近变得更开放了,我们知道了你的前任,现在又是你的室友,等等。请记得:http://www.navysecurity.navy.mil/st031204.webp 16:41 <jrandom> *咳* 16:42 <dust> 如果你想看到你的客户端发送了什么,可以添加 net.i2p.i2ptunnel.I2PTunnelIRCClient=INFO,然后查看日志就能看到全部 16:43 <dust> 我测试了一些客户端,但还有很多…… 16:43 <jrandom> 是的,我看了一小会儿,过滤看起来挺稳妥的 16:44 <jrandom> 将来我们也许还能做些很棒的事情——比如在本地处理 PING/PONG,以减少网络活动 16:44 <+Complication> dust:谢谢你的“info” :) 16:44 <+bar> 厉害了 dust,非常感谢 16:44 <wiht> 这是不是意味着我们不需要再设置额外的 IRC tunnel? 16:44 <jrandom> wiht:不是,你还是需要一个 IRC tunnel,但它可以替换你已经在用的那个 16:45 <+Complication> wiht:少担心我们的 IRC 客户端把我们卖了就行 16:45 <jrandom> postman/cervantes:对增加或移除服务器 PING/PONG 超时有什么看法? 16:45 <wiht> 这就清楚了,谢谢。 16:46 <+postman> 嗯,我不会去移除它们,我之前折腾的时候我的客户端完全崩了 16:46 <jrandom> postman:嗯,我在想如果在本地响应它们,这样客户端会得到一个非常非常快的 PING/PONG 16:46 <@cervantes> postman:代理可以响应 ping 16:46 <jrandom> (但这些 ping/pong 就不需要走网络了) 16:47 <jrandom> 我不确定影响如何,但可能值得研究一下。 16:47 <@cervantes> 不过我不确定服务器会如何反应,你可能会最终出现一堆僵尸客户端 16:47 <+postman> jrandom:嗯 16:47 <jrandom> 嗯,流式库的 keepalive 应该能处理这个 16:47 * Complication 偶尔也经历过僵尸化 16:47 <jrandom> Complication:最近吗? 16:47 <+postman> jrandom:如果代理代替客户端去 ping,那么代理也必须对客户端做 ping/pong 16:48 <+Complication> 大约一周前吧,我想。 16:48 <jrandom> postman:客户端对代理发出的 PING,会由代理直接回一个 PONG 给客户端,而不会通过 i2p 发送任何东西 16:48 <+Complication> 但是我的“副本”最终被踢掉了。 16:48 <@cervantes> jrandom:连接会被保持打开……服务器需要降低判定客户端何时陈旧并需要踢出的阈值 16:48 <jrandom> Complication:啊,那时 IRC 服务器还没更新,现在不应该再发生了 16:49 <+Complication> 我没有用“ghost”。最近使用 ghost 命令是因为在操作很多节点。 16:49 <+postman> jrandom:那延迟测量呢? 16:49 <jrandom> cervantes:对。另外/或者如有必要,代理可以向服务器注入一个额外的 PING 消息,如果它确实/需要/的话。 16:49 <+postman> 我觉得知道自己是否在延迟还是挺有用的 16:49 <jrandom> postman:我也这么觉得,不过你随时可以 /msg 自己 16:50 <dust> 也许可以减少 ping 的次数 16:50 <jrandom> 这样可以节省相当多的带宽,因为 tunnel 消息是 1024 字节的块,并且要经过 2*k+1 跳发送 16:50 <jrandom> 这也行 16:50 <jrandom> 我也不确定,只是个想法。不管怎样,我们现在这个已经很给力了 16:51 <+postman> 好,我会试着给测试服务器打个补丁 16:51 <@cervantes> 也许我们可以研究减少次数……但我认为仍应发送一些真正的 ping 来确认客户端是否还活着 16:51 <+postman> 也许可行 16:51 <jrandom> 听起来合理,cervantes。我觉得服务器端应该不需要打补丁,希望是这样? 16:52 <+postman> jrandom:要禁用也许需要——但降低间隔是配置参数 16:53 * postman 反复啃 ircd 文档(又来了) 16:53 <jrandom> 好,别急。只是个我们以后可以研究的点 16:53 <@cervantes> class servers 16:53 <@cervantes> { 16:53 <@cervantes> pingfreq 120; 16:54 <@cervantes> class clients { pingfreq 90 } 16:54 <@cervantes> 这是我当前的配置 16:54 <+postman> cervantes:是的,我知道——问题是它究竟能不能被彻底禁用 16:54 <@cervantes> 我不会把它们禁用……只是考虑减少频率 16:55 <+postman> 好的,我们就从这个开始 16:55 <+postman> cervantes:180 秒怎么样? 16:56 <@cervantes> 大胆一点,直接上 240 16:56 <@cervantes> 不过也许我们应该先把 ircproxy 这边准备好 16:57 <@cervantes> *会后讨论* 16:57 <+postman> 同意 16:57 <jrandom> 同意。好的,关于 2) I2PTunnelIRCClient 还有别的吗,或者我们转到 3) Syndie? 16:57 <@cervantes> 任何能降低我当前 40kb/秒的平均 router 流量的都行 ;-) 16:58 <jrandom> 呵,不知为何我怀疑那可不全是 IRC ;) 16:58 <jrandom> 好,继续 16:59 * cervantes 把他这一周一直从 jrandom 白嫖的“小马”视频下载藏起来 16:59 <@cervantes> is=the 16:59 <+postman> LOL 16:59 <jrandom> 如邮件所说,Syndie 正在发生一些很酷的进展 16:59 <jrandom> CLI(命令行界面)很简单,但 dust 的新 Sucker 看起来非常有前途 16:59 <jrandom> dust:要不给我们讲讲? 17:00 <dust> 哦, 17:01 <dust> 嗯,它用 Rome 来解析 feed,然后把它转换成 SML,就像 jrandom 的博客里描述的那样 17:02 <dust> 它还谈不上健壮,不过才两天大而已 :) 17:02 <dust> 我在我的 Syndie 里抓到了一些 Dilbert…… 17:02 <dust> :) 17:02 <dust> . 17:02 <jrandom> 不错 17:03 <jrandom> 好的,你对它的发展怎么看——我们是把它并入 Syndie 源码并以 CLI 形式提供,还是保持独立单独分发,或其他方案? 17:04 * dust 不知道,你们决定 17:04 <dust> 独立的工具越少越好 17:04 <jrandom> 是啊,打包在一起可能更容易,这样大家都知道可以用它 17:05 <jrandom> 那我们就可以做些比如把它集成到 Web 界面里,或许还集成进 Ragnarok 的调度器(与其他节点互相发布并从 RSS/Atom/等拉取)之类的事 17:07 <jrandom> 好,关于 3) Syndie 有任何问题/评论/顾虑吗? 17:07 <wiht> 如果你们一直把软件集成进 I2P,它可能会变成一个臃肿的软件包。 17:07 <wiht> 当然,如果我不用 Syndie,我可以把它关掉。 17:08 <jrandom> i2p sdk 有 13KLOC(千行代码) 17:08 <jrandom> 而 i2p router 也只有 22KLOC 17:08 <jrandom> 不过,是的,这会影响安装包的下载时间 17:09 <jrandom> 如果有人愿意,可以构建一个不带客户端应用的精简 router,只用 router.jar、jbigi.jar 和 i2p.jar 17:09 <wiht> 对,我指的是下载。 17:09 <jrandom> (不过有 Web 界面来控制它、还有 i2ptunnel、流式库等时会有用得多;) 17:11 <jrandom> smeghead 在做一个分发系统(类似于 emerge,用于 Java),还有 jpackage 的人 17:11 <jrandom> 如果有人想研究一种不打包也能无缝且可靠地管理这些应用的方法,那就很酷了 17:12 <jrandom> 好的,如果没有其他问题,我们跳到 4) I2Phex 17:13 <jrandom> 除了状态说明里的内容,我没什么好补充的 17:13 <jrandom> redzara:你在吗? 17:13 <+redzara> 在,我在 17:13 <+redzara> 我已经在做下一个版本了,同时等待和 Gregor 的会面。 17:13 <jrandom> 啊,太好了 17:13 <+redzara> 目前的工作主要是识别与使用 I2P 相关的差异和需求,比如 TCP/UDP 与 i2p 的差别、I2P 特有参数的管理(以及在后续版本中这些参数的更新管理、……)、将 GWebCache 移植到 I2P、是否使用 RSS、是否使用 push…… 17:14 <+redzara> 我有很多文档和代码要读 17:15 <jrandom> 哇,是啊,听起来很多。如果你对集成 i2p 有任何问题,或者只是想找个人交流想法,告诉我 17:16 <jrandom> 把 I2Phex 的那部分做成 mainline Phex 的一个插件会非常给力 17:17 <jrandom> 好,关于 4) I2Phex 还有其他的吗? 17:18 <+redzara> 我肯定需要在 petname 部分得到一些协助 17:19 <+redzara> 还有可能在微调 tunnel 的参数方面也需要帮助 17:19 <jrandom> 好,命名相当简单——在基础层面,你甚至可以完全不使用名字(I2Phex 现在就是这么做的) 17:20 <jrandom> tunnel 配置也不成问题,不过这引出了一个想法,也许 Phex 需要为插件提供一个“高级配置”部分 17:20 <jrandom> (当然我们无论如何都希望有好的默认值) 17:21 <+redzara> 也许做成像 ircclient 那样,来个过滤器以确保安全 17:22 <@cervantes> 依我看,最好先把应用本身打磨好 17:22 <jrandom> 这也许可行,不过处理任意字节序列可能很难 17:23 <jrandom> 不过,像 ircclient 这样的代理也许能让任何 gnutella 客户端来使用。但这会是很多工作。 17:23 <+redzara> 嗯,只是个想法 ;) 17:23 * jrandom 对该协议了解不够,没法说什么是最佳方案,所以建议走“最简单可行”的路线 :) 17:25 <jrandom> 好的,如果没有别的,也许我们可以简要过一遍 5) 隐写术和暗网 17:26 <jrandom> 我不确定除了邮件列表上已经说的之外我还有什么可补充的(主要讨论可能也应该在那儿继续) 17:27 <jrandom> 话虽如此,大家对提出的问题还有什么想讨论的吗? 17:27 <wiht> 讨论中提到了 Freenet 的 0.5 和 0.7 版本。Freenet 有 0.6 版本吗? 17:27 <jrandom> 0.6 是他们目前“非稳定”的网络分支 17:27 <jrandom> 据我所知 17:28 <+postman> 哦,我还以为它被外星势力偷走了呢 17:28 <jrandom> 虽然把锅甩给外星人通常很安全,但这次是为数不多的不是他们的错的例子之一 17:28 <+postman> :) 17:28 <wiht> Toad 说的是能够收集 I2P 或 Freenet 节点的 IP 地址,对吧? 17:28 <jrandom> 除此之外还有别的 17:29 <wiht> 只是想确认一下,谢谢。 17:29 <jrandom> 不客气。好的,关于第 5 项还有别的吗,还是我们转到经典的 6) ??? 17:30 <+postman> 好,我有一个要放到 6) 的 17:30 <jrandom> 那就算我们已经转过去了。 17:30 <jrandom> 怎么了,postman? 17:30 <+postman> 大家都看到了具备协议特定过滤能力的代理很有用、也很需要 17:31 <+postman> 是不是值得考虑做一个通用型代理 17:31 <+postman> 可以通过协议描述来驱动 17:31 <+redzara> 我想要一个类似 cron 的应用,使用 BeanShell 来动态运行 Java 代码 17:31 <+postman> 并附带需要监测/过滤/伪装的内容 17:31 <+postman> 类似于一个过滤/净化的 XML 描述 17:32 <+postman> 这样我们就不需要新源码,只要一个新的过滤文件/配置档 17:32 <+postman> (只是个问题,看是否值得考虑) 17:32 <jrandom> 非常非常复杂,postman。可以用像 JavaCC 这样的词法分析器来构建输入语言,再用一个应用把该语言翻译成输出格式 17:32 <@cervantes> 难点在于抓住那些偏离协议的东西 17:33 <+postman> 这只是个想法,用来触发一次头脑风暴 17:33 <+postman> 依我看,带有建模过滤器/解析器的通用代理是很有用的 17:33 <wiht> 有人能连上 eepsites.i2p 吗?我过去一周尝试了好几次,但都不成功。 17:33 <jrandom> wiht:我加载过一次,它和 eepsites.com 是一样的 17:34 <jrandom> (或者是 .net?还是 .org?我忘了) 17:34 * wiht 访问 eepsites.com 17:34 <jrandom> postman:如果有人能想出可行的东西,那就太给力了 17:34 <+postman> jrandom:好的,我会和 susi 一起想想 17:34 <jrandom> w3wt 17:34 <+postman> jrandom:也许我们下周就放出它 17:35 <wiht> 是 eepsites.com,而且它是一个 eepsite 的搜索引擎。 17:35 <+postman> 不过我做了个梦,它是能工作的 17:35 <+postman> :] 17:35 <jrandom> :) 17:36 * Complication 怀疑,要描述协议中出现的所有细微之处……需要代码,非代码莫属 17:36 <+Complication> (至少对大多数协议来说是这样) 17:36 <@cervantes> 不,用一些邪恶的 regex 就行 17:36 <+postman> Complication:也许这种怀疑正是让我们止步不前的原因 17:37 <+postman> Complication:我还不确定,但光有怀疑不足以让我在这件事上罢休 17:37 <jrandom> 嗯,这里一个重要的点是 dust 给我们做了演示—— 17:37 * Complication 害怕一个能做到这些事情的正则 17:37 <jrandom> 代码并不一定那么可怕。 17:37 <+postman> 看吧? :) 17:37 <+postman> 一个好的过滤建模语言也能做到同样的事 17:38 <+postman> :) 17:38 <@cervantes> tcl? :) 17:38 <+Complication> 那它得真的很强。 17:38 * jrandom 看到你也有你自己的会飞的小马了,postman ;) 17:38 * dust 也对在各处复制代码感到不爽 17:38 <+postman> jrandom:不要奶牛 :) 17:38 <jrandom> 能跑的代码>>>理论上的代码改进 17:39 <+postman> 嗯 17:40 <+postman> 我从 i2p 学到的一件事 17:40 <wiht>>>> 表示“好很多很多?” 17:40 <+postman> 不要在第一眼就放弃 17:40 <jrandom> 太对了,postman 17:40 <jrandom> 是的,wiht 17:41 <jrandom> 那会非常酷 17:41 <jrandom> 好,还有谁有要在会上提出的? 17:41 <+bar> 嗯,IMAP 运行得怎样,postman?(我在论坛里看到过,但自己还没试) 17:41 <+postman> bar:自己试试吧——我还没收到用户反馈 17:41 * cervantes 推来一个小马形状的锣 17:42 <+bar> 好的,会去试的 :) 17:42 <+postman> bar:在我这儿它工作得很好 :) 17:42 <jrandom> 不错 17:42 <+bar> 酷 17:42 <+postman> cervantes:你被迷住了 17:42 <@cervantes> 我?! 17:42 <@cervantes> :) 17:43 <jrandom> 好,在我们达到 90 分钟之前 17:43 * jrandom 做好准备 17:43 * jrandom *baf* 结束了会议