快速回顾

出席: jrand0m, nop, MrEcho, dm, dish, mihi

会议日志

[22:02] <jrand0m> 议程 [22:02] <jrand0m> 0) 欢迎 [22:02] <jrand0m> 1) i2p router [22:02] <jrand0m> 1.1) 状态 [22:02] <jrand0m> 1.2) 路线图变更 [22:02] <jrand0m> 1.3) 开放的子项目 [22:02] <jrand0m> 2) 原生 modPow [22:03] <jrand0m> 2) GUI 安装程序 [22:03] <jrand0m> 3) IM(即时通讯) [22:03] <jrand0m> 4) 命名服务 [22:03] <jrand0m> 5) 许可 [22:03] <jrand0m> 6) 其他? [22:03] <jrand0m> 0) 欢迎 [22:03] <jrand0m> 嗨。 [22:03] <nop> 嗨 [22:03] <jrand0m> 会议 2^6 [22:04] <jrand0m> nop,你有什么要添加的议程项目吗? [22:04] <jrand0m> 好的,1.1) router 状态 [22:04] <jrand0m> 我们目前是 0.2.0.3,据我所知可以正常运行 [22:04] <MrEcho> > 0.2.0.3 [22:04] <MrEcho> 对吗? [22:05] <MrEcho> 我在运行它……看起来不错 [22:05] <nop> 不 [22:05] <jrand0m> 0.2.0.3 发布后有一些小的提交,不值得再发版 [22:05] <nop> 我只是想赶上进度 [22:05] <jrand0m> 酷 [22:06] <jrand0m> 根据 0.2.0.x 的经验和反馈,我们更新了路线图,以降低运行时的资源占用 [22:06] <jrand0m> (也就是让大家跑 Web 服务器/等不会吃满 CPU) [22:06] <jrand0m> 具体来说(进入议程 1.2):http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap [22:07] <MrEcho> 我注意到大多数 router 使用:TransportStyle: PHTTP [22:07] <MrEcho> 它会自动转到 phttp,还是会先尝试 tcp? [22:07] <jrand0m> 嗯,大多数 routers 应该支持 PHTTP,如果它们能接受传入连接,也应该支持 TCP [22:07] <jrand0m> 只要可能,它就会使用 TCP [22:07] <jrand0m> PHTTP 的权重成本比 TCP 高大约 1000 倍 [22:08] <jrand0m> (参见 GetBidsJob,它会询问每个传输认为向某个对等体发送消息的代价是多少) [22:08] <jrand0m> (另见 TCPTransport.getBid 和 PHTTPTransport.getBid 所使用的取值) [22:08] <MrEcho> 好的 [22:08] <jrand0m> 你发送和接收消息经常使用 PHTTP 吗? [22:09] <jrand0m> (那可能意味着你的 TCP 监听器不可达) [22:09] <MrEcho> 我这边没填那些 URL [22:09] <jrand0m> 啊,OK。 [22:09] <MrEcho> 哦,是的 [22:10] <jrand0m> 好的,嗯,我的 routers 与你之间有已建立的 TCP 连接 [22:10] <dm> 它们真是热情好客啊。 [22:11] <jrand0m> 不过我很高兴你们促使我实现了 routerConsole.html,这样我们就不用为这种破事去翻日志了 [22:11] <MrEcho> 有没有超时机制?如果 TCP 连接不上就转到 phttp?超时时间是多少? [22:11] <jrand0m> 如果收到 TCP 连接被拒绝/主机未找到/等,它会立即判定本次尝试失败,并尝试下一个可用的 bid [22:12] <MrEcho> 所以不重试? [22:12] <jrand0m> 据我记得,phttp 的超时是 30 秒 [22:12] <jrand0m> 没必要重试。要么你有一个已建立的 TCP 连接并能发送数据,要么没有 :) [22:13] <MrEcho> 哈哈,好 [22:13] <MrEcho> 之后每次还会尝试 tcp,还是会跳过它直接用 phttp 建立下一个连接? [22:13] <jrand0m> 目前它每次都会尝试 tcp。 [22:13] <jrand0m> 传输模块还不会保存历史记录 [22:13] <MrEcho> 好,酷 [22:14] <jrand0m> (不过如果某个对等体失败 4 次,他们会被拉进黑名单 8 分钟) [22:14] <MrEcho> 那么,一旦对方收到 phttp 消息,它应该通过 tcp 连接到发送该消息的 router,对吧? [22:14] <jrand0m> 没错。一旦建立了任何 tcp 连接,就可以使用它。 [22:14] <jrand0m> (但如果双方都只有 phttp,显然就只能用 phttp) [22:15] <MrEcho> 那就意味着它无法与任何人建立 tcp 连接 [22:15] <MrEcho> ……不过,嗯 [22:16] <MrEcho> 真希望有办法绕过这个问题 [22:16] <jrand0m> 不,我的某个 router 没有 TCP 地址——只有 PHTTP。但我会与那些有 TCP 地址的对等体建立 TCP 连接。 [22:16] <jrand0m> (这样他们就可以沿着那个 TCP 连接回发消息,而不是给我发送更慢的 PHTTP 消息) [22:17] <jrand0m> 或者你不是这个意思? [22:17] <MrEcho> 是的,我搞混了 [22:17] <jrand0m> 行,没问题 [22:18] <jrand0m> 所以,请查看更新后的路线图以获取最新进度信息 (http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap) [22:18] <jrand0m> 好的,1.3) 开放的子项目 [22:19] <jrand0m> 我终于把我 Palmpilot 上的一堆待办清单放进了 wiki:http://wiki.invisiblenet.net/iip-wiki?OpenSubprojects [22:19] <jrand0m> 所以如果你无聊并在找编码项目…… :) [22:20] <MrEcho> 天哪 [22:20] <MrEcho> 已经有两个了 [22:20] <dish> 你有 Palmpilot,这也太酷了 [22:20] <MrEcho> 我的挂了 [22:20] <jrand0m> mihi> 里面有一条关于 I2PTunnel 的条目,描述了我前阵子的一个想法 [22:21] <MrEcho> 不知道怎么回事 [22:21] <jrand0m> 是啊,我以前有过 Palm,但最近有人捐了这台支持这个项目 ;) [22:21] <dish> 能不能把一个议程项加到会议里,讨论一下 userX 上次说话是什么时候 [22:21] <MrEcho> 该死的东西现在甚至都开不了机了 [22:21] <MrEcho> 哈哈 [22:22] <jrand0m> 我觉得 UserX 已经有四五个月没说过话了 ;) [22:22] <MrEcho> 那是个机器人之类的吗? [22:22] <dish> 他们5个月前说了什么? [22:22] <MrEcho> 我敢打赌,那是他以前能访问的一台机器上跑着的 BitchX……然后他忘了 [22:22] <jrand0m> 他们说下周会回来对 anonCommFramework(i2p 的旧名字)提些意见 ;) [22:23] <dish> 哈哈 [22:23] <jrand0m> 不过我想他很忙。生活就是这样 [22:23] <jrand0m> 好的,2) 原生 modPow [22:24] <MrEcho> 我看到了那段 C 代码 [22:24] <jrand0m> 我拼了个 .c 桩和一个 Java 类,演示如何集成像 GMP 或其他 MPI 库之类的东西,但它显然还不能工作 [22:25] <jrand0m> 如果我们有一小套 C 类以及与之对应的简单 Java 封装类,能为 Windows、OSX、*BSD、Linux 构建,并用 GPL 打包,那就太好了 [22:25] <jrand0m> (此处插入重大 iip 崩溃) [22:38] <MrEcho> 我最后看到的是: [13:25] <jrand0m> 好的,2) 原生 modPow [22:38] <jrand0m> 嗨 MrEcho [22:38] <jrand0m> 是的,似乎一个主代理崩了 [22:39] <jrand0m> 我再等 2 分钟再重启 [22:39] <MrEcho> k [22:39] <MrEcho> 一次性 $25,我可以在 thenidus.net 上弄到完整的 Java……我其中一个站点 [22:40] <jrand0m> $25?他们还要为安装软件收费? [22:40] <MrEcho> 不太清楚……这是个套餐 [22:40] <MrEcho> 我现在在问我朋友 [22:40] <jrand0m> 不过我不确定代码现在已经足够稳定,值得出去租一堆托管机位来部署 routers。还没到那地步 :) [22:41] <dm> frazaa? [22:41] <MrEcho> java - jsp [22:41] <jrand0m> 好,重发我刚才说的: [22:41] <jrand0m> 我拼了个 .c 桩和一个 Java 类,演示如何集成像 GMP 或其他 MPI 库之类的东西,但它显然还不能工作 [22:41] <jrand0m> 如果我们有一小套 C 类以及与之对应的简单 Java 封装类,能为 Windows、OSX、*BSD、Linux 构建,并用 GPL(或限制更少的许可证)打包,那就太好了 [22:41] <jrand0m> 不过随着新路线图把 AES+SessionTag 列为我当前要做的事项,这件事就没那么关键了。 [22:42] <jrand0m> 不过如果有人愿意推动这件事,那就太好了(而且我确信我们都很熟悉的另一个项目也会对这样的打包感兴趣) [22:43] <dm> z? [22:43] <jrand0m> 呵,某种程度上是 ;) [22:44] <jrand0m> 好的,3) GUI 安装程序 [22:44] <jrand0m> MrEcho> 嗨 [22:44] <MrEcho> :) [22:44] <MrEcho> 呵呵 [22:44] <MrEcho> 快要出来了 [22:44] <jrand0m> 酷 [22:44] <MrEcho> 没什么花哨的 [22:45] <MrEcho> 我有一些很酷的点子能把它做得很花,但那还早 [22:45] <jrand0m> 我在想安装程序是否应该增加:1)一个选项,从 http://.../i2pdb/ 自动获取种子;2)自动获取 http://.../i2p/squid.dest,并顺带创建 runSquid.bat/runSquid.sh? [22:45] <jrand0m> 行 [22:46] <jrand0m> 对,我们希望安装程序尽可能简单——你想到的那些花哨东西是什么? [22:46] <MrEcho> 问题是……当你执行 java -jar installer 时,由于你现在的实现,它默认走非 GUI [22:46] <MrEcho> 我们怎么做到双击 jar 文件就加载 GUI? [22:47] <jrand0m> install.jar <-- 非 GUI, installgui.jar <-- GUI [22:47] <jrand0m> 代码分开,包也分开 [22:47] <MrEcho> 花哨指的是一些你可能注意不到的小细节……但会很干净利落 [22:47] <jrand0m> 酷 [22:47] <MrEcho> 哦,好的 [22:48] <jrand0m> (或者 install <-- GUI installcli <-- CLI。看看进展再说) [22:49] <jrand0m> GUI 这块还有别的吗,还是我们跳到第 4 项? [22:49] <jrand0m> (你心里有时间表吗?不催,就是问问) [22:51] <MrEcho> 现在还没想好 [22:51] <jrand0m> 酷 [22:51] <jrand0m> 好的,4) IM [22:51] <jrand0m> thecrypto 不在,所以….. [22:51] <jrand0m> 5) 命名服务 [22:51] <jrand0m> wiht 也不在…… [22:51] <jrand0m> ping [22:52] <dish> 你的议程编号数错了 [22:52] <dish> 3) IM [22:52] <jrand0m> 是啊,我之前有两个第 2 项 [22:52] <dish> 4) 命名 [22:52] <dish> ;) [22:52] <jrand0m> (原生 modPow 和 GUI 安装程序) [22:52] <jrand0m> 看,我们很灵活之类的 [22:59] <jrand0m> 好吧,为了日志我还是继续 [22:59] <jrand0m> 6) 许可 [23:00] <jrand0m> 我在考虑用比 GPL 限制更少的许可。我们用了一些 MIT 许可的代码,另外还有一个文件是 GPL 的(不过那只是 base64 编码,实现可以很容易替换)。除此之外,所有代码要么归我,要么归 thecrypto 版权所有。 [23:01] <dish> 看看 mihi 的 i2p tunnel 这部分代码 [23:01] <jrand0m> 哦对,mihi 已经用 GPL 发布了那部分,但如果他愿意,也可以用别的许可发布 [23:01] <jrand0m> (不过 I2PTunnel 本质上是第三方应用,可以按它想要的方式授权) [23:02] <jrand0m> (不过因为 i2p 的 SDK 是 GPL,他被迫也只能用 GPL) [23:02] <MrEcho> 总算了 [23:02] <jrand0m> 我不太清楚。许可不是我的强项,但我倾向至少改成 LGPL [23:03] <dish> 把对 I2P HTTP Client 的那 10–20 行改动,按 mihi 的许可证来发布就行了 [23:03] <jrand0m> 呵呵 :) [23:06] <jrand0m> 总之,7) 其他? [23:07] <jrand0m> 关于 i2p,大家有任何问题/顾虑/想法吗? [23:07] <dish> 我来问个 [23:07] <dish> I2P 有“组名”功能吗? [23:07] <jrand0m> 组名功能? [23:07] <dm> 探索频道战队! [23:07] <MrEcho> 哈哈 [23:08] <dish> 比如你想要一个私有或独立的网络,但如果某些 router 不小心混到一起,没有组名的话,这两个网络就会合并 [23:08] <MrEcho> 他想到的是 WASTE [23:08] <jrand0m> 啊 [23:08] <dish> 我不知道为什么会想要那样,我只是随便问问以防万一 [23:08] <jrand0m> 是的,在网络设计的早期我玩过这个 [23:09] <jrand0m> 这比我们目前(或者相对近期 [6–12 个月])需要的更复杂,但以后可能会集成 [23:09] <dish> 或者说这是个坏主意,因为保持一个大的网络更好? [23:09] <dm> i2pisdead [23:09] <jrand0m> 呵 dm [23:10] <nop> 闭嘴 [23:10] <dm> nop:硬汉? [23:10] <jrand0m> 不,dish,这是个好主意 [23:10] <dm> 搞笑吗? [23:10] <jrand0m> 这本质上就是 0.2.3 版要做的——受限路径 [23:10] <jrand0m> (也就是你有一小组私有(受信任)的对等体,你不想让所有人知道他们是谁,但仍想能与他们通信) [23:15] <jrand0m> 好,还有别的吗? [23:15] <nop> 没啦,我只是逗你 [23:18] <dm> 搞笑吗? [23:20] <jrand0m> 好吧,嗯,这是个/有趣的/会议,中间还夹杂了几次 iip 崩溃 ;) [23:21] <jrand0m> * jrand0m *baf* 地宣布会议结束