(S laskavým svolením wayback machine http://www.archive.org/)
Stručné shrnutí
Přítomní: eco\_, i2p, jrandom, mihi, Ophite1, polo, rsk
Zápis ze schůzky
<jrandom> 0) ahoj <jrandom> 1) stav routeru <jrandom> 2) i2ptunnel <jrandom> 3) IM <jrandom> 4) plány 0.3 <jrandom> 5) synchronizace času <jrandom> 6) ??? <jrandom> ahoj mihi, polo <polo> ahoj! <mihi> ahoj jrandom <jrandom> 0) ahoj <jrandom> :) <rsk> ahoj <i2p> <duck> ahoj <jrandom> 1) stav routeru <jrandom> 0.2.3.3 je venku a vypadá to, že funguje <jrandom> samozřejmě je pořád spousta práce <jrandom> ale tohle by mělo být poslední vydání řady 0.2 <jrandom> 0.3 přidá profilování peerů (uzlů), aby mohly routery obcházet špatné routery <jrandom> (a 0.3.1 je přepracování transportů) <jrandom> hola Ophite1 <Ophite1> Čau. <rsk> takže víc režie v 0.3? <jrandom> ano i ne <jrandom> bude mít testování peerů, ale bude to více cílené <rsk> uvidíme zrychlení u výběru cesty? <jrandom> ano <jrandom> jsou tam ty kalkulátory 'liveliness' a přibudou nové kalkulátory latence a propustnosti <jrandom> navíc si lidé budou moci doladit vlastní preference pro konkrétní peery <jrandom> např. když víte, že chcete preferovat peer X před peerem Y, budete jim moci dát váhový bonus o pár náhodných bodů <mihi> bude čisté vypnutí? *g* <jrandom> to je vlastně dobrá otázka, mihi <jrandom> i2p se blíží bodu, kdy potřebuje admin rozhraní. <jrandom> nejdelší úloha, která brzdí jeho běh, je GenerateStatusConsoleJob <jrandom> která teď může trvat až 4–6 sekund <jrandom> (zdržuje všechno ostatní) <jrandom> to musí jít asynchronně a na požádání. <jrandom> ale nechci psát webový nasloucháč / atd. <jrandom> možná naopak – servlet, který spustí router a komunikuje s ním <mihi> nepotřebujete plný web server. stačí, když uvidíte GET, vrátíte svá data. <jrandom> jasně <jrandom> máš pravdu, tohle by mělo být taky v 0.3. <mihi> a když uvidíte něco jiného (třeba SHUTDOWN), udělejte si, co chcete. samozřejmě jen z localhostu ;) <jrandom> ale no tak <mihi> pak může někdo udělat pěkný admin program <jrandom> jo <mihi> měl jsi nějaké spouštěče přes soubory, že? jsou někde zdokumentované? >>> mihi [~mihi@ags9-d9ba536a.pool.mediaWays.net] požádal o PING 1072820995 od jrandom <jrandom> to bylo v IDN, ne v samotném routeru <jrandom> ale to by mohla být dobrá cesta <jrandom> je to triviálně jednoduchý systém <jrandom> dobrý nápad, pojďme tím směrem <jrandom> (a můžu ten kód prostě znovu použít :) <i2p> <duck> tahle kouzelná práce se soubory začíná vypadat jako plan9 <jrandom> lol <mihi> ale souborové spouštěče vyžadují polling <jrandom> jasně, mihi, číst adresář každých 30 s není tak hrozné <mihi> ale ServerSocket#accept je levnější. <mihi> protože nespotřebuje žádný čas. (za předpokladu dobrého OS) <mihi> dobře, souborové spouštěče jsou lepší než nic, jasně. <jrandom> serverový socket by umožnil vzdálenou administraci <jrandom> (když je to vhodné) <jrandom> nevím. <jrandom> něco, co je potřeba dořešit. <jrandom> (nebo jestli se na to chce někdo vrhnout a napsat to... :) <mihi> a serverový socket by mohl doručovat i routerConsole. <jrandom> jo <jrandom> ok, 2) i2ptunnel <jrandom> :) <jrandom> i2ptunnel je pořád frajer a vypadá to, že k jeho ovládání chceme přidat API založené na socketu <i2p> <anon> jsou aumovy plány na ic2cp2pc prozatím u ledu? <jrandom> ano, ci2cp je mrtvé, nahrazené socketovým API pro ovládání I2PTunnel <jrandom> myslím, že bych to API mohl nahodit během pár dní, aby se mohl pustit do implementace <mihi> prostě použij socket, udělej in.readLine() a tu řádku pošli do runCommand() ;) <rsk> co i2p dává to API? <jrandom> v podstatě to, co říká mihi (jen to formátuje výsledky a posílá je zpět standardním způsobem) <mihi> s příslušným „loggerem“, který pošle odpovědi zpět. <mihi> s/commands/results/ <jrandom> rsk> umožní to vývojářům aplikací stavět klientské a serverové sockety nad i2p, aniž by se museli zabývat šifrovacími požadavky I2CP <jrandom> jasně, jasně <jrandom> i2ptunnel /má/ režii v situacích, kdy je hodně i2ptunnelů <jrandom> bez ohledu na JVM <jrandom> klienti i2ptunnelu vytvářejí novou destination pro každý kontaktovaný klient a router bude fungovat tím hůř, čím více lokálních destination přibývá. <rsk> aha <jrandom> to je kvůli požadavkům na anonymitu sítě svázaným s tím, jak funguje naše šifrování <jrandom> pro aplikace, které si jen chtějí otevřít jeden či dva tunnel k peeru, tohle nové API bude BOŽÍ <jrandom> ale pro aplikace, které potřebují mluvit se spoustou dalších peerů, je cesta I2CP. <jrandom> (protože jde o jednu destination, multiplexovanou přes i2cp) <jrandom> řekl bych, že je to taková ta stará rovnováha TCP vs. UDP <jrandom> mihi> máš nějaké postřehy nebo nápady do budoucna pro i2ptunnel? <rsk> jak to jde s IP přes i2p, nebo s VPN věcmi? <mihi> jrandom: ať někdo napíše dobré streaming API a pak ať ho i2ptunnel používá. <mihi> totéž pro naming server. <mihi> možná přidat nějaká pořadová čísla, pokud nikdo neudělá výše uvedené. <mihi> což bude znamenat nekompatibilní změnu. <jrandom> nekompatibilní změny nejsou špatné, jsme na začátku vývoje <jrandom> (kdybychom mohli zvětšit i velikost ID na dva nebo čtyři bajty na stranu?) <mihi> streaming API bude tak jako tak nekompatibilní změna. a kdyby i2p fungovalo, nepotřebujeme pořadová čísla. <jrandom> rsk> pozastaveno, dokud nebude mít někdo čas se toho chopit? ≡ rsk/#i2p si myslí, že nekompatibilní změny jsou nejlepší <jrandom> správně, mihi <mihi> ID by teď měla být 3 bajtová, tak proč je *zvětšovat* na 2 bajty? <jrandom> mihi> popravdě bych rád postupně zneplatnil mode=GUARANTEED a implementoval to ve streaming API ≡ mihi/#i2p taky <jrandom> necháme i2p = IP, ne TCP ani UDP <jrandom> sakra, přál bych si mít o dalších 14 hodin denně navíc. <mihi> jen 14? ;) <jrandom> ;) <jrandom> nejsou ta 3bajtová ID odvozena oběma stranami spojení? nebo jsem možná jen zmatený <mihi> každá strana má ID o 3 bajtech, nicméně vždy se musí posílat jen jedno. <jrandom> možná implementuju streaming API, vyhodím GUARANTEED a pak přidám ten socket controller. <jrandom> aha, ok <mihi> viz /apps/i2p/i2ptunnel/java/src/protocol.txt <jrandom> jo, jo <mihi> mimochodem, kdo ten soubor odložil *tam*? ≡ jrandom obviňuje eco ;) <jrandom> počkej, ne, tys je tam dal <jrandom> ne? <jrandom> aha, počkej, ne, já jsem je importoval ≡ jrandom viní sebe, že je hloupý. <jrandom> (la la la) <jrandom> sakra. dobře, jo, práce na streaming API a socket controlleru mi umožní promyslet manifest testování / profilování / výběru peerů <jrandom> pošlu to za pár dní k připomínkám <jrandom> (a dostane mě to z routeru. pestrost++) <jrandom> mihi> ještě něco k i2ptunnel? <mihi> o ničem nevím <jrandom> super <jrandom> (díky znovu, že sis udělal čas zapojit se do těchhle věcí, vím, že jsi zaneprázdněný fiw a ostatním) <jrandom> ok, thecrypto tu není, ale dělá pokroky na IM aplikaci. <jrandom> (to je bod 3 programu) <jrandom> 4) plány 0.3 <jrandom> 0.3.0 ~= věci kolem profilování peerů a teď to také bude zahrnovat streaming API a ten socket controller pro i2ptunnel <jrandom> ale, pokud bys to neuhodl, 1. ledna to nevydáme <jrandom> 15. ledna je krajní možnost. uvidíme, jak to půjde. <jrandom> 0.3.1 není na celý měsíc práce, takže to možná nebude potřeba posouvat. <jrandom> jinak je roadmap stále vcelku v souladu a odpovídá směru, kterým jdeme <jrandom> 5) synchronizace času <jrandom> nové FAQ je na http://wiki.invisiblenet.net/iip-wiki?I2PTiming <jrandom> mihi, měl jsi návrh k té čtvrté možnosti (postavit si vlastní časování uvnitř i2p)? <jrandom> ahoj brawl <mihi> jo. ∙φ∙ brawl je nyní znám jako eco_ <eco_> čau lidi <jrandom> nazdar eco <mihi> měl bys se připojit ke 3 náhodným uzlům a zapamatovat si rozdíl mezi průměrným časem a lokálním časem. <jrandom> právě jsme probrali streaming API / tunnel API <mihi> a pak nabastlit vlastní getTimeMillis, které to koriguje. <Ophite1> mihi: Ne, neměl. <jrandom> mihi> takže když útočník vytvoří 1000 uzlů se špatným časem, všichni jsou v háji <jrandom> (protože průměr by se náhodně vychyloval) <mihi> když útočník vytvoří 1000 uzlů, jsou přece všichni v háji tak jako tak...? <rsk> nebylo by to samokorigující? <Ophite1> mihi: OK, 3. <jrandom> ne, měli bychom to umět zvládnout, mihi. <mihi> dobře, tak používej průměr jen když je směrodatná odchylka menší než cca 1 s. <rsk> když mají všichni stejný čas, jsi v pohodě, i když je ten čas špatně, že? <jrandom> rsk> když by bylo všech 1000 uzlů synchronních, ale co když budou všichni náhodně <mihi> použij jen časy, které jsou dostatečně blízko u sebe. když ne, vezmi 3 nové uzly. <jrandom> mihi> jasně, mohli bychom implementovat NTP (což v zásadě dělá to, co říkáš – používá sérii kandidátních průměrů k iterativnímu přiblížení ke správnému času <mihi> ale nemusíme řešit všechno (jako ping latence), jak to dělá ntp. <Ophite1> kdybychom to nedělali, mihi, čas by se pomalu posouval zpět. ≡ mihi/#i2p si myslí, že je to lepší než nechat uživatele nastavovat si čas individuálně. <jrandom> takže kdokoli, kdo si náhodně vybere 3 z těch rozhozených uzlů, skončí na své vlastní privátní síti? <jrandom> co ta třetí možnost – <jrandom> i2p má komponentu, která se ověřuje proti reálnému NTP serveru přes NTP nebo SNTP <mihi> když máš v netDB jen rozhozené uzly, jsi taky na té privátní síti... <jrandom> místo znovuvynalézání kola <Ophite1> i když se mi to částečně líbí... <Ophite1> NTP není podepsané, je zranitelné MITM útokem. <Ophite1> nebo DNS cache poisoning třeba u time.nist.gov <jrandom> jasně, Ophite1, ale s 200 000+ SNTP nebo NTP hosty je to velká množina k napadení. <jrandom> rozhodně bychom nesynchronizovali přes time.nist.gov. <Ophite1> spojení z i2p na časový server NSA by mohlo zvednout pár obočí, ne? :) <jrandom> a když útočník půjde po time.nist.gov, dotkne se to všech a všude <jrandom> heh <mihi> tak to zkombinujeme. zeptej se „skutečného“ NTP serveru a svého souseda. když oba řeknou totéž, je to v pořádku. <jrandom> takže ještě /víc/ kódu ;) <jrandom> ale jo, to dává smysl. <Ophite1> to je zajímavé. a když ne? <Ophite1> vybrat jiný NTP server? <jrandom> odmítnout peer. <mihi> zkusit jiný NTP server a dalšího peera. <mihi> dokud nebude shoda. pak odmítnout všechny předchozí peery. ≡ mihi/#i2p píše pomaleji než jrandom :( <Ophite1> shoda v určitém prahu, řekněme 1 s? <jrandom> 1 s by bylo dobré. <jrandom> akceptovat peery až do cca 30 s (kvůli zpoždění) <Ophite1> je 1 s v pořádku na HODNĚ ZATÍŽENÝCH připojeních? <jrandom> 1 s pro synchronizaci, 30 s pro komunikaci. <Ophite1> viděl jsem latenci na DSL stoupnout na 5 sekund, když se na něm dělají zlé věci. <jrandom> s TCP nebo UDP? <Ophite1> ale pak stejně ten host asi nebude ten, ke kterému chceš synchronizovat čas ;) <jrandom> jasně <Ophite1> udp. <jrandom> hmm 'k <Ophite1> čekal bys, že se to zahodí :) <i2p> <duck> myslím, že problém je spíš dát uživateli vědět, že je problém <jrandom> duck> to je pravda. <i2p> <duck> teprve po pročtení velkých logů uvidí, že mají špatně hodiny (pokud na to přijdou) <Ophite1> Možná. Tak nějak. <i2p> <duck> nebo že port je už svázaný <jrandom> admin rozhraní by bylo fajn. <i2p> <duck> svět je lepší, když všichni používají NTP připojené na jejich lokální stantrum (sp) 2 server CTCP Cloaking je nyní [On] <jrandom> možná uděláme verzi 0.4 se spoustou úklidů a věcí pro koncové uživatele, než půjdeme na 1.0? <jrandom> správně (stratum) <i2p> <duck> jen klienti na Windows to pravděpodobně mít nebudou <i2p> <duck> ale ti také pravděpodobně nebudou stabilní <jrandom> Windows mají NTP <i2p> <duck> tak koho to zajímá <Ophite1> duck: Windows XP a Windows Server 2003 obsahují NTP. <jrandom> je to taky sakra jednodušší než na Unixu <Ophite1> ve výchozím nastavení synchronizované na time.windows.com, pokud si dobře pamatuju. <jrandom> s rozbalovacími možnostmi pro jiné <Ophite1> je to klíčová součást Windows Product Activation. <Ophite1> nemůže vypršet, když neznáš čas :) <jrandom> heh <mihi> na mé univerzitě není volba... všechny hodiny jdou o 1 až 5 hodin špatně. ale tam možná stejně nesmím i2p provozovat... <Ophite1> mihi: i2p by se mělo obzvlášť snažit fungovat v takové situaci... <jrandom> mihi> parádní! můžeš pomoct testovat skrytý provoz :) <jrandom> mimochodem, letos v létě budu trochu cestovat <jrandom> pravděpodobně budu offline, bez notebooku. <i2p> <duck> vedlejší myšlenka: ntp.duck.i2p :) <Ophite1> Podívej se na to takhle: Brianna z Kazaa si stáhne super nový anonymní klient pro sdílení souborů, o kterém jí její nejlepší kamarádka řekla, že je fakt skvělý a umožní ti tajně si psát s lidmi a tak. Chceme jí říkat, že si musí nastavit hodiny na přesnost 30 sekund (kde je vezme?)? Nebo chceme, aby to prostě fungovalo? <jrandom> ale postarám se, abych mohl být na I2P i jen s veřejnými terminály. CTCP Cloaking je nyní [Off] <jrandom> to je jasné, Ophite1. prostě to funguje (s dokumentací pro geeky) <jrandom> duck> bootstrap ;) <jrandom> a i2p /nebude/ vyžadovat roota. <Ophite1> o to mi jde. <Ophite1> jrandom: spustil bys router na stroji, kde nemáš roota? <jrandom> takže jo, mix mezi možnostmi 3 a 4 <Ophite1> možnost 3.5 zní super ;) <jrandom> Ophite1> rozběhl bych jich stovku :) <mihi> možnost 3.1415926... <jrandom> (a přejdu do další laboratoře, spustím dalších sto) <Ophite1> Jé. Koláč. Mňamka. ;) <Ophite1> jrandom: říkal jsem, že tam nemáš roota. Amatére. :) <jrandom> lol <jrandom> takže tam v podstatě míříme. <jrandom> dokud nebude věc s časem implementovaná, měl by každý použít možnost 1 nebo 2. <jrandom> pro možnost 2, kdyby někdo mohl sepsat nějakou dokumentaci, ocenil bych to <Ophite1> to je prozatím přijatelné, protože ještě nejsme připraveni pro Briannu z Kazaa a spol. ;) <mihi> pro pořádek: nebudu testovat „skrytý provoz“. můj univerzitní účet už jednou deaktivovali a nechci, aby mi ho zablokovali znovu... <Ophite1> mihi: jsi ten nejlepší test, jaký bychom kdy mohli mít. <jrandom> Ophite1 > ne na test. <jrandom> 'k mihi, najdeme cestu a až to bude připravené, budeš to moct používat. <Ophite1> OK, možná ne test. Některé univerzity jsou tak protivné, že tě radši vyhodí, než aby tě jen zablokovaly. <Ophite1> Znám někoho na nejvíc anti-sdílecí, pro-RIAA univerzitě v USA. Provozuje 2Gbit dumpsite. <jrandom> lol pěkné <Ophite1> chápu, že jen velmi, velmi málo lidí má takovou odvahu. <jrandom> ok, to je vše k synchronizaci času. <jrandom> eco_> ahoj. nějaké BT věci, o kterých chceš mluvit? {nebo necháme na příští týden} <Ophite1> ale měj na paměti, že většina internetu se v budoucnu pravděpodobně stane univerzitní/korporátní. i2p může být zakázáno. i2p může KLIDNĚ být považováno za zneužití u velkých ISP. i2p bude muset fungovat tak jako tak. <Ophite1> mám pár zajímavých nápadů tím směrem, které představím někdy příště. <jrandom> word <Ophite1> (transport) <rsk> i2p je považováno za zneužití u velkých ISP, přečti si smlouvu <Ophite1> rsk: provozovat distribuovanou proxy cache? <rsk> provozovat jakýkoli ‚server‘ <Ophite1> rsk: Ne, ledaže by to přeposílalo do SMTP nebo WWW. <jrandom> provozovat služby jakéhokoli druhu <jrandom> jo <Ophite1> rsk: Hehe, na to mám řešení ;) <eco_> jrandom: můžu dát krátký update <jrandom> máš slovo :) <eco_> portuju na Javě postaveného BitTorrent klienta snark (www.klomp.org/snark), abych se seznámil s i2p <eco_> první port běží nad i2ptunnel, přímo volá Java třídy <eco_> aktuální stav: funguje to se 2 peery, nad > 2 se to rozbije, tunnels se neuklízejí, takže restartování bolí <eco_> ETA: tento víkend ≡ eco_/#i2p si uvědomuje, že to může být považováno za > 2003 <jrandom> w00t! ≡ jrandom hackuje time.nist.gov <eco_> „skutečný“ port by pravděpodobně snížil režii tunnels, ale to je další krok <jrandom> paráda ≡ eco_/#i2p vrací slovo MC jrandomovi <jrandom> 'k, myslím, že to bylo vše <jrandom> 6) ??? <jrandom> má někdo ještě něco? ≡ eco_/#i2p by rád vyjádřil díky za dobře odvedenou práci jrandom a spol. až do teď <eco_> a že spánek má nějaké využití pro homo sapiens, i když jrandom se zdá dokazovat opak <jrandom> ;) <jrandom> co si myslíte o schůzkách tady místo na iip, dokud nebude i2p dostatečně spolehlivé? <jrandom> osobně mě unavuje, že se nám schůzky každý týden rozsypou na kusy. <i2p> <anon> lilo stojí za nic! <eco_> tím, že jsme tady, možná lidi vylučujeme <jrandom> ano, vím. <jrandom> pokud se nám povede udělat most iip<-->sem <i2p> <duck> IIP každý den lidi vyhazuje <jrandom> to by bylo dobré. <jrandom> jo. <jrandom> iip je bohužel nepoužitelné pro spolehlivou vývojářskou komunitu. <i2p> <duck> http://banaan.zeelandnet.nl/open/changate.html <i2p> <duck> to je kód, na kterém je založen eyeKon atd. <jrandom> a i když rád kóduju sám, vy všichni přicházíte s opravdu dobrými nápady a děláte důležité věci, které jsou zásadní ≡ rsk/#i2p píše skript pro aktualizaci Windows <i2p> <duck> teoreticky by se to mohlo připojit ke 3 serverům a každý z nich zrcadlit <jrandom> word, ducku, možná zkusím jeden rozběhnout na i2p.dnsalias.net <jrandom> pekelný ping flood ;) <eco_> IRC na duck.i2p dnes bylo docela dobré, porazilo iip <jrandom> souhlas <jrandom> ale párkrát mě to shodilo. <jrandom> možná to příští týden bude spolehlivější <eco_> je to ve tvých rukou :-) <jrandom> spolehlivost se asi nezlepší do 0.3, která je ~2 týdny daleko <jrandom> (1 týden na věci kolem tunnel/streaming, 1 týden na profilování / testování peerů) <jrandom> pak budou jakékoli bugy, které to přinese :) <jrandom> ale musím říct, že mě opravdu nadchlo streamovat včera v noci audio od auma <jrandom> a ardvark dokázal streamovat 42 minut bez bufferování! <jrandom> takže možná budeme dost spolehliví <jrandom> (můj lokální router je jen phttp, což je asi drobná příčina) <jrandom> ok, má někdo ještě něco? <i2p> <duck> nemůžu si na nic vzpomenout ≡ eco_/#i2p také ne ≡ jrandom se chystá... ≡ jrandom *baf* uzavírá schůzku