안녕하세요 여러분, 오늘은 업데이트가 많습니다
색인
- 0.3.4.3 status 1.1) timestamper 1.2) new router console authentication
- 0.4 status 2.1) service & systray integration 2.2) jbigi & jcpuid 2.3) i2paddresshelper
- AMOC vs. restricted routes
- stasher
- pages of note
- ???
1) 0.3.4.3 상태
0.3.4.3 릴리스가 지난 금요일에 나왔고, 그 이후로 전반적으로 순조롭게 진행되고 있습니다. 새로 도입된 tunnel 테스트와 피어 선택 코드에서 몇 가지 문제가 있었지만, 릴리스 이후 약간의 조정을 거친 뒤에는 꽤 안정적입니다. IRC 서버가 아직 새 리비전으로 올라갔는지는 모르겠어서, 보통은 eepsites(I2P Sites)와 the http outproxies (squid.i2p and www1.squid.i2p)로 테스트에 의존해야 합니다. 0.3.4.3 릴리스에서는 큰 (>5MB) 파일 전송이 아직 충분히 신뢰할 만하지는 않지만, 제 테스트에서는 그 이후의 수정들이 상황을 더 개선했습니다.
네트워크도 성장하고 있습니다 - 오늘 일찍 동시 사용자 45명에 도달했고, 며칠 동안 꾸준히 38~44명 범위를 유지하고 있습니다 (w00t)! 이는 현재로서는 적정한 규모이며, 위험 징후를 살피기 위해 전체 네트워크 활동을 모니터링해 왔습니다. 0.4 릴리스로 전환할 때에는 사용자 기반을 점진적으로 약 100 router 수준까지 늘리고, 그 이상 확대하기 전에 추가로 테스트를 진행하려 합니다. 적어도 개발자 관점에서 보면 그것이 제 목표입니다.
1.1) timestamper
0.3.4.3 릴리스에서 바뀐 것들 중에, 제가 언급하는 걸 완전히 잊고 있었던 정말 끝내주는 변화 하나는 SNTP 코드의 업데이트였습니다. 자신의 SNTP 코드를 BSD 라이선스로 공개하기로 동의한 Adam Buckley의 관대함 덕분에, 우리는 예전 Timestamper 앱을 코어 I2P SDK에 병합했고 우리의 시계와 완전히 통합했습니다. 이것이 의미하는 바는 세 가지입니다: 1. timestamper.jar를 삭제할 수 있습니다 (코드는 이제 i2p.jar 안에 있습니다) 2. config에서 관련된 clientApp 라인을 제거할 수 있습니다 3. 새로운 시간 동기화 옵션을 사용하도록 config를 업데이트할 수 있습니다
router.config의 새로운 옵션들은 간단하며, 기본값만으로도 충분합니다(특히 여러분 대부분이 의도치 않게 해당 옵션들을 사용하고 있기 때문에 :)
질의할 SNTP 서버 목록을 설정하려면:
time.sntpServerList=pool.ntp.org,pool.ntp.org,pool.ntp.org
시간 동기화를 비활성화하려면 (NTP 전문가이고 OS의 시계가 항상 정확하다는 것을 알고 있는 경우에만 - “windows time"을 실행하는 것만으로는 충분하지 않습니다):
time.disabled=true
이제는 ’timestamper password’를 더 이상 가질 필요가 없습니다. 모든 것이 코드에 직접 통합되어 있기 때문입니다(아, BSD 대 GPL의 묘미 :).
1.2) new router console authentication
이 내용은 새로운 router 콘솔을 실행 중인 분들에게만 해당되지만, 그것을 공용 인터페이스에서 요청을 수신하도록 설정했다면 통합된 기본 HTTP 인증을 활용하는 것이 좋습니다. 물론 기본 HTTP 인증은 터무니없이 약합니다—네트워크를 스니핑하거나 무차별 대입으로 침입하려는 사람을 막지는 못하지만, 가볍게 기웃거리는 정도는 막아 줍니다. 어쨌든 이를 사용하려면, 다음 한 줄만 추가하면 됩니다
consolePassword=blah
사용자의 router.config에. 유감스럽게도 이 매개변수는 Jetty에 (시작 시) 한 번만 전달되므로 router를 다시 시작해야 합니다.
2) 0.4 status
0.4 릴리스를 향해 큰 진전을 이루고 있으며, 다음 주에 사전 릴리스 버전을 몇 가지 배포하기를 기대하고 있습니다. 아직 몇 가지 세부 사항을 다듬는 중이라 확정된 업그레이드 절차는 마련되지 않았습니다. 이번 릴리스는 하위 호환이므로, 업데이트는 큰 어려움 없이 진행하실 수 있을 것입니다. 아무튼 동향에 귀를 기울여 주시면, 준비가 되면 알게 되실 겁니다.
1.1) 타임스탬퍼
Hypercubus가 설치 프로그램, 시스템 트레이 애플리케이션, 그리고 일부 서비스 관리 코드를 통합하는 작업에서 많은 진전을 이루고 있습니다. 요컨대 0.4 릴리스에서는 모든 Windows 사용자에게 자동으로 작은 시스템 트레이 아이콘(Iggy!)이 표시되며, 웹 콘솔을 통해 이를 비활성화(및/또는 재활성화)할 수 있습니다. 또한 JavaService wrapper를 번들로 제공할 예정이며, 이를 통해 시스템 부팅 시 I2P를 실행(또는 실행하지 않기), 특정 조건에서 자동 재시작, 요청 시 JVM 강제 재시작, 스택 트레이스 생성 등 여러 가지 유용한 기능을 사용할 수 있게 됩니다.
1.2) 새로운 router 콘솔 인증
0.4 릴리스의 큰 업데이트 중 하나는 jbigi 코드의 전면 개편으로, Iakin이 Freenet을 위해 만든 수정 사항과 Iakin의 새로운 “jcpuid” 네이티브 라이브러리를 통합하는 것입니다. jcpuid 라이브러리는 x86 아키텍처에서만 동작하며, 일부 새로운 jbigi 코드와 함께 작동하여 로드할 ‘적절한’ jbigi를 결정합니다. 따라서 모든 사용자가 갖게 될 단일 jbigi.jar를 배포하고, 그 안에서 현재 시스템에 맞는 ‘적절한’ 것을 선택하게 됩니다. 물론 jcpuid가 선택한 것을 무시하고 자신만의 네이티브 jbigi를 빌드할 수도 있습니다(간단히 빌드한 다음 I2P 설치 디렉터리에 복사하거나, 이름을 “jbigi"로 지정하고 classpath(클래스패스)에 있는 .jar 파일에 넣으십시오). 그러나 이번 업데이트로 인해 하위 호환성이 없습니다 - 업그레이드할 때는 직접 jbigi를 다시 빌드하거나 기존 네이티브 라이브러리를 제거해야 합니다(새로운 jcpuid 코드가 적절한 것을 선택하도록 하기 위해서입니다).
2.3) i2paddresshelper
oOo는 사람들이 hosts.txt를 업데이트하지 않고도 eepsites(I2P 사이트)를 둘러볼 수 있게 해 주는 정말 멋진 도우미 도구를 만들어냈습니다. 이는 CVS에 커밋되었고 다음 릴리스에서 배포될 예정이지만, 이에 맞춰 링크를 업데이트하는 것을 고려해 볼 수 있습니다(cervantes가 이를 지원하도록 forum.i2p의 [i2p] bbcode를 업데이트하여 “Try it [i2p]” 링크를 추가했습니다).
기본적으로 원하는 이름으로 eepsite(I2P 사이트)에 대한 링크를 만든 다음, destination(목적지)를 지정하는 특별한 URL 매개변수를 덧붙이면 됩니다:
http://wowthisiscool.i2p/?i2paddresshelper=FpCkYW5pw...
내부적으로는 꽤 안전합니다 - 다른 주소를 위조할 수 없고, 이름도 hosts.txt에 저장되지는 않습니다. 하지만 예전의 http://i2p/base64/ 트릭으로는 볼 수 없던 eepsites(I2P Sites)에 링크된 이미지 등은 볼 수 있게 해 줍니다. 만약 항상 “wowthisiscool.i2p"로 그 사이트에 접속하고 싶다면, 물론 hosts.txt에 해당 항목을 추가해야 합니다(즉, MyI2P address book(주소록)이 배포될 때까지요 ;).
3) AMOC vs. restricted routes
Mule이 여러 아이디어를 모아 제시하고 제가 몇 가지를 설명하도록 계속 재촉해 왔고, 그 과정에서 그는 AMOC 구상 전체를 다시 평가해 보게 하려는 데에 어느 정도 성과를 내고 있습니다. 구체적으로는, 우리 전송 계층에 제가 부과했던 제약 중 하나—즉, 우리가 양방향성을 가정할 수 있도록 해 주던 그 제약을—없앤다면, 전체 AMOC 전송을 폐기하고 대신 일부 기본적인 제한 경로 운용을 구현할 수 있을지도 모릅니다(향후 신뢰할 수 있는 피어와 멀티홉 router tunnels 같은 더 고급 제한 경로 기법을 위한 토대를 남겨두는 방식으로).
이 방식을 선택한다면, 사람들은 별도의 설정 없이도 방화벽, NAT 등 뒤에서 네트워크에 참여할 수 있게 되고, 제한된 경로(restricted route)가 제공하는 익명성 특성의 일부도 제공할 수 있을 것입니다. 그에 따라 우리의 로드맵을 대대적으로 개편해야 할 가능성이 높지만, 이를 안전하게 할 수만 있다면 엄청난 시간을 절약할 수 있고 변화의 가치가 충분할 것입니다.
그러나 우리는 이를 서두르고 싶지 않으며, 그 경로로 가기로 결정하기 전에 익명성과 보안에 미치는 영향을 신중하게 검토할 필요가 있습니다. 0.4가 출시되어 원활히 운영되는 것을 확인한 뒤 그렇게 할 예정이므로, 서두를 필요는 없습니다.
2) 0.4 상태
소문에 따르면 aum이 꽤 좋은 진전을 보이고 있다고 합니다 - 그가 업데이트를 가지고 회의에 참석할지는 모르겠지만, 오늘 아침 #i2p에 짧은 메시지를 남겼습니다:
<aum> hi all, can't talk long, just a quick stasher update - work is
continuing on implementing freenet keytypes, and freenet FCP
compatibility - work in progress, should have a test build
ready to try out by the end of the week
만세.
5) pages of note
I2P 사용자들이 살펴볼 만한 새로운 자료 두 가지를 소개하고자 합니다. DrWoo는 익명으로 웹을 이용하려는 사람들을 위한 다양한 정보가 담긴 페이지를 만들었고, Luckypunk는 FreeBSD에서 몇몇 JVM(자바 가상 머신)을 사용해 본 경험을 바탕으로 한 howto(사용 방법 문서)를 게시했습니다. 또한 Hypercubus는 아직 공개되지 않은 서비스 및 시스템 트레이(systray) 통합을 시험해 보는 문서를 올렸습니다.
6) ???
좋아요, 지금은 할 말이 여기까지입니다 - 다른 안건을 제기하고 싶으시다면 오늘 밤 GMT 기준 오후 9시에 열리는 회의에 들러 주세요.
=jr