간단 요약

참석자: beefbroth, CCD, ChZEROHag, co, dcat, dm, godmode0, jrand0m, mihi, mihi_backup, mrflibble, Myself248, myself248, nop, pitu, Ryan_Singer, shardy, thecrypto, UserX, yodel

회의 기록

[22:56] 오케이 오케이 [22:56] 안건 [22:56] 0.0) 환영 [22:56] 1.0) 개발 현황 [22:56] 1.1) router [22:56] *** Myself248 (~ident@anon.iip)님이 채널 #iip-dev에 입장했습니다 [22:56] 1.2) DH 사전 계산 [22:56] 2.0) 마이크로 로드맵 [22:56] 3.0) 앱 / 사용 [22:56] 4.0) ns [22:56] 5.0) IM [22:56] 6.0) 잡무(administravia) (cvs, bugzilla, cvs list, cvs web) [22:56] 7.0) 질문 [22:57] (맞아요, 오늘은 7가지. w00t) [22:57] 0.0) 환영 [22:57] 안녕하세요. [22:57] 안녕 [22:57] 오늘 17명. 멋지네 [22:57] *** Ryan_Singer (chatzilla@anon.iip)님이 채널 #iip-dev에 입장했습니다 [22:57] 계속 늘고 있음 [22:57] 오케이 [22:57] 1~hi [22:57] 1.1) router 개발 현황 [22:58] 자바 레퍼런스 구현 router가 아주 잘 돌아가고 있어요 [22:58] *** ChZEROHag (hag@anon.iip)님이 채널 #iip-dev에 입장했습니다 [22:58] 이제 서로 다른 router에서 애플리케이션을 실행하고 서로에게 메시지를 보낼 수 있어요 [22:59] 방해해서 미안, 한 번만 할게 [22:59] 반복적·점진적 접근을 취하고 있고, 현재 상태는 보안은 되지만 익명성은 없고, 확장성도 없으며, 수집 가능한(harvestable) 상태예요 [22:59] C api 작업하는 사람 또 있어요? [22:59] 'lo ChZEROHag, 뭐가 어떻게 돼가? [22:59] 나 하고 있긴 한데, 아주 천천히 [22:59] *** dcat (dirtycat@anon.iip)님이 채널 #iip-dev에 입장했습니다 [22:59] 오 좋네 [22:59] toorcon 끝나면 shardy가 그거 작업할 거야 [22:59] 둘이 같이 해보면 어때? [23:00] jrand0m: 수동으로 메시지를 보낼 destination을 입력할 수 있나요? [23:00] 정확히 말하면, destination의 ASCII 표현이 있나요? [23:00] 그래 co, 둘 다 가능해 [23:00] 훌륭하군요. [23:00] destination과 모든 I2P 구조체는 (대체 알파벳을 쓰는) base64로 로드·직렬화할 수 있어요 [23:01] 그럼 기억하기 쉽진 않겠지만, ASCII이긴 하겠죠? [23:01] (예: 내 router 중 하나의 netDb에는 leaseSet-enD4jtE-orMwFD0QGog9GAyC5MvLvnPzhVD8cDYvSI8.dat가 있는데, 여기엔 destination enD4jtE-orMwFD0QGog9GAyC5MvLvnPzhVD8cDYvSI8의 leaseSet가 들어 있어요) [23:02] [그건 H(destination).toBase64()예요 [23:03] ChZEROHag> 그거 도와줄 수 있는 게 있으면 말만 해요 [23:03] 오케이 1.1 끝. 1.2) DH 사전 계산 [23:03] 대신 해줄 수 있어요? :-) [23:04] 어젯밤에 DH 교환을 위한 사전 계산 최적화를 작성했는데, 세션 협상 1.5초에서 약 1초를 줄여요. 암호학 아는 분이 이게 말이 되는지 한번 봐주면 좋겠어요 ;) [23:04] lol ChZEROHag [23:04] 아아 그게 필요했지 [23:04] netdb 구현 [23:04] 그거 cvs에 있어요? [23:04] 그 DH [23:04] 응 thecrypto [23:05] C:\dev\i2p\code\core\java\src\net\invisiblenet\i2p\crypto\DHSessionKeyBuilder.java [23:05] 음 난 앞으로 3~4시간은 깨어 있을 텐데, 할 일 좀 생기겠군요 [23:05] er, s/C:\\dev/g; s/\\/\//g [23:05] *** wax_off (~nomail@anon.iip)님이 채널 #iip-dev에 입장했습니다 [23:06] 좋아. netdb 구현은 왜 필요한 거죠? [23:06] 기억이 안 나요 [23:06] 현재 cvs에 확장 불가능한 netdb가 있어요 [23:06] ㅎㅎ [23:06] 적어도 일주일은 손도 못 댔어요 [23:06] C I2CP API 작업 중이죠? I2NP는 아니고? [23:07] 그냥 전부 다 하려 했죠 [23:07] *** wax_off 님이 #iip-dev에서 나갔습니다 [23:07] I2NP는 I2CP보다 정말 정말 훨씬 더 많은 작업이에요 [23:07] 제대로 시작만 하면 술술 나올 거예요 [23:07] 근데 C로 I2NP 구현하면 정말 최고죠 [23:07] 지금 I2NP 구현된 게 뭐라도 있나요? [23:07] (I2CP:I2NP::FCP:FNP) [23:07] 있어 dm [23:08] * ChZEROHag가 emacs 최소화 풀음 [23:08] 내가 작업 중인 자바 구현에는 I2NP가 동작해요 [23:08] 좋아요... [23:08] jrand0m: url? 레퍼런스가 필요해요, 언어가 끔찍하더라도요. [23:08] 헤헷 [23:08] 음, 사실 그건 6.0 administravia에요: 즉, 우리의 익명 cvs 접근은 도대체 어디 있냐는 거 ;) [23:09] DH 자료 받는 중 [23:09] 굿 [23:09] 아 맞다 [23:09] jrand0m, 일정으로 돌아가서, 마이크로 로드맵? [23:09] * thecrypto 얼굴을 가림 [23:09] 그럼 기다릴게요 :) [23:09] 헤헷 'k [23:09] 마이크로 로드맵 [23:09] 0.1부터 0.5까지 계획이 있어요 [23:09] freenet 로드맵 따라간 거네요? [23:10] *** mrflibble (mrflibble@anon.iip)님이 채널 #iip-dev에 입장했습니다 [23:10] 0.1) 동작함, 보안됨, 익명성 없음, 확장성 없음, 수집 가능(harvestable) [23:10] 개발이 0.5쯤에서 느려지다가 멈추죠... [23:10] 우리는 지금 0.1이에요. [23:10] 헤헷 그랬지 dm, flinks도 0.5.2에서 뻗었더라 ;) [23:10] 전체 패키지를 뭐라고 부르나요? [23:10] (이상한 우연이지) [23:10] 즉, 뭐의 0.1 버전이죠? [23:10] 전체 패키지? i2p router reference implementation [23:10] co: Wonga [23:10] * beefbroth 회의에 참여함 [23:11] buenos noches beefbroth [23:11] 좋아요. 설명이 되네요. [23:11] 사실 그걸로 부를까. 확실히 'i2pd'보단 더 흥미롭게 들리네 [23:11] 0.1에는 버그가 있어요. 그건 당연하고요. 눈에 띄는 최적화도 없어요(DH 사전 계산은 도움 되지만). [23:11] 헤헷 [23:11] jrand0m, 그럼 0.2는 뭐예요? [23:11] invisible internet police department [23:11] 좋아, 0.2 [23:12] 0.2는 동작함, 보안됨, 익명성 있음, 확장성 없음, 수집 가능 [23:12] 0.2에서는 길이가 0이 아닌 tunnel을 지원해요 [23:12] 사실 어젯밤에 대부분 구현했는데, 아직 충분히 테스트하진 않았어요 [23:12] 0.2는 이번 주말까지 준비될 것 같아요 [23:12] 개발 측면에서 얼마나 남았죠? [23:13] 좋아요 [23:13] 0.3)는 동작함, 보안됨, 익명성 있음, 확장 가능, 수집 가능 [23:13] * thecrypto가 네트워크를 시뮬레이션해서 도움 주려고 bochs를 받음 [23:13] 0.3에는 kademliaDatabaseManager가 추가돼요 [23:13] 현재는 BroadcastDatabaseManager를 쓰고 있어요 [23:13] (일명 gnunet ;) [23:14] 구현은 간단하고 소규모 네트워크에서는 동작하지만, 확장성을 위해서는 Kademlia가 필요해요 [23:14] 0.4)는 동작함, 보안됨, 익명성 있음, 확장 가능, 수집 불가 [23:14] 그때 trusted link를 추가해요 [23:14] jrand0m, Kademlia 구현은 개발 난이도가 얼마나 되나요? [23:14] trusted link에 아이디어가 둘 있어요.. 하나는 구현과 사용이 더 쉬워요 [23:15] Kademlia는 아마 일주일 꽉 찰 거예요 [23:15] (제대로 하려면) [23:15] 이 전부 리팩터링과 튜닝 여지가 많아요. 우선 동작을 목표로 하고, 그 다음에 튜닝할 거예요. [23:16] 그걸 그렇게 빨리 개발하고 테스트할 수 있다고 확신하나요? [23:16] 확실한 건 없어요 [23:16] 그냥 제 추정치예요 [23:16] co, 그가 기능을 만들면 우리가 테스트하죠 [23:16] 확실해요? [23:16] (미안) [23:16] Ryan_Singer: 알겠어요. [23:17] * jrand0m 테스트해주는 사람들 넘 좋아요 :) [23:17] "우리가" 테스트한다는 게, 비코더도 테스트에 참여할 수 있는 데가 있나요? [23:17] Myself248> 아마 0.4 전까지는 어려울 거예요 [23:17] 동작은 하는데 네트워크 내부에서 뭘 어떻게 해야 잘 돌아가는지 아무도 모르는 지경(예: freenet)만은 안 가길 바라요 [23:18] 0.4가 준비되면 그게 프리-알파예요. 0.4가 되면 튜닝하고 리팩터링하고 빈칸 채워서 0.5(알파)를 준비할 거예요 [23:18] 문서화, 문서화, 문서화. [23:18] 네트워크 내부를 적극적으로 모니터링하는 방안은 고려되고 있나요, 아니면 간단한가요? [23:18] 네 dm, 당연하죠 [23:18] I2NP의 핵심 중 하나는 공개되는 routerInfo 구조체에 통계를 포함하는 거예요 [23:18] jrand0m: s/0./0.0./ ;) [23:18] 초기 리비전에서는 실제 통계를 공개해서 튜닝할 수 있게 할 거예요 [23:19] 나중 리비전에서는 통계를 아예 공개하지 않거나 가짜 통계를 공개할 거예요 [23:19] * jrand0m은 0.0 안 함 [23:19] 오케이, 나 왔어 [23:19] 웰컴 백 shardy [23:19] 늦어서 미안, 이 창 열려 있는 걸 까먹었네, 헤헷 [23:19] 좋아요. [23:19] 0.4 단계의 네트워크 아키텍처를 설명하는 상위 문서가 있나요? [23:19] 목을 쳐라 [23:20] Ryan_Singer> 흠, 몇 달 전에 개요 문서가 있었고 mids와 nop가 미러링했죠, 그리고 I2P 개요 문서도 있어요 [23:20] 0.4는 스펙에 설명된 대로 완전한 I2NP예요, 다만 최적 구현은 아니죠 [23:20] 아 그리고 jrand0m, DH 최적화 봐줄게요 [23:20] 좋아, gracias [23:20] 그 문서들 받을 수 있나요? [23:21] 개요는 (Link: http://www.invisiblenet.net/i2p/i2p_philosophy.pdf)http://www.invisiblenet.net/i2p/i2p_philosophy.pdf [23:21] 위키에 있을 거예요 아마? [23:21] 예전 개요 문서들... 흠 [23:21] (i2p 스펙은 (Link: http://wiki.invisiblenet.net/iip-wiki?I2PProtocolSpecs)http://wiki.invisiblenet.net/iip-wiki?I2PProtocolSpecs 에 있어요) [23:21] (Link: www.invisiblenet.net/i2p/.)www.invisiblenet.net/i2p/. 에 있어요. [23:21] 맞아 beefbroth [23:22] 다만 예전에 tunnel이 어떻게 동작하는지 보여주는 못생긴 MS Paint 그림이 들어간 HTML 형식의 옛 문서들도 있어요... [23:22] 제가 알아요, 충분히 많이 읽었거든요 [23:22] 헤헤 [23:22] 그게 더 오래된 버전이거나 미러가 아니라면요. [23:22] 위키에 있는 파일들은 0.9예요(I2NP와 데이터 구조에 대해 0.9.1이 나왔지만, 사소한 변경만 있어요) [23:23] jrand0m: 사전 계산은 좋아 보이네요 [23:23] 굿 [23:24] *** pitu (~pitu@anon.iip)님이 채널 #iip-dev에 입장했습니다 [23:24] * jrand0m이 router를 다음으로 실행함 w/ java -Dcrypto.dh.precalc.min=3 -Dcrypto.dh.precalc.max=10 -Dcrypto.dh.precalc.delay=5000 -jar C:\dev\i2p\code\router\java\src\router.jar [23:25] 오케이, 이게 마이크로 로드맵이에요 [23:25] 보다시피, 이번 달 말까지 알파가 준비되진 않을 거라고 보고 있어요. 0.4는 아마 10월 첫째 주쯤일 거예요 [23:26] 괜찮아요, 그 정도도 이런 유형의 네트워크 구현 중 가장 빠른 편일 걸요 ;) [23:26] lol [23:26] 여기서 jrand0m의 일정 추정을 읽을 때, 지난 4시간 동안 위스키를 마시고 있었다는 걸 기억하세요 :-P [23:26] 헤헷 [23:26] 오케이... 앱/사용? [23:26] 그것도 좋은 위스키 ;) [23:26] 오케이, 앱/사용 [23:27] 4초 후 0.7....3...2...1..!! [23:27] 여기서는 쉬운 것부터 노립니다 - 새로운 코드가 0이거나 최소로 가능한 것들이에요. [23:27] 맑은 정신으로 어떻게 제대로 코딩을 한담? [23:27] 이 모든 건 mihi의 끝내주는 i2ptunnel을 대폭 활용해요 [23:27] ChZEROHag: 아주 쉽지. [23:27] *** mihi 님이 채널 #iip-dev의 주제를 0.7 in 4 seconds....3...2...1..!! 로 변경했습니다 [23:28] i2ptunnel을 사용하면, 새 코드 없이 다음을 할 수 있어요: [23:28] public ww proxy (i2ptunnel + squid 사용) [23:28] * dm이 mihi에게 경의를 표함. [23:28] JAP (i2ptunnel + JAP 사용) [23:28] i2p로는 엉덩이를 걷어찰 수 없어요(tunnel로도 마찬가지...) [23:28] 익명 www 브라우징(i2ptunnel + 웹 브라우저) [23:28] I2P 웹 서버 실행(i2ptunnel + httpd) [23:29] 아주 좋네요. 브라보, mihi. [23:29] cvs 아웃프록시(i2ptunnel) [예: 익명 freenet 개발을 위해 sourceforge로 cvs 아웃프록시] [23:29] cvs 클라이언트, cvs 서버 [23:29] IM 앱, POP3 서버, IMAP 서버, OpenNap [23:29] 이건 전부 정말 손쉬운 것들이에요 [23:29] 좋아, 이제 필요한 건 I2P뿐 :) [23:30] 그렇지 ;) [23:30] i2p 웹서버가 freenet을 어느 정도 대체하는 거 아닌가요? :) [23:30] * jrand0m 이건 자주 묻는 질문(FAQ)으로 답변해야겠다고 생각함 [23:30] jrand0m, 하지만 그것들도 매우 가치 있어요 [23:30] 그 목록 중에서는 cvs가 더 중요/유용하다고 봐요 [23:30] 부분적으로는 익명성을 유지하고 싶기 때문이고, 또 익명 www를 제공하면 luser들이 몰려오니까요 [23:30] i2p + 웹이 freenet을 대체하진 않아요 - freenet은 익명 통신 프레임워크 위에 콘텐츠 배포라는 상당한 가치를 더해요 [23:31] 그리고 지금으로선 익명 이메일은 좀 무섭죠 :) [23:31] * dm이 적음: "no lusers" [23:31] cvs는 확실히 상위 3위 안에 들어요 [23:31] i2p 웹서빙이 잘 된다면, freenet의 DHT/스토리지 부분을 i2p 위에 얹는 걸 고려해야 하고, 그러면 두 세계의 장점을 모두 갖게 되죠. [23:31] ChZEROHag, 그게 확장 가능하면 좋은 일이죠 [23:31] dm: luser들은 초기 단계에서만 문제고, 보통 cvs는 안 써요 [23:31] 좋아요, 익명 이메일 쪽엔 hashcash를 잔뜩 붙이죠. [23:31] 아니, 그건 '남용'이라고 할 만한 걸 막기 위해서는 아니고요 [23:31] 네트워크에 대한 모의 공격은 해야 할 테스트 중 하나라고 생각해요. [23:31] 맞아요 beefbroth, I2P가 목표를 달성하면, freenet도 그에 맞춰 I2P를 활용하게 될 거예요 [23:32] 오프토픽이라면 미안해요. [23:32] Myself248: 그냥 익명 리메일러로 리다이렉트 하나 추가하면 돼요. [23:32] 아니요, 그건 확실히 온토픽이에요 co - 이 네트워크를 공격해보는 게 핵심이죠 [23:32] Myself248: hashcash는 주로 우리가 'irc'라는 고대 프로토콜을 쓸 수밖에 없는 동안 플러딩을 막기 위한 거예요 [23:32] '남용'을 막으려는 건 아니고요 [23:32] 맞아요 mihi. 다만 i2p 위에서 mixminion을 돌리는 것도 유용할 수 있겠죠 [23:33] 맞아요, hashcash는 심지어 I2P 자체에 내장돼 있어서, '대가를 지불'하지 않으면 메시지가 단일 홉으로 배달되지 않게 해요 [23:33] jrand0m, 이 위에 IMAP을 쉽게 올려 돌릴 수 있나요? [23:33] 물론이죠 [23:33] 인상적이네요 [23:33] imapd에 i2ptunnel을 연결하고, 클라이언트에서도 그 tunnel의 destination을 향하도록 i2ptunnel을 쓰면 돼요 [23:34] 그리고 freenet 검색 엔진도요 :) [23:34] ftp나 몇몇 non-jabber 인스턴트 메신저는 문제가 생길 거예요... [23:34] 맞아요, 두 개의 연결이 필요한 것들은 더 복잡하죠 [23:34] jrand0m: I2P에 hashcash요? [23:34] 이거 끝나면 그거로 귀찮게 할게요. [23:34] I2P에 hashcash? 좋네요. [23:34] 우리가 앞서가고 있어! 뭐, 상관없지.. QUAKE + IIP!!!!!! [23:34] 미안, I2p :) [23:34] lol dm [23:35] 저사양 CPU 쓰는 입장에선 hashcash라는 말에 긴장되긴 하는데, 스팸 방지용으로는 이해해요. [23:35] dm: 그건 진짜 너무 앞서갔어. [23:35] * mihi는 jabber:schierlm@a-message.de ;) [23:35] 맞아요 ChZEROHag - Destination == public signing key(DSA) + public encryption key(ElGamal) + certificate(null이거나 hashcash(keys)) [23:35] i2p tunnel이 클라이언트 쪽에서 정적인가요, 동적인가요? [23:35] 지금(atm)은 전부 정적이에요. 하지만 dest로 SOCKS 프록시를 쓸 수 있어요 ;) [23:35] Myself248> 몇 주 안에 끝내주는 Sun Ultra 1을 받을 거예요. 160MHz 박스도 할 수 있으면, 누.구.나. 할 수 있죠 [23:35] 음. hashcash는 저사양 CPU에도 끔찍할 정도는 아니어야 해요. '수억만 번' 하려 할 때만 체감해야죠. [23:36] beefbroth: 동적일 수도 있어요. [23:36] 여기 '쉬운 것들'의 잠재적 응용이 아주 인상적이에요 [23:36] 맞아요 mihi [23:36] "eleventy". 헤헷 [23:36] 쉬운 것들은 본질적으로 '일반' 인터넷 앱인데, 익명으로, 맞죠? [23:36] 맞아요 [23:36] 그렇죠 [23:36] (퀘이크) [23:37] 0.1은 보안적으로, 0.2는 익명으로, 0.3은 확장 가능하게, 0.4는 수집 불가하게 돌려요 [23:37] (우리는 지금 0.1) [23:37] 수집 불가가 무슨 뜻이죠? [23:37] 미안, harvestable이 다시 뭐였죠? [23:37] dm: 불행히도 우린 너무 발목이 잡혀서, 실시간이 30년이 넘었는데도 여전히 '정상'이 아니에요 [23:37] 휴. 누군가 그걸 물어보길 바랐죠. ;) [23:37] 기록 가능하다는 뜻 [23:37] 수집(harvesting)이란, 능동적 공격자가 router를 돌리면서 다른 router들을 잔뜩 알아내('수확'하고), 그들에게 꼬붕들을 보내 문을 부수게 할 수 있다는 뜻이에요 [23:38] 아, gnutella에서 할 수 있는 것처럼. :) [23:38] 정보기관 같은 꼬붕들 [23:38] 맞아요 [23:39] 아, 알겠어요. [23:39] 좋아요, 어쨌든 그게 마이크로 로드맵이에요. [23:40] 그런데, 0.0.x 대신 0.x라고 부르는 게 멍청한 걸까요? 1.0은 '완벽'해야 할까요, 아니면 동작하고 안전하면 될까요? [23:40] jrand0m, 그럼 .4는 언제 보나요? [23:40] 0.4는 아마 2주 뒤일 거예요 [23:40] * jrand0m은 10월 중순쯤 일주일(정도) 쉬어요, 지인이 방문하거든요 [23:40] *** 퇴장: dm (클라이언트에서 EOF) [23:40] 1.0은 안정적이어야 해요. [23:40] 1.0은 동작하고 안전하면 돼요. [23:40] 동의해요 co [23:41] 1.0은 동작하고, 안정적이고, 안전해야 해요 [23:41] jrand0m: 버전 넘버에 대해서는, 고민되면 리눅스를 따라요 [23:41] 5.0이 '완벽'하면 되죠. 자유 소프트웨어 사람들은 버전 번호가 커지는 걸 지나치게 두려워해요. [23:41] 좋아 [23:41] jrand0m, 버전 1이 완벽한 경우는 없죠 :) [23:41] *** dm (~gj@anon.iip)님이 채널 #iip-dev에 입장했습니다 [23:41] 사람들도 완벽하길 기대하진 않아요 [23:41] 내가 1.0을 놓쳤나? [23:41] mrflibble: 사람들은 어떤 소프트웨어도 완벽하길 기대하지 않아요. 사람들은 윈도우를 쓰잖아요. [23:41] 이 소프트웨어는 GPL인가요, LGPL인가요? [23:41] 좋아, 1.0이 아직 완벽하지 않다고 이미 핀잔 들었거든 [23:41] 그렇다고 그래선 안 된다는 뜻은 아니죠. [23:41] 좋은 포인트예요 ChZEROHag [23:42] 아 젠장, 놓쳤네.. [23:42] dm: 장난 그만해 [23:42] 응, 그랬어 [23:42] router는 GPL이에요. 자바 클라이언트 라이브러리는 현재 GPL이지만, 열려 있어요. thecrypto와 저는 한 섹션(Cryptix AES 구현, MIT 라이선스)을 제외하곤 전부의 저작권자예요 [23:42] 알았어 알았어 미안 :( [23:42] 사실, 그 말 취소 [23:42] freenet의 Base64.java도 썼어요 [23:43] 아직 안건 0.3 Apps 인가요? [23:43] 그래서 base64는 GPL :) [23:43] 그리고 IM 클라이언트는 GPL이에요 [23:43] 아 맞다, 0.3이었지 [23:43] 코드에 주석 좀 달고 나면요 [23:43] *** UserX_ (~User@anon.iip)님이 채널 #iip-dev에 입장했습니다 [23:43] 헤헷 thecrypto [23:43] GPL 좋네요 [23:43] 와우, 23명 [23:43] 지금 안건 6.02E23, 잡담이죠. :) [23:43] jrand0m, 시간 되면, 라이선스랑 컨설팅 기회에 대해 얘기하고 싶어요 [23:43] 좋아 Ryan_Singer [23:43] 근데 누가(아마 Fillament?) 지적했듯이 - 누군가 라이선스를 어기면, 익명인 사람이 뭘 할 수 있죠? [23:43] jrand0m: 22 ;) [23:43] ChZEROHag> flinks에 있는 내 라이선스 읽어봐 ;) [23:43] 우리는 익명 법원 시스템이 필요해요. [23:44] * mihi는 여기 두 번 있어요 [23:44] Myself248> 그걸 yodel이라고 하죠 ;) [23:44] "법정은 이제 사건번호 34534, J. Doe 대 J. Doe를 심리합니다" [23:44] ChZEROHag, 제가 묻는 이유는 기업들이 산업 스파이로부터 보안을 위해 이 소프트웨어를 사용하게 하려는 거예요 [23:44] Naming server도 GPL로 배포될 거예요. [23:44] ㅋㅋ [23:44] "집행관, 방금 전 34533건과 같은 당사자들 아닌가요?" [23:44] 음 [23:45] 사람들이 당신의 프로토콜을 정말 쓰게 하고 싶고 돈이 걱정이 아니라면, 완전히 오픈하는 생각도 있죠. GPL로도 제한하지 말고요. [23:45] shardy: 퍼블릭 도메인 말인가요? [23:45] 그건 0.4 안건으로 넘어가려는 co의 떡밥이었던 것 같아요 :-P [23:45] shardy> 스펙은 공개되어 있고 오픈이에요. 스펙에는 저작권을 주장하지 않았어요. [23:45] shardy, 아니요, 프로토콜에 대한 작업은 공개 상태로 남길 거예요 [23:45] 퍼블릭 도메인, BSD 라이선스, '원하면 뭐든 하되 크레딧은 주세요' 라이선스 등등 [23:45] 코드는 router는 GPL. 자바의 클라이언트 API 구현 하나도 GPL [23:46] liberty 프로토콜을 확인해 보세요.... (Link: http://projectliberty.org)http://projectliberty.org [23:46] jrand0m: 오케이 쿨. 알겠어요. [23:46] * jrand0m은 '정부 사용 금지' 라이선스도 생각해 봤죠 ;) [23:46] 좋아, 제가 3.0) apps를 의제 목록에 넣은 이유는 이거예요 [23:46] 우리에겐 도움이 필요해요. [23:46] 무슨 도움요? [23:46] i2ptunnel은 좋은 코드예요. I2P의 router도 좋은 코드가 될 거예요. [23:47] 우리가 필요한 건 릴리스 엔지니어링의 실무를 파악하기 시작할 사람들이에요 [23:47] i2ptunnel만 쓰면 되는데 왜 앱이 필요한 거죠? [23:47] jrand0m: 다시 말해 줄래요? [23:47] 즉, Joe Sixpack도 다운로드해서 웹을 쓸 수 있도록 실제로 패키징하는 방법요 [23:47] dm: telnet만 써도 되는데 왜 앱이 필요하죠? [23:47] 뭐라고? [23:47] * dm이 머리를 긁적임. [23:47] 어, telnet 말고 다른 게 있었나? [23:48] * jrand0m 생각엔 그게 ChZEROHag의 요지예요 dm ;) [23:48] *** Myself248 님이 이제 myself248로 이름을 바꿨습니다 [23:48] *** 퇴장: thecrypto (핑 타임아웃) [23:48] dm: i2ptunnel만 사용하는 건 잘 작동하는 차를 손수레에 싣고 끌고 다니는 것과 같아요 [23:48] 오케이, 그냥 그렇다는 거예요. 혹시 시간이 남는 사람이 있을까 해서요 :) [23:48] 오케이, 4.0) [23:48] naming service [23:48] 그가 요점을 말하려는 건 알겠어. [23:48] hi co, 어때요? :) [23:48] Naming server는 GPL이어야 해요. 최소한 자바 구현은 router와 통신하기 위해 클라이언트 라이브러리의 코드를 쓰거든요. [23:49] 하지만 방금 20분을 I2Ptunnel + 웹 서버!, I2Ptunnel + 퀘이크! ;) 라며 보냈잖아요 [23:49] 아니면, 컴퓨팅 관점에선 IP 스택 위에서 직접 하는 대신 텔넷으로 인터넷 일을 전부 하는 셈이죠 [23:49] 지난주엔 많이 못했어요. 클라이언트 API를 릴리스했는데, 이것도 작업이 더 필요해요. [23:49] i2ptunnel은 임시방편이에요 [23:49] 이번 주엔 시간을 내서 naming server 구현을 시작할 수 있어요. [23:49] 좋아 [23:49] 클라이언트 API가 어디였죠? [23:50] 메일링 리스트에요 ;) [23:50] 그 가정 중 하나가 destination을 base64로 인코딩할 수 있다는 건데, 그래서 아까 그걸 물어봤던 거예요. [23:50] ChZEROHag> 어떤 면에선 임시방편이에요 [23:50] * jrand0m !thwaps self [23:50] *** thecrypto (~thecrypto@anon.iip)님이 채널 #iip-dev에 입장했습니다 [23:50] TCP도 그래요! [23:50] *** yodel (yodel@anon.iip)님이 채널 #iip-dev에 입장했습니다 [23:50] 'lo yodel [23:50] 네이밍 규칙은 어떤 모습이 될까요? 일반 사용자도 익숙하게 느낄 수 있는 형식일까요(예: (Link: www.somthing.com)www.somthing.com 또는 (Link: www.something.i2p)www.something.i2p 같은 http/웹 용)? [23:50] naming service 스펙과 클라이언트 API를 CVS에 넣을게요. [23:50] 돌아왔네 thecrypto [23:50] 이건 아마 전에 다뤘을 텐데, ns는 고유 이름을 어떻게 공정하게 제공하죠? [23:50] * mihi는 *.mihi.iip를 갖고 싶음 ;) [23:50] naming service 포함해서요, 아니면 없이요? [23:50] 헤헷 mihi [23:50] DNS를 괴롭힌 스쿼팅 같은 걸 어떻게 피하나요 [23:50] 누가 내게 무슨 일이 있었는지 알려줄래? [23:51] jrand0m: 포함해서요. 없이라면 길다란 숫자 문자열이겠죠. [23:51] ChZEROHag: naming server의 그룹에 등록하고, 그 그룹 이름을 사용해 자신을 식별하게 됩니다. [23:51] 예컨대 IM 서비스를 제공하면 IM.beefbroth.mygroup 같은 식으로요. [23:51] 앗, s/iip/i2p [23:51] *** godmode0_ (~mode@anon.iip)님이 채널 #iip-dev에 입장했습니다 [23:51] *** 퇴장: godmode0 (클라이언트에서 EOF) [23:51] ChZEROHag> co의 naming service에는 trusted group이 있고, 각 그룹이 그룹 이름(TLD)을 관리해요. 각 TLD를 어느 그룹이 운영할지 사용자가 선택해요 [23:51] 맞아요, 누군가는 group2에 사용자명 beefbroth를 등록할 수 있어요. [23:51] 내가 4분 비운 사이에 [23:52] co: 그럼 문제는 .mygroup의 고유성뿐인가요? [23:52] 그럼 'com' 그룹은 누가 가져요? :-) [23:52] 그리고 그건 클라이언트가 선택해요 [23:52] ChZEROHag: i2p는 COMmerical이 아니에요 [23:52] (예: ns 클라이언트 라이브러리에 "'.com' 그룹은 0123ff33aefcbb34fe 그룹"이라고 알려주죠 [23:52] 환상을 유지하려면 기본으로 3글자 그룹이면 좋겠다고 생각해요. 일반 웹과 비슷하다고 느끼게요 [23:52] ChZEROHag: ‘com’ 그룹은 누가 가져야 할지 모르겠어요. [23:52] 좋은 질문이에요. [23:53] beefbroth: 일반 웹은 이제 3글자 TLD만 있는 게 아니에요 [23:53] beefbroth: 아니면 모든 주소에 .i2p를 붙이거나요. [23:53] beefbroth: 그 환상은 미국에만 있어요 [23:53] TLDs. [23:53] 시작은 naming server 그룹을 하나만, ".i2p"로 두는 게 좋을지도 몰라요 [23:53] beefbroth: naming server 소프트웨어는 최대 32자까지 허용해요. [23:53] 다른 곳에선 2글자 국가 코드를 쓰죠 [23:53] .us도 미국에서 쓰이고요. [23:53] 사실 첫 번째 그룹은 "test"였으면 했어요. [23:53] .info, .name 같은 것도요 [23:53] 헤헷 'k [23:54] shardy: 그래봤자 한 5명이나 쓰죠. [23:54] 뭐, 이건 다음에 하죠 :) [23:54] 사실은... [23:54] .museum도 있어요 [23:54] jrand0m, .12p 쓰는 게 좋아 보여요 [23:54] 며칠 전에 JXTA 기반 분산 DNS를 봤어요 [23:54] ChZEROHag: 그런데 요지는, 'com' 그룹 운영자가 마음에 안 들면 'com2' 그룹을 세우고 그 서버를 직접 운영(그리고 등록)할 수 있다는 거예요. [23:55] 네 그 부분은 완전히 말이 돼요 [23:55] ChZEROHag: (Link: http://www.nic.us/press/audio/dotus-mayEM.wav)http://www.nic.us/press/audio/dotus-mayEM.wav ;) [23:55] co> (Link: http://wiki.java.net/bin/view/Jxta/DisDNS)http://wiki.java.net/bin/view/Jxta/DisDNS 는 분산 DNS 위키인데, 매우 조잡하고 진짜 어려운 이슈는 다루지 않아요 [23:55] ChZEROHag: 그룹에 사용자명을 등록하는 건, 네, 선착순이죠. [23:56] jrand0m: 미팅 끝나고 볼게요. [23:56] jxta는 rendezvous 포인트에서 naming server를 돌려요 [23:56] mihi: 그게 뭐죠? [23:56] 그렇다면 누군가 기존 i2p naming server 그룹을 흉내 내서 NS 시스템을 공격할 수도 있겠네요 [23:57] *** 퇴장: jeremiah (핑 타임아웃) [23:57] beefbroth: 그렇진 않을 거예요. [23:57] ChZEROHag: 들어보세요. 왜 xxx백만 미국인이 .com보다 .us를 선호하는지 [23:57] 6800만 [23:57] 그룹을 설정하는 사람들은 그 그룹을 공표할 거라고 봐요. [23:57] 흉내 낸다고요? 그룹의 서버는 공개키 시스템으로 인증되기 때문에 흉내낼 수 없어요 [23:58] 하지만 그룹이 신뢰되지 않은 멤버를 받으면, 쉽게 장악될 수 있어요. [23:58] 그런데 키 교환은 어떻게 하나요? [23:58] 나중에 들어온 사람들은 그룹이 이미 자리 잡았고, 클라이언트 소프트웨어 설정 파일에 이전 그룹의 destination이 들어 있다는 문제에 직면하게 될 거예요. [23:58] mihi: 어쨌든 들어볼게요 [23:58] 만약 두 naming server 그룹이 모두 .i2p 그룹을 해석한다고 주장하면 어떻게 되죠? [23:58] 좋은 질문이에요, 다시 한 번 신중히 생각해 볼게요. [23:58] co: 네 그 얘기를 하려던 거였어요 [23:58] shardy> 키 교환은 없어요 - 키 공개예요 [23:58] 이해했어요, 좋은 포인트네요 [23:58] mihi: [23:58] 하지만 키가 온라인으로 공개되면 여전히 가로챌 수 있죠 [23:58] beefbroth> 아무도 주장하지 않아요. 클라이언트가 "i2p == [dest1, dest2, dest]"라고 말하죠 [23:59] 우리가 필요한 건 신뢰 기반 DNS 시스템이죠 :) [23:59] 이름 질의하면 응답 목록을 받고... 신뢰된 걸로 가는 식 [23:59] 제기해줘서 고마워요. [23:59] shardy> 아, 혼동을 알겠어요. naming service는 out-of-band로 destination 세트를 제공해야 할 것 같아요(설치에 포함해서) [23:59] 네 우리도 하나 있죠 - 모두가 IANA(또는 뭐라고 부르든)를 신뢰하거나, 아니면 말고. [23:59] * shardy가 숙인 채 피함 [23:59] :-D [23:59] dnssec로 그걸 시도 중이지만, 그건 물론 익명은 아니죠 [00:00] 이 naming service의 목적은 루트 서버에서 벗어나는 거예요 [00:00] 활성 naming 그룹과 권한(authorities)을 나열한 I2P 홈페이지를 두면 되지 않을까요? [00:00] jrand0m: 오케이. 사람이 다운로드한 코드를 신뢰할 수 있어야 한다는 점만 지적했어요... [00:00] shardy: 스펙에서 키 교환은 다뤘다고 생각해요. 아니면 알려주세요. [00:00] 하지만 OOB로 패키징하면 더 좋아요 [00:00] co: 확인해 볼게요. [00:00] shardy> 아, 맞아요. 사람들이 다운로드한 코드를 신뢰할 수 있어야 하죠 [00:00] 물론이죠. [00:01] 아 그게 생각났네 [00:01] beefbroth> 네, 그건 가장 먼저 구현될 앱 중 하나일 거예요 - i2p를 통해 접근 가능한 i2p 웹서버 + BBS & 위키 [00:01] iipmail용 gpg 키 만들어야겠다 [00:01] *** yodel 님이 #iip-dev에서 나갔습니다 [00:01] * ChZEROHag는 지루한 동안 그걸 함 [00:01] 헤헷 좋아요 [00:01] naming server 스펙은 아직 개선 제안을 받는 중이라는 점을 이해해 주세요. [00:02] toorcon 가는 비행기에서 스펙 전부 가져가야겠네요... 그때 읽을 시간이 생기겠죠 [00:02] 지금 당장 완벽하거나 확정됐다고는 하지 않아요. [00:02] 헤헷 긴 비행이길 바라요 [00:02] 그리고 내내 FFT Advance 하는 것보단 생산적이죠, 헤헷 [00:02] * jrand0m은 스펙을 구현한 코드가 있으면 비판이 더 자유롭게 나온다는 걸 알게 됨 [00:02] *** godmode0_ 님이 이제 godmode0로 이름을 바꿨습니다 [00:02] 그리고 코드를 써야 하죠. [00:02] 이제 다음 주제로 넘어가도 될 것 같아요. [00:02] 'k [00:02] 5.0) IM [00:03] hi thecrypto [00:03] 이름이 base64 표현과 충돌해선 안 돼요. [00:03] 안녕 [00:03] 좋아요 [00:03] 그리고 naming server는 base64 주소를 있는 그대로 투명하게 반환해야 해요. [00:03] mihi: 알겠어요, 그 문제를 피하도록 해 볼게요. [00:03] 먼저, 제 이메일이 또 작동을 안 해서요(빌어먹을 스패머들) [00:03] (DataStructure를 확장한 모든 클래스에는 String .toBase64()와 .fromBase64(InputStream)이 있어요) [00:03] 여기서 제 시스템에 대한 whit의 질문에 답할게요 [00:04] * jrand0m이 co의 이메일을 엶 [00:04] jrandom? 왜 Reader가 아니라 InputStream이죠? [00:04] 처음 떠오른 게 '네트워크'였어요. I2P network 위에서 연결을 만들고, 매우 P2P라서 'network'라고 불렀죠 [00:04] Reader가 필요하면 InputStreamReader 쓰면 되잖아, 이 까불이 [00:04] 제 생각엔 base64는 바이트가 아니라 문자예요. [00:04] jrand0m: IM == 인스턴트 메시징? [00:04] 맞아요 ChZEROHag [00:04] 그게 문제라면 뭐라고 부를지 제안 좀 주세요 [00:05] Jabber? [00:05] IM == 제가 만든 분산 IM 네트워크 [00:05] "bob"이라고 부르죠 [00:05] i2p IM은 AIM이 네트워크인 것, 카자(Kazaa)가 네트워크인 것과 같은 의미의 네트워크예요. 전부 TCP/IP나 UDP/IP 위에서 돌죠 [00:05] IM 애플리케이션은 어떤가요? [00:05] (anonabber) [00:05] jrand0m: 알겠어요. [00:05] Jabber는 중앙집중 서버가 필요해요 [00:05] 용어는 상관없어요. shardy 아이디어가 마음에 들어요 [00:05] 그건 그냥 그렇게 작성됐을 뿐이에요 [00:05] (전 Betty가 더 좋아요) [00:05] 그럼 이름을 I2PIM bob으로 하라는 건가요? [00:05] :) [00:05] wilma는 어때요? [00:05] fred는 이미 있어 [00:05] 분산 IM은 어때요? [00:05] DIM, 헤헷 [00:05] 그럼, 분산 IM 애플리케이션? [00:05] AIM, anonymous Instant messaging! [00:05] 안 좋은 약자네요 :) [00:06] 그러면 AOL을 접수할 수 있겠군요. [00:06] 오, AOL이 그 얘기 맡는 게 기다려지네 [00:06] dm: 그거면 어떤 인간들을 제대로 열받게 하겠네요. 마음에 들어요. [00:06] 헤헷 해봐요 [00:06] thecrypto, IM을 분산 방식으로 구현할 수 있나요, 아니면 중앙집중이어야 하나요? [00:06] dm: 좋은 생각이에요. 그 약자 찬성. [00:06] 내가 읽은 thecrypto의 문서에 따르면, IM은 완전 분산형이에요 [00:06] 분산 IM을 구현 중이고, CVS에 있어요 [00:06] 사람들을 혼란스럽게 할 만한 건 반대해요 [00:07] AOL 타임워너가 이름을 타임워너로 바꿨어요 [00:07] dm: 그거면 어떤 인간들을 제대로 열받게 하겠네요. 마음에 들어요. [00:07] 사람들이 익명이 뭔지 이해하지 못하면, 투명하게 익명인 건 그다지 쓸모가 없죠. [00:08] 아 맞다, 이런 게 종이에 있었지 [00:08] 난 thecrypto의 아이디어가 좋아 [00:08] I2PIM이 돌아가는 '네트워크' 명칭을 찾는 거예요 [00:08] 사람들에게 스스로를 지키는 방법을 가르치는 건 정말 중요해요 [00:08] 'Presence System'을 생각했어요? [00:08] 익명의 보안 측면을 부각시키자 [00:08] I2M (instant 2 messaging) [00:08] 내가 그걸 XIrc라고만 불렀지만 [00:09] 당신이 보스예요 thecrypto, 잘 된다면 뭐든 ;) [00:09] 그리고 I2M 로고에서 2는 아주 작게요 :) [00:09] 그러면 Invisible Internet Project Instant Messaging이네요 [00:09] 주된 재미는 모두가 Borg고, 콜렉티브에서 대화한다는 설정이었죠 [00:09] i2np는 프로토콜이고 [00:09] thecrypto: 맞아요, 이름은 크게 중요하지 않아요. [00:09] I2P는 프로젝트고 [00:09] i2m = i^2m = instant invisible messaging [00:09] I2CP는 클라이언트 프로토콜이에요 [00:10] 난 'poop'인 줄 알았는데 [00:10] thecrypto: 맞아요, 이름은 크게 중요하지 않아요. [00:10] i2m = i^2m = instant invisible messaging [00:10] 다음 주제로 가죠 [00:10] 좋아요... 안건에서 벗어나고 있네요... IM은 끝인가요? [00:10] "bob"이 싫으면 "jimbob"이라 하죠 [00:10] 0k, 6.0) administravia [00:10] 아니, 아직 더 있어요 [00:11] 미안 [00:11] 그건 administrivia예요. [00:11] 아니요, IM이에요 [00:11] nop> root 주세요. anon cvs, bugzilla, cvsweb을 설치해야 해요. [00:11] 아직 안 끝났어요 [00:11] :) [00:11] 되감기! [00:11] * jrand0m 뒤로 감음 [00:11] 5.1) thecrypto v2 [00:11] IM에 더 어떤 게 있죠, thecrypto? [00:12] thecrypto: 그냥 계속 얘기해요; /me 나도 naming service 놓쳤을 때처럼 [00:12] 좋아요, presence 간 통신 방식이 달라요 [00:12] 모든 사람이 서로를 아는 건 아니에요 [00:12] 사실상 누군가를 '스토킹'할 방법이 없어요 [00:12] 보여달라고 요청해야 해요 [00:13] 익명 네트워크에선 보통 아무도 아무도 몰라요 ;) [00:13] (사람들의 Destination이 랜덤이라면) [00:13] *** 퇴장: pitu (터미널 끊김) [00:13] 무슨 뜻이죠? [00:13] 앨리스가 밥과 대화하고 싶어 해요 [00:13] mihi> 다만 naming service는 서비스별 검색을 허용해요 [00:13] (서비스는 IM, www 등) [00:13] 앨리스는 어떻게든 밥의 IM destination을 찾아요, 아마 naming service로 [00:14] 그래서 앨리스는 밥의 IM destination으로 메시지를 보내요 [00:14] 네? [00:14] '앨리스가 당신에게 연락을 시도했습니다'라는 작은 메시지를 받아요. 대화하고 싶으면 할 수 있고, 무시할 수도 있어요 [00:15] 하지만 중앙 presence 서버는 없어서, 앨리스는 메시지가 사라지고 응답이 없는 걸 볼 수도 있어요 [00:15] 오케이, MSN처럼요? [00:15] (다만 앨리스는 밥이 자신을 무시했다는 걸 알 수 있어요) [00:15] 그리고 앨리스는 그냥 밥을 버디 리스트에 넣고 기다릴 수 없어요 [00:15] thecrypto, 알겠어요... 중앙 서버가 없다는 것 말고는, 제대로 설정된 Y!, MSN, AIM과 뭐가 다른가요? [00:15] 밥이 앨리스의 접속을 보려면 밥이 앨리스에게 메시지를 보내야 하니까요 [00:15] 오 [00:15] 사용자 입장에선 달라지는 게 없지만, 무슨 말인지 알겠어요. [00:16] thecrypto> 꼭 그렇진 않아요 [00:16] 알았어요.. 버디 리스트 기능은 없는 거군요... [00:16] 아, 음, 기술적으로는... [00:16] Ryan_Singer: 아뇨, 버디 리스트는 있어요 [00:16] 앨리스가 밥을 볼 수 없으면 어떻게 메시지를 보내죠? [00:16] 그럼 혹시 몰라 무작위로 연락해 봐야 하나요? [00:16] 밥은 앨리스의 router로 메시지를 보내야 하고, 그건 앨리스가 모르게 일어날 수 있어요 [00:16] 앨리스는 그냥 무작위로 시도할 수 있어요 [00:17] 그거 별로 편리하지 않은데요? 온라인이 되면 모두에게 '(거기 있어요?, 있어요?)'라고 메시지를 보내야 하나요? [00:17] thecrypto: 사용자가 로그인할 때 버디 전부에게 메시지를 보내 '알림'할 수 없는 건가요? 방금 그 얘기였나요 [00:17] * co 참고: 서로 다른 naming server 그룹에 등록된 Bob이 둘 있을 수 있어요. [00:17] beefbroth: 방금 그 얘기였어요 [00:17] 오케이, 현재 방식과 비슷하지만 기본은 은신 모드. 이해했어요. [00:18] dm: 아뇨, 반대예요. 로그인하면 모두에게 '나 접속함, 접속함'이라는 메시지를 보내요. '접속함' 메시지를 받으면 원하면 응답해요 [00:18] 원한다면요 [00:18] 즉, 사용자가 누가 자신을 볼 수 있는지 제어하죠. [00:18] 그래서 앨리스가 당신을 버디 리스트에 넣으면, 앨리스가 로그인할 때 '앨리스가 당신을 버디 리스트에 넣었습니다, presence를 알릴까요?'라는 메시지를 받게 돼요 [00:19] 로그오프할 때 먼저 '나 나감' 메시지를 보내나요? [00:19] 오케이, 그럼 IM 경험은 지금과 같네요. 확인만 하고 싶었어요. [00:19] 밥이 앨리스를 버디 리스트에 가지고 있고, 앨리스에게서 온라인 메시지를 받으면 자동으로 응답해요 [00:19] 의도치 않은 끊김이 없었는지 확인하려면 주기적으로 상대 IM 사용자에게 '핑'이 필요할 수도 있어요 [00:19] 밥이 앨리스를 버디 리스트에 없는데 앨리스에게서 온라인 메시지를 받으면, 사용자에게 물어봐요 [00:19] 오케이, 그럼 IM 경험은 지금과 같네요. 확인만 하고 싶었어요. [00:20] 단지 이제 버디 추가에 확인이 있어요 [00:20] 그건 아마 ICQ만 있죠 [00:20] IM 앱은 독립 실행형인가요, 아니면 Trillian을 사용할 수 있나요? [00:20] 그래요, MSN이 그렇죠. [00:20] [등등] [00:21] thecrypto: ICQ는 확인이 필요한 척만 해요 [00:21] dm: 아니죠. MSN, Y! 그리고 AIM이 몇 달마다 프로토콜 바꿔서 사람들 막아버리는 걸 상대할 필요는 없죠 :) [00:21] jrand0m: 제가 스펙을 만들게요. Trillian이 플러그인 인터페이스를 주거나 자기들이 직접 만들든지요 [00:21] 적어도 GAIM용 플러그인 [00:21] 그리고 독립 실행 클라이언트 [00:21] 좋아요 [00:21] 네트워크와 함께 쓰도록 만들어질 거예요 [00:21] GAIM이 파일 전송을 지원하나요, 아니면 그게 i2pim 클라이언트의 장점이 될까요? [00:21] thecrypto: Kopete 개발자들에게도 한 번 알려두는 게 좋겠어요 [00:21] * jrand0m이 무지함을 드러냄 [00:23] GAIM 플러그인을 독립 실행형만큼 잘 동작하도록 해보겠지만, 장담은 못 해요 [00:23] thecrypto: 먼저 독립 실행 애플리케이션부터 하죠. [00:23] GAIM 파일 전송은 아마 AIM에서만 작동하는 것 같아요 [00:23] 그래서 플러그인으로 넣으려면 좀 씨름해야 할지도 몰라요 [00:23] 좋아요.. 이제 다들 이해한 것 같네요... IM 관련해서 더 있나요? [00:24] 그리고 co의 마지막 포인트 [00:24] GAIM은 NAT 사용자의 IM 전송에서 문제가 있어요 [00:24] 같은 이름을 여러 사람이 가질 수 있어요 [00:24] 그 대신 destination은 고유해요 [00:24] *** 퇴장: mihi (핑 타임아웃) [00:24] 좋아요. [00:24] * mihi_backup은 아직 여기 있음... [00:24] 하지만 누군가 위장할 순 없어요 [00:25] 헤헷 잘했어 mihi_backup [00:25] naming server를 쓰면 'group1의 Bob', 'group2의 Bob'이 될 거예요. [00:25] destination은 각각 고유하고요. [00:25] 맞아요 thecrypto. 이름은 임의적이에요. DNS처럼 ;) [00:25] *** mihi (~none@anon.iip)님이 채널 #iip-dev에 입장했습니다 [00:25] 또 IM 클라이언트 자체가 옵션으로 '방금 Bob이라고 불리는 사람에게서 IM이 왔는데, 내 리스트의 Bob과 destination이 달라요. 메시지 수락할까요?'라고 확인할 수 있어요 [00:26] mihi: 당신 없는 동안 백업이 말했어요. [00:26] 누군가 Bob으로 위장하려 하면 알 수 있고, 아니면 별칭으로 정리할 수 있어요 [00:26] 알고 있어요... [00:26] "'Bob이라고 불리는 누군가'?" 누가 그렇게 말하죠? 본인이 Bob이라고 하나요? 아니면 어떤 그룹이 그들을 Bob이라 하나요? 아니면 당신이 그들의 dest를 Bob이라고 하나요? [00:26] presence에 name이라는 필드가 있어요 [00:26] * jrand0m은 그 문제에 대한 ICQ의 방식을 좋아함 - 모두 숫자이고, 숫자에 로컬 별칭만 붙이면 됨 [00:27] 여담인데, NS 엔티티 이름은 대소문자 구분 없이 할까요? [00:27] 아마 그렇게 하죠 co [00:27] base64 관련은 여전히 대소문자 구분해야 해요 ;) [00:27] * jrand0m은 사람들이 Jrand0m을 스푸핑하길 원치 않음 [00:27] mihi: 엔티티 이름 말이에요, destination 말고요. [00:27] 맞아 맞아 mihi [00:28] (뭐, 사람들이 jrand0m을 얼마나 스푸핑하든 상관없어요. 난 그냥 jrandom만 돌려받고 싶어) [00:28] 계속하세요, thecrypto. [00:28] *** 퇴장: UserX_ (핑 타임아웃) [00:28] 전 여기까지예요 [00:28] 드디어 :) [00:28] co: 엔티티 이름을 둘 수 있는 곳엔 어디나 destination도 둘 수 있어야 해요. [00:28] DNS 이름과 IP처럼요 [00:28] 좋은 지적이에요. 스펙에 추가할게요. [00:28] jrand0m: 사실 ICQ랑 비슷해요. 다만 당신이 원하는 별칭을 사람들이 알 수 있게 해요 [00:29] 아마 지금도 그렇게 하죠 [00:29] 하지만 요지는, 이름이 destination보다 훨씬 짧게 입력되도록 하자는 거예요. [00:29] mihi> naming service는 이름을 destination으로만 바꿔줘요 - destination의 destination을 요청하면, 정말 정말 빠르게 반환해야 해요 [00:29] 자 여러분... 전 회의가 있어요... jrand0m, 익명 메일 주세요 [00:29] 'k adios [00:29] jrand0m: 네, 그리고 '찾을 수 없음'이 아니라 그 dest 자체를 반환해야 해요 [00:30] 맞아요 [00:30] *** 퇴장: Ryan_Singer ((null)) [00:30] 좋아요. 이제 7.0) [00:30] 질문 [00:30] 하이 [00:30] 6.0) administrivia는요? [00:31] 그건 끝난 건가요? [00:31] 6.0 administravia는 그냥 nop에게 root 달라고 잔소리하는 거였어요. 모두에게 anon cvs 접근, bugzilla, cvsweb 인터페이스를 주려고요 :) [00:31] 채택을 빠르게 하려고 Win/Mac/SuSE/RedHat/Debian용 알파/베타/릴리스를 패키징할 담당자들이 생길까요? [00:32] 자원하는 건가요? [00:32] (즉, 그러면 최고죠) [00:32] 내 배포판용 패키지 만드는 법을 배우면요 :) [00:32] 어떤 배포판 쓰세요? [00:33] 기억하기로 IIP 개발자들은 I2P 위에 IIP를 재구현하길 원했죠. I2P가 익명성 약속을 지킨다면, 그냥 IRC를 I2P 위에서 돌리는 게 더 간단하지 않을까요? [00:33] 하지만 제 요지는, 많은 사람들이 그런 걸 의존한다는 거예요. 그러면 사람들이 채택하기 쉬워지죠. Freenet은 활발한 유지보수자가 부족해서 고생하고 있어요. [00:33] jr는 좋은 매니저감이야 :) [00:33] 맞아요 co, 더 간단하지만, 확장성은 떨어져요 [00:33] *** UserX_ (~User@anon.iip)님이 채널 #iip-dev에 입장했습니다 [00:33] 맞아요, 하지만 어떤 사람들은 IRC를 원치 않아요 [00:34] beefbroth> 완전 맞아요, 할 일이 많고, 저는 밤에 최소 4시간은 자야 하거든요 [00:34] thecrypto: 좋은 지적이에요. 그래도 I2P가 사람들의 IP 주소는 익명화해요. [00:34] 준비되면 패키징을 도울 수 있어요. 약간의 기술력이 있는 비개발자들이 기여하기에 아주 좋은 방법이라고 봐요. [00:34] 굉장해요 beefbroth [00:34] 우리가 IM과 IRC 둘 다 가지면, 채택이 늘죠 [00:35] co: 문제는 IRC엔 (서버 같은) 셧다운할 대상이 있다는 거예요. [00:35] *** jeremiah (~jeremiah@anon.iip)님이 채널 #iip-dev에 입장했습니다 [00:35] thecrypto> 즉시 채택: OpenNap [00:35] 패키지 만드는 법을 배우는 게 I2P 데이터 구조를 배우는 것보다 쉬워요. 몇몇 사람이 참여하기 쉬운 방법이죠 [00:35] IRC는 꽤 어렵지 않나요? [00:35] 분산 IRC 말이에요... [00:35] mihi: 맞아요. 그걸 깜박했네요. 상기시켜줘서 고마워요. 이의 없음. [00:36] dm> IRC는 여러 IRC 서버(예: EFnet 등)를 두고 I2P를 통해 서로 통신할 수 있어요 [00:36] 'IRC 비슷한' 채팅 프로토콜을 말하나요? [00:36] 아니면 IRC를 적응시키나요? [00:36] 사람들은 I2P를 통해 IRC 서버 중 하나로 tunnel링해 서로 대화하는 거죠 [00:36] 서버가 I2P 뒤에 있는 IRC는 괜찮아요, 저는 서버 없이 하는 걸 말한 거예요. 뭐, 상관 없겠죠. [00:37] dm> 맞아요, 서버 없이 훨씬 잘 만들 수 있고, 그에 대한 고민도 좀 있었지만, (제가 알기론) 아직 확실한 건 없어요 [00:38] 어쨌든, 오프토픽이네요. [00:38] 계속하세요! [00:38] 다른 질문 있나요? [00:38] 아무도 스펙 읽었나요? ;) [00:38] (외워버린 beefbroth 빼고) [00:38] * dm이 천장을 쳐다봄. [00:39] 좋아요, 그럼 100분 회의네요 [00:39] 필요할 때 읽고 있어요 :) [00:39] 스펙! [00:39] 그걸 까먹었네! [00:39] 헤헷 [00:40] *** dm 님이 채널 #iip-dev의 주제를 topic1으로 변경했습니다 [00:40] * jrand0m 로드하고... [00:40] * jrand0m이 회의를 *baf*로 끝냄