Files
i2p.www/www.i2p2/pages/meeting81.html
2008-02-04 18:22:36 +00:00

405 lines
36 KiB
HTML

{% extends "_layout.html" %}
{% block title %}I2P Development Meeting 81{% endblock %}
{% block content %}<h3>Tuesday, Mar 16, 2004 13:00:00 PST</h3>
<div class="irclog">
<p>13:12 &lt; jrandom&gt; agenda:</p>
<p>13:12 &lt; jrandom&gt; 0) hi</p>
<p>13:12 &lt; jrandom&gt; 1) administravia</p>
<p>13:13 &lt; jrandom&gt; 2) 0.3 status</p>
<p>13:13 &lt; jrandom&gt; 3) peer profiling / selection</p>
<p>13:13 &lt; jrandom&gt; 4) web architecture</p>
<p>13:13 &lt; jrandom&gt; 5) ???</p>
<p>13:13 &lt; jrandom&gt; 0) hi</p>
<p>13:13 * jrandom waves to the gang</p>
<p>13:14 &lt; deer&gt; * jrandom_ waves from i2p</p>
<p>13:14 &lt; deer&gt; * wilde hi5s</p>
<p>13:15 &lt; deer&gt; &lt;ughabugha&gt; Hi!</p>
<p>13:15 &lt; deer&gt; * duck is reading</p>
<p>13:15 &lt; deer&gt; &lt;human&gt; yo!</p>
<p>13:16 &lt; jrandom&gt; w0rd, sorry for the delay getting those status notes up at (http://i2p.net/pipermail/i2p/2004-March/000165.html)</p>
<p>13:18 &lt; jrandom&gt; 1) administravia</p>
<p>13:19 &lt; jrandom&gt; for simplicity, and to avoid the trouble we had last week w/ the various networks being bitchy, some magic has been worked out and this meeting is being run off three irc networks</p>
<p>13:19 &lt; deer&gt; &lt;duck&gt; (amazing!)</p>
<p>13:19 &lt; jrandom&gt; iip's #i2p, the duck/baffled i2p irc network's #i2p, and freenode's #i2p</p>
<p>13:19 &lt; jrandom&gt; :)</p>
<p>13:19 &lt; deer&gt; &lt;baffled&gt; who's paranoid?</p>
<p>13:20 &lt; deer&gt; &lt;ughabugha&gt; Ok, done reading the status notes.</p>
<p>13:20 &lt; deer&gt; &lt;ughabugha&gt; jrandom: What about it?</p>
<p>13:20 &lt; deer&gt; &lt;ughabugha&gt; Or them?</p>
<p>13:21 &lt; jrandom&gt; just mentioning it, so people who have trouble with one can use another</p>
<p>13:21 &lt; deer&gt; &lt;mihi&gt; fine. done with status notes as well</p>
<p>13:21 &lt; jrandom&gt; also, the drupal box should be back online this weekend (crossing fingers)</p>
<p>13:22 &lt; deer&gt; &lt;ughabugha&gt; Oh, ok. Is there anything to discuss on 1)?</p>
<p>13:22 &lt; deer&gt; &lt;ughabugha&gt; Or are we waiting for people to finish reading?</p>
<p>13:22 &lt; deer&gt; &lt;ughabugha&gt; jrandom: Good. :)</p>
<p>13:22 &lt; jrandom&gt; nope, unless anyone has any administravia they'd like to bring up?</p>
<p>13:23 &lt; deer&gt; * mihi wants to set a flag at point 3</p>
<p>13:23 &lt; jrandom&gt; flag set ;)</p>
<p>13:23 &lt; deer&gt; * duck at point 2</p>
<p>13:23 &lt; deer&gt; &lt;duck&gt; err, what index do we use?</p>
<p>13:24 * jrandom supposes we can move on to agenda item 2) 0.3 status</p>
<p>13:25 &lt; jrandom&gt; i ended up typing a lot more than usual for the 0.3 status notes, so rather than repeat them here, does anyone have any questions / concerns they'd like to bring up?</p>
<p>13:25 &lt; deer&gt; &lt;ughabugha&gt; Go on.</p>
<p>13:26 &lt; deer&gt; &lt;duck&gt; why do the ElGamal/AES+SessionTag decryptions fail too often?</p>
<p>13:26 &lt; jrandom&gt; duck&gt; due to overload and lag. if a garlic routed message is delayed beyond that sessionTag's lifetime, the decryption will fail</p>
<p>13:27 &lt; deer&gt; &lt;duck&gt; k</p>
<p>13:27 &lt; jrandom&gt; in addition, if the garlic routed message is decrypted fine, but the content was delayed so much that the cloves expire, its a wasted decryption, as well</p>
<p>13:28 &lt; deer&gt; &lt;duck&gt; somehow that sentence made me believe that there was a cause besided the overload/lag</p>
<p>13:28 &lt; deer&gt; &lt;tro|l&gt; ce zi e azi?</p>
<p>13:28 &lt; jrandom&gt; well, there have been some troubles with source routed reply blocks failing decryption, though since they're going away in 0.3.1, its not really worth debugging them too much</p>
<p>13:29 &lt; deer&gt; &lt;kaji&gt; wow it works!</p>
<p>13:29 &lt; jrandom&gt; (and a failed ElG is probably the most CPU intensive thing i2p does)</p>
<p>13:30 &lt; deer&gt; &lt;jrandom_&gt; heh welcome to i2p #i2p :)</p>
<p>13:30 &lt; deer&gt; * kaji praises 0.2.5.1</p>
<p>13:30 &lt; deer&gt; &lt;jrandom_&gt; 0.2.5.1? sheeit, get thee 0.2.5.4 :)</p>
<p>13:30 &lt; jrandom&gt; ok, anything else for 0.3 status?</p>
<p>13:31 &lt; deer&gt; &lt;kaji&gt; ..</p>
<p>13:31 &lt; deer&gt; &lt;duck&gt; .</p>
<p>13:31 &lt; deer&gt; &lt;kaji&gt; ping?</p>
<p>13:31 &lt; jrandom&gt; p0ng</p>
<p>13:31 &lt; mihi&gt; pung</p>
<p>13:31 &lt; deer&gt; &lt;mihi_backup&gt; pung2</p>
<p>13:32 &lt; deer&gt; &lt;Pellinore&gt; prawn</p>
<p>13:32 &lt; jrandom&gt; ok, moving on to 3) peer profiling / selection</p>
<p>13:32 * mihi moves the flag to the other number 3 ;)</p>
<p>13:32 &lt; jrandom&gt; (man, its kind of funny that there isn't any vegetarian seafood substitutes...)</p>
<p>13:32 &lt; deer&gt; * kaji praises 0.2.5.4.1</p>
<p>13:32 &lt; deer&gt; &lt;duck&gt; the whole peer profiling thing looks at magic, how do you plan to debug that?</p>
<p>13:32 &lt; deer&gt; &lt;Pellinore&gt; There is vegetarian crabmeat.</p>
<p>13:32 &lt; jrandom&gt; ah, true pellinore.</p>
<p>13:32 &lt; deer&gt; &lt;wilde&gt; jrandom: and veg sushi</p>
<p>13:33 &lt; jrandom&gt; duck&gt; what part of it looks like magic?</p>
<p>13:33 &lt; deer&gt; &lt;duck&gt; the whole classification etc</p>
<p>13:33 &lt; deer&gt; &lt;Pellinore&gt; And I could have sworn that I had seen some chik-type fish fillet substitute, but I could be wrong.</p>
<p>13:33 &lt; deer&gt; &lt;duck&gt; I mean, how do you know that you are doing optimal things?</p>
<p>13:33 &lt; jrandom&gt; the peer organizer (which moves profiles into the different groups) is a very simple and seperable component</p>
<p>13:33 &lt; jrandom&gt; oh, thats a good point.</p>
<p>13:34 &lt; jrandom&gt; i was doing some benchmarking the other day, running the organizer with 10,000 profiles, and it was organizing them all un ~50ms</p>
<p>13:34 &lt; jrandom&gt; (organizing == runningthe calculators and moving them between groups)</p>
<p>13:34 &lt; jrandom&gt; profiles also consume only ~3-4KB for a full profile, and a minimal profile takes ~200 bytes</p>
<p>13:35 &lt; deer&gt; &lt;duck&gt; yeah, but how do you know that you are right with '0.597s reply' for group 1</p>
<p>13:35 &lt; deer&gt; &lt;duck&gt; and that it shouldnt be 0.603s</p>
<p>13:35 &lt; jrandom&gt; (so we'll keep a full profile of the best 1000 peers, and minimal of the next 10,000)</p>
<p>13:35 &lt; jrandom&gt; ah, ok, good question.</p>
<p>13:36 &lt; jrandom&gt; thats the Rate component</p>
<p>13:36 &lt; jrandom&gt; there will obviously be some flutter, and we won't be very exact. the goal ois to get ballpark and organize them accordingly</p>
<p>13:37 &lt; deer&gt; &lt;duck&gt; I did see it using averages</p>
<p>13:37 &lt; jrandom&gt; e.g. find the routers on T3s with quad procs, and keep them seperate from routers on 386s with 2400 bps modems</p>
<p>13:37 &lt; deer&gt; &lt;duck&gt; so if you throw in 100 shitty nodes, you heavily influence the average</p>
<p>13:37 &lt; jrandom&gt; agreed - there are two different aspects of that that we can tune</p>
<p>13:38 &lt; jrandom&gt; first, we can make the threshold use the top 10% to determine the "fast" vs "not fast"</p>
<p>13:38 &lt; jrandom&gt; (or top 90%, whichever)</p>
<p>13:38 &lt; jrandom&gt; second, we can adjust the Rate component to keep various statistics - rather than a simple average, it can ignore skew, find stddev, etc</p>
<p>13:39 &lt; jrandom&gt; the rate component currently is quite remedial, and I'd love if someone good with stats could take a look at it and fix it up</p>
<p>13:39 &lt; jrandom&gt; (one of the key goals of it however is to keep it scale free - so if we get 100,000 events, it doesnt have to keep all those data points in memory, etc)</p>
<p>13:40 &lt; deer&gt; &lt;duck&gt; ok, so what prevents another NGRouting disaster from happening?</p>
<p>13:40 &lt; jrandom&gt; but you're absolutely right - the calculators and the peer selection algorithms are going to be a major focus of future network improvements</p>
<p>13:40 &lt; jrandom&gt; ngrouting tried to do two different things - find particular data, and find available peers.</p>
<p>13:40 &lt; jrandom&gt; we only need to find available peers</p>
<p>13:41 &lt; deer&gt; &lt;duck&gt; good</p>
<p>13:41 &lt; jrandom&gt; (and place our tunnels there)</p>
<p>13:41 &lt; deer&gt; * duck removes breakpoint</p>
<p>13:41 &lt; jrandom&gt; :)</p>
<p>13:41 &lt; mihi&gt; but we have to find tunnels as well.</p>
<p>13:41 &lt; jrandom&gt; right mihi - the netDb is an important point</p>
<p>13:42 &lt; deer&gt; &lt;Pellinore&gt; I'm good with the math of statistics, but terrible with the tech aspects of translating the data into computer-useful data.</p>
<p>13:42 &lt; deer&gt; &lt;Pellinore&gt; But I would happily partner up with someone and contribute if I can.</p>
<p>13:42 &lt; jrandom&gt; awesome pellinore!</p>
<p>13:43 &lt; jrandom&gt; the main rate class is up at http://i2p.net/cgi-bin/cvsweb.cgi/i2p/code/core/java/src/net/invisiblenet/i2p/stat/Rate.java?rev=1.3&amp;content-type=text/x-cvsweb-markup and we can talk later to discuss it :)</p>
<p>13:43 &lt; deer&gt; &lt;Pellinore&gt; k</p>
<p>13:43 &lt; jrandom&gt; (i know, i don't expect you to read the code, just mentioning it)</p>
<p>13:44 &lt; deer&gt; &lt;Pellinore&gt; I'll read it, but it will be about like my dog reading Kierkegaard.</p>
<p>13:44 &lt; jrandom&gt; hehe</p>
<p>13:45 &lt; deer&gt; &lt;Pellinore&gt; But I am learning.</p>
<p>13:45 &lt; deer&gt; &lt;Pellinore&gt; Anyway, please proceed -- I don't mean to bog things down.</p>
<p>13:45 &lt; jrandom&gt; (volunteering to help isn't bogging things down ;)</p>
<p>13:46 &lt; jrandom&gt; one point i forgot to mention about the peer profiling / selection code is that the 'integration' rank is only used in the network database for 'exploration', not for search/store</p>
<p>13:46 &lt; jrandom&gt; we still do (fairly) traditional kademlia search/store with all non-failing peers</p>
<p>13:46 &lt; jrandom&gt; also, within each peer group, we always choose *randomly*</p>
<p>13:46 &lt; jrandom&gt; (aka we don't always choose the fastest of the fast group, etc)</p>
<p>13:47 &lt; jrandom&gt; thats for both security and load balancing reasons</p>
<p>13:48 &lt; jrandom&gt; (security, so that an attacker can't just create a really fast router and watch everyone make use of them - they have to create a large number of really fast routers, skew the entire distribution in their favor, etc)</p>
<p>13:49 &lt; jrandom&gt; ok, do we have anything else for 3) peer profiling / selection?</p>
<p>13:49 &lt; deer&gt; &lt;duck&gt; .</p>
<p>13:50 &lt; deer&gt; &lt;ughabugha&gt; Doesn't look like it.</p>
<p>13:50 &lt; jrandom&gt; ok, moving on to 4) web architecture</p>
<p>13:52 &lt; jrandom&gt; mihi's new streaming lib gives us a lot of flexibility, plus he's mentioned a few times the desire to factor out the httpclient code into something more robust. in addition, human has started updating things to allow transparent squid(or tor-www) proxying and eepsite proxying within the same client</p>
<p>13:52 &lt; jrandom&gt; given all of these different factors, and the likelyhood that web like functionality will be important for i2p's user base, i think we should take a step back and try to envision how it should all fit together</p>
<p>13:53 * mihi has some code flying around on my hd for that httptunnel code. but it's far from being finished</p>
<p>13:53 &lt; mihi&gt; for me httptunnel == httpclient + some filters</p>
<p>13:53 &lt; mihi&gt; of course using my naming and streaming api.</p>
<p>13:54 &lt; mihi&gt; the code atm only allows different "anonymity profiles".</p>
<p>13:54 &lt; jrandom&gt; any thoughts on human's style of failing over to outproxies like squid/etc?</p>
<p>13:54 &lt; mihi&gt; i.e. send all requests over one destination, mux them up to 10, mux them up to one dest per hostname, etc.</p>
<p>13:54 &lt; jrandom&gt; ah, interesting</p>
<p>13:55 &lt; mihi&gt; but these dests are not used yet ;)</p>
<p>13:55 &lt; jrandom&gt; w3rd. yeah, there *is* the big caveat that having lots of destinations on one router does increase CPU load nontrivially</p>
<p>13:55 &lt; jrandom&gt; (since any garlic fail will need to fail once per dest before failing completely)</p>
<p>13:56 &lt; jrandom&gt; there is some magic left that can be used to minimize that though, i think</p>
<p>13:56 &lt; deer&gt; &lt;ughabugha&gt; Are you sure the transparent squid proxying is a good idea in the performance point of view? I mean, people might get too lazy and not take their eepproxy off after browsing I2P sites or using I2P squid, therefore wasting I2P bandwidth for things that don't require anonymity.</p>
<p>13:56 &lt; jrandom&gt; ughabugha&gt; all things require anonymity :)</p>
<p>13:57 &lt; jrandom&gt; (and if they can't tell the difference, well, sheeit...)</p>
<p>13:57 &lt; mihi&gt; my intention for httptunnel is that http links will be rewritten (similarly to fproxy) so that you don't need a proxy but only a servlet.</p>
<p>13:57 &lt; deer&gt; &lt;ughabugha&gt; jrandom: Heh. That way, I2P was born dead. There isn't going to be enough available bandwidth on the network, that all the endnodes would likely consume.</p>
<p>13:58 &lt; mihi&gt; on that info page one might add a feature to browse the site throufh e.g. squid.</p>
<p>13:58 &lt; jrandom&gt; not quite sure i follow. i do understand and agree with the DNS issues involved (though i think we can get around them a few ways)</p>
<p>13:58 &lt; jrandom&gt; ah, ok mihi</p>
<p>13:58 &lt; deer&gt; &lt;aum&gt; morning all</p>
<p>13:58 &lt; jrandom&gt; mihi&gt; so like a much much more advanced "Unable to reach peer" page?</p>
<p>13:59 &lt; mihi&gt; more like a "anonymity warning" page like in freenet ;)</p>
<p>13:59 &lt; jrandom&gt; ughabugha&gt; if we cant handle web browsing, how are we going to handle BT/filesharing?</p>
<p>13:59 &lt; jrandom&gt; hmm mihi, but do we want that, for people who want to browse the web anonymously? or would httpclient not be the app they'd use?</p>
<p>14:00 &lt; jrandom&gt; 'mornin aum, just in time for the dev meeting :)</p>
<p>14:00 &lt; mihi&gt; jrandom: if someone just wants to browse the web anonymously, he</p>
<p>14:00 &lt; deer&gt; &lt;ughabugha&gt; jrandom: Hmm... Good point. Are we going to at all? ;)</p>
<p>14:00 &lt; deer&gt; &lt;aum&gt; jrandom: you're not on iip, you're not on irc.duck.i2p ?!?</p>
<p>14:00 &lt; jrandom&gt; ughabugha&gt; we must.</p>
<p>14:01 &lt; mihi&gt; might configure httptunnel to so so (httptunnel will still work as a proxy, so it's quite trivial to add that)</p>
<p>14:01 &lt; mihi&gt; and most likely someone browsing the web "anonymously" will like some content filters, i guess ;)</p>
<p>14:01 &lt; jrandom&gt; mihi&gt; i think human already did :)</p>
<p>14:01 &lt; jrandom&gt; agreed mihih</p>
<p>14:01 &lt; jrandom&gt; /hih/hi/</p>
<p>14:02 &lt; mihi&gt; when i say httptunnel, i don't mean httpclient ;)</p>
<p>14:02 &lt; jrandom&gt; ah ok</p>
<p>14:02 &lt; deer&gt; &lt;jrandom_&gt; i'm here aum ;)</p>
<p>14:02 &lt; mihi&gt; but we *really* should move i2ptunnel to use the streaming api ASAP, which will reduce the number of files we must maintain</p>
<p>14:03 &lt; jrandom&gt; agreed</p>
<p>14:03 &lt; mihi&gt; human only patched the old version, i patched the new version myself</p>
<p>14:03 &lt; jrandom&gt; we ran into some bugs this afternoon, not sure if human bounced you logs yet</p>
<p>14:03 &lt; deer&gt; &lt;wilde&gt; another thing for the list: outproxy was taken, but more like i2p2i</p>
<p>14:04 &lt; mihi&gt; i did not get logs yet from anyone...</p>
<p>14:04 &lt; jrandom&gt; mihi&gt; we'll get on to the streaming code asap, we can talk about it after the meeting if you've got a moment, or over email?</p>
<p>14:04 &lt; deer&gt; * aum spent part of yesterday looking at p2p apps with a view to running them on i2p</p>
<p>14:04 &lt; jrandom&gt; wilde&gt; hmm?</p>
<p>14:04 &lt; jrandom&gt; wikked aum, anything promising?</p>
<p>14:04 &lt; deer&gt; * aum is presently inclined to favour 'push'-type filesharing, eg konspire2b</p>
<p>14:05 &lt; jrandom&gt; i2psnark could be modified to use the new i2ptunnel streaming api fairly easily too</p>
<p>14:05 &lt; deer&gt; &lt;human&gt; mihi: sending the logs (mihi@i2p.net, right?)</p>
<p>14:06 &lt; mihi&gt; dunno if mihi made a redirect for me</p>
<p>14:06 &lt; deer&gt; &lt;mihi&gt; s/mihi/jrandom</p>
<p>14:06 &lt; jrandom&gt; hmm aum, do you think that freenet/insert model really would work most effectively?</p>
<p>14:06 &lt; deer&gt; &lt;wilde&gt; jrandom: i was thinking of using a i2p webserver -&gt; proxy -&gt; internet, so people can browse a i2p site, but maybe an ordinary tunnel can manage the traffic</p>
<p>14:06 &lt; jrandom&gt; mihi&gt; want me to set that to for ward to you?</p>
<p>14:06 &lt; mihi&gt; jrandom: nothing against it ;)</p>
<p>14:07 &lt; deer&gt; &lt;ughabugha&gt; aum: 'Push'-type? What's that?</p>
<p>14:07 &lt; deer&gt; &lt;aum&gt; what i like about konspire2b is it takes away the expectation for instant/prompt delivery, and reduces bandwidth requirement, by only broadcasting content announcements, then letting people 'subscribe' to 'content feeds'</p>
<p>14:07 &lt; jrandom&gt; mihi&gt; done.</p>
<p>14:08 &lt; deer&gt; &lt;aum&gt; so instead of requesting a file, sitting and twiddling your thumbs, getting pissed off waiting for it to come in, you just 'subscribe' to the source's 'channel', then get on with other stuff</p>
<p>14:08 &lt; deer&gt; &lt;aum&gt; konspire2b.sf.net</p>
<p>14:08 &lt; jrandom&gt; aum&gt; but isn't that incredibly innefficient, since you've got to manage an overlay network (broadcast) for list of things available, then you've got to relay them?</p>
<p>14:09 &lt; jrandom&gt; wouldn't a direct swarming system be much more useful / efficient?</p>
<p>14:09 &lt; deer&gt; &lt;ughabugha&gt; Heh. That sounds promising for I2P.</p>
<p>14:09 &lt; deer&gt; &lt;aum&gt; jrandom: any examples of direct swarming?</p>
<p>14:09 &lt; jrandom&gt; wilde&gt; oh, so like the cgiproxy on duck and janonymous's site?</p>
<p>14:09 &lt; jrandom&gt; aum&gt; bittorrent</p>
<p>14:10 &lt; deer&gt; &lt;ughabugha&gt; aum: Did you mean http://konspire.sourceforge.net/?</p>
<p>14:10 &lt; jrandom&gt; where you get the torrent somewhere, and get content blocks directly from peers who have it</p>
<p>14:10 &lt; deer&gt; &lt;aum&gt; ughabugha: guess so :)</p>
<p>14:10 &lt; mihi&gt; argl... $me-&gt;brother removed the port forward for i2p...</p>
<p>14:10 &lt; jrandom&gt; d'oh</p>
<p>14:10 &lt; deer&gt; &lt;aum&gt; jrandom: is anyone currently trying bt/i2p?</p>
<p>14:11 &lt; deer&gt; &lt;baffled&gt; aum, have you had a close look at mnet?</p>
<p>14:11 &lt; jrandom&gt; aum&gt; eco made some headway with i2psnark</p>
<p>14:11 &lt; deer&gt; &lt;aum&gt; i've had a look, but not a close look</p>
<p>14:11 &lt; jrandom&gt; (though he's mia at the moment)</p>
<p>14:12 &lt; jrandom&gt; hmm, mnet with eepsite metatrackers and human's i2p/twisted transport might work</p>
<p>14:12 &lt; deer&gt; &lt;duck&gt; heavy testing by janonymous and me seem to show that the current i2psnark problems are 50% caused by i2p and 50% by snark</p>
<p>14:12 &lt; jrandom&gt; duck&gt; how recently were those tests?</p>
<p>14:12 &lt; deer&gt; &lt;duck&gt; last week</p>
<p>14:12 &lt; jrandom&gt; though i've got no qualms with potentially exploring other bt implementations</p>
<p>14:12 &lt; jrandom&gt; ah ok</p>
<p>14:13 &lt; deer&gt; &lt;duck&gt; about mnet, I _think_ that you'd first to fix mnet itself before you could make that working</p>
<p>14:13 &lt; deer&gt; &lt;duck&gt; so you might as wel fix freenet and use that</p>
<p>14:13 &lt; jrandom&gt; heh</p>
<p>14:13 &lt; deer&gt; &lt;aum&gt; fix freenet, ok! right after we bring in world peace ;p</p>
<p>14:13 &lt; deer&gt; &lt;duck&gt; but ask in #mnet @ freenode</p>
<p>14:13 &lt; deer&gt; &lt;Pellinore&gt; mnet=?</p>
<p>14:13 &lt; deer&gt; &lt;Pellinore&gt; Mute?</p>
<p>14:14 &lt; jrandom&gt; in that sense, perhaps an azureus mod for i2p might work?</p>
<p>14:14 &lt; deer&gt; &lt;wilde&gt; no, a market based p2p approach</p>
<p>14:14 &lt; jrandom&gt; pellinore - mnet.sf.net, a distributed data store without anonymity</p>
<p>14:14 &lt; deer&gt; &lt;baffled&gt; Actually, I'm using mnet quite reliably on about five machines.</p>
<p>14:14 &lt; jrandom&gt; right, the mojonation followon</p>
<p>14:14 &lt; deer&gt; &lt;baffled&gt; I can't use freenet reliably on one machine.</p>
<p>14:14 &lt; deer&gt; &lt;duck&gt; baffled: 0.6 or 0.7?</p>
<p>14:14 &lt; deer&gt; &lt;duck&gt; (0.7 is with twisted iirc)</p>
<p>14:16 &lt; deer&gt; &lt;Pellinore&gt; jrandom -- thanks.</p>
<p>14:16 &lt; deer&gt; &lt;Pellinore&gt; You can't use Freenet reliably on any machine.</p>
<p>14:17 &lt; deer&gt; &lt;baffled&gt; 0.6.[23].</p>
<p>14:17 &lt; deer&gt; &lt;Pellinore&gt; That is, among other reasons, why we are here. :)</p>
<p>14:17 &lt; deer&gt; &lt;aum&gt; i find that entropy works well... eventually!</p>
<p>14:17 &lt; jrandom&gt; i don't know, i still think freenet might be a good base to work from for the i2p DHT (when we can cut out most of the code and keep the data store / SSK/CHK stuff)</p>
<p>14:18 &lt; jrandom&gt; for file sharing, we should learn from the filesharing crowd what works best</p>
<p>14:18 &lt; deer&gt; &lt;aum&gt; but since my linuxworld article on entropy, there's gazillions of entropy nodes now, and the net has taken on some freenet performance characteristics</p>
<p>14:18 &lt; deer&gt; &lt;Pellinore&gt; I like the basic layout and features of Freenet, it's just that the fucker doesn't work, especially if one is using a dialup connection.</p>
<p>14:18 &lt; jrandom&gt; e.g. DC clones, BT, [or what else do those crazy filesharing people use?]</p>
<p>14:19 &lt; jrandom&gt; heh aum, damn you ;)</p>
<p>14:19 &lt; deer&gt; &lt;duck&gt; plus there are the things that Newsbyte did identify about entropy...</p>
<p>14:19 &lt; deer&gt; &lt;aum&gt; it's weaker anonymity, for example?</p>
<p>14:19 &lt; deer&gt; &lt;baffled&gt; Right but there are instability issues with 0.7.</p>
<p>14:19 &lt; deer&gt; &lt;baffled&gt; I think this connection has gotten flakey again.</p>
<p>14:19 &lt; jrandom&gt; and security issues. i think we can unfortunately pass on using entropy</p>
<p>14:21 &lt; jrandom&gt; but, erm, we're on discussion point 4, *web* architecture so for the moment lets jump back to that ;)</p>
<p>14:21 &lt; deer&gt; &lt;aum&gt; another mad-assed file-sharing idea - what about using nntp, with n people running linked nntpds, and just use one of those libs that breaks down files into b64 chunks and posts them, and libs to retrieve them?</p>
<p>14:22 &lt; jrandom&gt; NNTP would be really interesting - its reliable as fuck and time tested</p>
<p>14:22 &lt; deer&gt; &lt;duck&gt; linking the servers?</p>
<p>14:22 * jrandom would love to have an innd running with i2p ;)</p>
<p>14:23 &lt; deer&gt; &lt;aum&gt; and since i2p does the anonymity, there's no need for nntp to have it</p>
<p>14:23 &lt; jrandom&gt; right, the innd feed line could point at a local i2ptunnel proxy</p>
<p>14:23 &lt; deer&gt; &lt;aum&gt; and people with different servers can config the servers to cache their own choice of groups</p>
<p>14:23 &lt; mihi&gt; depending on how often they peer it would be possible to censor articles by creating message id collisions</p>
<p>14:23 &lt; deer&gt; &lt;duck&gt; (ever tried configuring innd?)</p>
<p>14:24 &lt; jrandom&gt; many times duck, but a loooong time ago</p>
<p>14:24 &lt; deer&gt; &lt;aum&gt; is innd hard to setup?</p>
<p>14:24 &lt; deer&gt; &lt;duck&gt; oh well, you are god</p>
<p>14:24 &lt; jrandom&gt; mihi&gt; agreed - thats not a censorship proof distribution medium</p>
<p>14:24 &lt; jrandom&gt; aum&gt; its a bitch</p>
<p>14:25 &lt; jrandom&gt; just like squid - its good at what it does, but we likely need something dirt simple (one click, hopefully) to bundle</p>
<p>14:25 * jrandom drags us back on topic</p>
<p>14:26 &lt; deer&gt; &lt;aum&gt; and yet another p2p/filesharing approach - i seem to recall seeing a p2p app that works via http, chaining http servers</p>
<p>14:26 * mihi guesses most users don't know how to set up a proxy in their brwoser...</p>
<p>14:26 &lt; deer&gt; &lt;aum&gt; sorry, what's the topic?</p>
<p>14:26 &lt; jrandom&gt; agenda item 4) web architecture ;)</p>
<p>14:26 &lt; aum&gt; as in, web servers within i2p?</p>
<p>14:26 &lt; mihi&gt; aum: yep</p>
<p>14:26 &lt; jrandom&gt; thats a good point mihi - a web system will want the basics (.bat, .sh scripts) for startup/shutdown</p>
<p>14:27 &lt; jrandom&gt; hmm, doesn't mozilla include a javascript url you can do to set the proxy?</p>
<p>14:27 &lt; jrandom&gt; e.g. could we have a config page on httptunnel to click "on"/"off"?</p>
<p>14:28 &lt; jrandom&gt; i realize we're not going to come to any decisions today about how the web functionality should work, but we should get some directions down</p>
<p>14:28 &lt; aum&gt; what's the problem with the current eepproxy setup?</p>
<p>14:29 &lt; jrandom&gt; e.g. filtering, inbound proxies (eeproxies), outbound servers (normal i2ptunnel server), outbound proxies (outproxies ala squid or tor-www)</p>
<p>14:29 &lt; mihi&gt; aum: it requires quite some skill both to provide and to request eepsites</p>
<p>14:29 &lt; jrandom&gt; also, the existing outproxy system sucks.</p>
<p>14:29 &lt; jrandom&gt; its wholely unscalable</p>
<p>14:29 &lt; jrandom&gt; we need something to allow/force distributing the outbound web request load across multiple outproxies</p>
<p>14:30 &lt; mihi&gt; how can users get these outproxies. config file (like in hosts.txt?)</p>
<p>14:30 &lt; jrandom&gt; and one reason why normal people would want to run outproxies is for plausible deniability - even if THEY are requesting "bad stuff", they can say "i2p did it"</p>
<p>14:31 &lt; jrandom&gt; thats one option mihhi</p>
<p>14:31 &lt; mihi&gt; jrandom: hehe</p>
<p>14:31 &lt; jrandom&gt; s/hh/h/</p>
<p>14:31 &lt; aum&gt; but doesn't eepproxy make 'direct' http connection to the requested server, ie as 'direct' as i2p connections are?</p>
<p>14:31 &lt; deer&gt; &lt;wilde&gt; . /castvote DHT ala Freenet</p>
<p>14:31 &lt; mihi&gt; aum: the problem are "normal" web urls.</p>
<p>14:31 &lt; jrandom&gt; ./castvote 3 developers x 1 month x 12h / day</p>
<p>14:32 &lt; deer&gt; * human added httptunnel support to the TunnelManager, btw</p>
<p>14:32 &lt; deer&gt; &lt;human&gt; s/httptunnel/httpclient/</p>
<p>14:32 &lt; deer&gt; &lt;aum&gt; what's that?</p>
<p>14:32 &lt; deer&gt; &lt;aum&gt; oh, http client support?</p>
<p>14:32 &lt; deer&gt; &lt;human&gt; aum: yes</p>
<p>14:32 &lt; jrandom&gt; right, we need to find a way to let people browse slashdot.org via i2p</p>
<p>14:32 &lt; deer&gt; &lt;aum&gt; so tunnelmgr now talks http?</p>
<p>14:32 &lt; jrandom&gt; nice1 human!</p>
<p>14:32 &lt; jrandom&gt; aum&gt; remember the squid proxy?</p>
<p>14:33 &lt; deer&gt; &lt;aum&gt; yep</p>
<p>14:33 &lt; deer&gt; &lt;wilde&gt; jrandom: so 4 man-months roughly for a DHT?</p>
<p>14:33 &lt; deer&gt; &lt;human&gt; aum: yup: openhttpclient &lt;port&gt; [&lt;outbound WWW proxy&gt;]</p>
<p>14:33 &lt; jrandom&gt; wilde&gt; i think thats reasonable, yes.</p>
<p>14:34 &lt; deer&gt; &lt;aum&gt; human: have you written it up anywhere?</p>
<p>14:35 &lt; jrandom&gt; aum&gt; all it does is say "if !eepsite { send through $outboundWWWproxy } else {send to eepsite}"</p>
<p>14:35 &lt; deer&gt; &lt;human&gt; aum: i was going to commit, then i got stuck with a StreamingI2PTunnelServer bug...</p>
<p>14:36 &lt; jrandom&gt; a good short term solution would be a "outproxies.txt", ala hosts.txt</p>
<p>14:36 &lt; deer&gt; &lt;aum&gt; human: and what exactly does 'openhttpclient &lt;port&gt; [&lt;outbound WWW proxy&gt;]' do?</p>
<p>14:36 &lt; jrandom&gt; though we should start thinking about medium and long term solutions</p>
<p>14:37 &lt; deer&gt; &lt;human&gt; human: will open a proxy listening for connections, that will redirect to WWW-proxy all the stuff that goes to URLS not ending with .i2p</p>
<p>14:38 &lt; deer&gt; &lt;Pellinore&gt; Now that's interesting.</p>
<p>14:38 &lt; deer&gt; &lt;aum&gt; human: ahh, nice, so you split off a thread within tunnelmgr?</p>
<p>14:38 &lt; deer&gt; &lt;human&gt; human: i.e. you can use it to browse both eepsite and the normal web</p>
<p>14:38 &lt; deer&gt; &lt;human&gt; human: yes</p>
<p>14:38 &lt; deer&gt; &lt;human&gt; s/human/aum/ :-)</p>
<p>14:39 &lt; deer&gt; &lt;aum&gt; slightly outside the 'brief' of tunnelmgr, but hey, there's no other place more appropriate in the i2p code - good job d00d</p>
<p>14:39 &lt; deer&gt; &lt;aum&gt; human: so you talk python *and* java? is that damaging your brain?</p>
<p>14:39 &lt; deer&gt; &lt;human&gt; aum: i did it to avoid launching yet another JVM for the EepProxy</p>
<p>14:40 &lt; jrandom&gt; (well, the code is implement in i2ptunnel's httpclient, human just recently exposed it through tunnelmanager as well)</p>
<p>14:40 &lt; deer&gt; &lt;aum&gt; yes, always good to keep the jvm instances down to a minimum</p>
<p>14:40 &lt; jrandom&gt; ((and imho httpclient is exactly where it should go ;)</p>
<p>14:40 &lt; jrandom&gt; (((until mihi's NextGen httpclient [httptunnel] is out)))</p>
<p>14:41 &lt; deer&gt; &lt;aum&gt; is httpclient in cvs, such that it'll build for me as part of i2p update/build?</p>
<p>14:41 &lt; jrandom&gt; yes, eepProxy uses httpclient</p>
<p>14:42 &lt; deer&gt; &lt;aum&gt; *man this is so schizophrenic - i've got 3 xchat sessions open (irc.duck.i2p,iip,freenode)) </p>
<p>14:42 &lt; jrandom&gt; :)</p>
<p>14:42 &lt; deer&gt; &lt;aum&gt; wicked latency on irc.duck.i2p</p>
<p>14:42 &lt; jrandom&gt; ok, so no closure on the web architecture today, obviously, but worthwhile discussion</p>
<p>14:43 &lt; jrandom&gt; yeah aum, 15s or so for me</p>
<p>14:43 &lt; jrandom&gt; anything else on the web architecture for now, or should we move on to the 5) ??? open discussion section?</p>
<p>14:43 &lt; deer&gt; * human is thinking about an I2PSocksTunnel</p>
<p>14:44 &lt; jrandom&gt; yikes, now that'd be cool</p>
<p>14:44 &lt; deer&gt; &lt;human&gt; (well, maybe it belongs to 5)</p>
<p>14:44 &lt; deer&gt; &lt;aum&gt; socks? is there a way to 'shim' non-socks-enabled clients through to a socks interface?</p>
<p>14:44 &lt; deer&gt; &lt;human&gt; aum: apt-get install tsocks :-)</p>
<p>14:45 &lt; aum&gt; web discussion - one last thing - what about possibly forking /patching an existing web client</p>
<p>14:45 &lt; mihi&gt; aum: sockscap for windwos</p>
<p>14:45 &lt; jrandom&gt; aum&gt; scary. very powerful, but scary.</p>
<p>14:45 &lt; jrandom&gt; [i'd hate to have to maintain that]</p>
<p>14:45 &lt; aum&gt; even for now, a brain-dead browser like dillo</p>
<p>14:46 &lt; jrandom&gt; [[though it could be made 'uber secure', etc. but still, very, very scary]]</p>
<p>14:46 &lt; aum&gt; or better, the browser control in wxwindows, it's multiplatform</p>
<p>14:46 * jrandom reminices about the orignial flinks, when it had a built in freesite browser</p>
<p>14:47 &lt; aum&gt; but then again, n00bs will whinge if they can't surf their usual m$-specific-javascript-infested sites</p>
<p>14:47 &lt; jrandom&gt; right aum, and so will hackers if it doesnt support the latest standards compliant code</p>
<p>14:47 &lt; aum&gt; hey, we should ask Microsoft for the source to IE6, then patch it ;p</p>
<p>14:47 &lt; jrandom&gt; building a browser == good way to waste thousands of man-hours</p>
<p>14:47 &lt; jrandom&gt; heh</p>
<p>14:47 &lt; deer&gt; * human is quite happy using privoxy</p>
<p>14:48 &lt; aum&gt; maybe they might toos in ie6 source as part of the European punitive settlement</p>
<p>14:48 &lt; deer&gt; &lt;human&gt; (http://www.privoxy.org/)</p>
<p>14:48 &lt; aum&gt; s/toos/toss/</p>
<p>14:48 &lt; jrandom&gt; human&gt; how would that fly for both sides of the proxy?</p>
<p>14:48 &lt; jrandom&gt; e.g. we'll want the content filtered locally, not at the outbound endpoint</p>
<p>14:49 &lt; deer&gt; &lt;human&gt; jrandom: users could be encouraged to install it</p>
<p>14:49 &lt; jrandom&gt; (but the outbound endpoint will want to filter some content to avoid abuse, etc)</p>
<p>14:49 &lt; deer&gt; &lt;human&gt; jrandom: or it may be part of the default I2P installation</p>
<p>14:49 &lt; aum&gt; what if a DWP (distrib web proxy) was using a DHT for its cache?</p>
<p>14:49 &lt; jrandom&gt; encourage == only geeks. bundle :)</p>
<p>14:49 &lt; jrandom&gt; that'd be Good aum</p>
<p>14:49 &lt; deer&gt; &lt;human&gt; jrandom: eheheh, agreed :-)</p>
<p>14:49 &lt; deer&gt; &lt;human&gt; jrandom: privoxy also runs on windogs, btw</p>
<p>14:50 &lt; jrandom&gt; word. yeah, we need some sort of content filtering - privoxy, muffin, whatever.</p>
<p>14:50 &lt; deer&gt; &lt;wilde&gt; long meeting...</p>
<p>14:50 * jrandom takes the hint..</p>
<p>14:51 &lt; deer&gt; &lt;Pellinore&gt; wilde: Much to be said.</p>
<p>14:51 &lt; jrandom&gt; anyone else have anything they want to bring up? we always have the mailing list for further things</p>
<p>14:51 &lt; deer&gt; &lt;Pellinore&gt; And much to be done of course.</p>
<p>14:51 &lt; deer&gt; &lt;Pellinore&gt; I have a couple of small questions.</p>
<p>14:51 &lt; aum&gt; could we fork privoxy and 1) make it work over i2p, 2) make it use DHT for caching?</p>
<p>14:51 &lt; deer&gt; &lt;Pellinore&gt; But they are as easily taken up privately.</p>
<p>14:51 &lt; jrandom&gt; pellinore&gt; whats up?</p>
<p>14:51 &lt; deer&gt; &lt;Pellinore&gt; Nada, sorry I said anything.</p>
<p>14:51 &lt; jrandom&gt; aum&gt; most likely we wouldnt need to fork</p>
<p>14:52 &lt; deer&gt; &lt;Pellinore&gt; I'll talk to you about it privately, or duck, at another time.</p>
<p>14:52 &lt; deer&gt; &lt;Pellinore&gt; Not really dev-specific stuff.</p>
<p>14:52 &lt; deer&gt; &lt;duck&gt; 10+16+7=33 manhours wasted on this one-hour overtime :)</p>
<p>14:52 &lt; jrandom&gt; but building a DHT is a lot of effort. wholely incredibly worthwhile</p>
<p>14:52 -!- Irssi: #i2p: Total of 10 nicks [0 ops, 0 halfops, 0 voices, 10 normal]</p>
<p>14:52 * aum goes again to visit infoanarchy.org wiki pages on DHTs</p>
<p>14:52 &lt; jrandom&gt; there are 16 people on iip?</p>
<p>14:53 &lt; deer&gt; &lt;human&gt; aum: no need to fork, just: web browser &lt;-&gt; privoxy &lt;-&gt; httpclient &lt;-&gt; i2p &lt;-&gt; outbound proxy &lt;-&gt; www.pr0n.com</p>
<p>14:53 &lt; deer&gt; &lt;wilde&gt; a generic DHT that would work outside I2P too, and that allows other binding than http</p>
<p>14:53 &lt; jrandom&gt; aum&gt; check out the link duck added to the i2p wiki, listing various ones</p>
<p>14:54 &lt; deer&gt; &lt;human&gt; aum: you can configure privoxy to make it connect to another HTTP/socks proxy (that's how my I2P-to-tor privoxy works)</p>
<p>14:54 &lt; deer&gt; &lt;duck&gt; (http://www.bamboo-dht.org/)</p>
<p>14:54 &lt; aum&gt; not sure i like the idea of a dht working outside i2p - the best dht is one without anonymity (and the anonymity overhead) that can work most optimally within i2p</p>
<p>14:54 &lt; jrandom&gt; hrm duck, what happened to that list of 'em?</p>
<p>14:54 &lt; deer&gt; &lt;duck&gt; aum: easier to test</p>
<p>14:55 &lt; deer&gt; &lt;duck&gt; jrandom: some commie did remove it I guess</p>
<p>14:55 &lt; jrandom&gt; heh</p>
<p>14:56 &lt; jrandom&gt; google++ : http://www.etse.urv.es/~cpairot/dhts.html</p>
<p>14:56 &lt; jrandom&gt; (not the same page, but interesting)</p>
<p>14:56 &lt; jrandom&gt; oh, here's the page - http://himalia.it.jyu.fi/ffdoc/storm/pegboard/available_overlays--hemppah/peg.gen.html</p>
<p>14:57 &lt; jrandom&gt; but yes, a DHT that doesnt try to implement anonymity, plus a DHT that supports both CHK-style and SSK style content would be best</p>
<p>14:58 &lt; jrandom&gt; (SSK style not being strictly necessary, but damn it would be really useful)</p>
<p>14:58 &lt; jrandom&gt; but, anyway</p>
<p>14:58 &lt; jrandom&gt; anyone got anything else they want to bring up?</p>
<p>14:59 &lt; deer&gt; &lt;duck&gt; tomorrow is St. Patrick's Day</p>
<p>14:59 &lt; deer&gt; &lt;wilde&gt; topic 5) ?</p>
<p>14:59 &lt; deer&gt; &lt;duck&gt; so all drink irish beer</p>
<p>14:59 &lt; jrandom&gt; good point</p>
<p>14:59 &lt; deer&gt; &lt;Pellinore&gt; TOmorrow is both the anniversary of my current relationship, and of my second marriage.</p>
<p>14:59 * jrandom takes note to avoid irish pubs tomorrow</p>
<p>15:00 &lt; jrandom&gt; oh, congrats pellinore :)</p>
<p>15:00 &lt; jrandom&gt; wilde&gt; we're on 5) ???</p>
<p>15:01 &lt; jrandom&gt; (and about to be on 6) [baf])</p>
<p>15:01 * jrandom will be coming to iip momentarily [if i can]</p>
<p>15:01 * jrandom winds up</p>
<p>15:01 * jrandom *baf*s the meeting closed</p>
</div>
{% endblock %}