Всем привет, сегодня много обновлений

Алфавитный указатель

  1. 0.3.4.3 status 1.1) timestamper 1.2) new router console authentication
  2. 0.4 status 2.1) service & systray integration 2.2) jbigi & jcpuid 2.3) i2paddresshelper
  3. AMOC vs. restricted routes
  4. stasher
  5. pages of note
  6. ???

1) 0.3.4.3 статус

Релиз 0.3.4.3 вышел в прошлую пятницу, и с тех пор дела идут неплохо. Были некоторые проблемы с недавно добавленным кодом тестирования tunnel и выбора пиров, но после некоторых доработок с момента релиза всё стало довольно стабильно. Не знаю, перешёл ли irc-сервер уже на новую ревизию, так что в целом нам приходится полагаться на тестирование с eepsites(I2P Sites) и http outproxies (прокси для выхода в Интернет) (squid.i2p и www1.squid.i2p). Крупные (>5MB) передачи файлов в релизе 0.3.4.3 всё ещё недостаточно надёжны, но по результатам моих тестов изменения, сделанные с тех пор, ещё больше улучшили ситуацию.

Сеть тоже растёт — сегодня мы достигли 45 одновременных пользователей и уже несколько дней стабильно держимся в диапазоне 38–44 пользователей (w00t)! На данный момент это хороший показатель, и я отслеживаю общую активность сети, чтобы вовремя замечать возможные угрозы. Переходя к релизу 0.4, мы планируем постепенно увеличить базу пользователей до отметки примерно в 100 router и провести дополнительные тесты, прежде чем расти дальше. По крайней мере, такова моя цель с точки зрения разработчика.

1.1) timestamper

Одна из по-настоящему крутых вещей, которая появилась с релизом 0.3.4.3, о которой я совершенно забыл упомянуть, — это обновление кода SNTP. Благодаря щедрости Adam Buckley, который согласился выпустить свой код SNTP под лицензией BSD, мы включили старое приложение Timestamper в основной I2P SDK и полностью интегрировали его с нашими часами. Это означает три вещи: 1. вы можете удалить timestamper.jar (теперь код находится в i2p.jar) 2. вы можете удалить соответствующие строки clientApp из своей конфигурации 3. вы можете обновить свою конфигурацию, чтобы использовать новые параметры синхронизации времени

Новые параметры в router.config просты, и значения по умолчанию должны быть вполне подходящими (особенно это верно, поскольку большинство из вас непреднамеренно их использует :)

Чтобы задать список серверов SNTP для опроса:

time.sntpServerList=pool.ntp.org,pool.ntp.org,pool.ntp.org

Чтобы отключить синхронизацию времени (только если вы гуру NTP и знаете, что часы вашей ОС всегда показывают правильное время - запуск “windows time” НЕ достаточен):

time.disabled=true

Вам больше не нужен ’timestamper password’, так как всё теперь встроено прямо в код (ах, прелести BSD против GPL :)

1.2) new router console authentication

Это актуально только для тех, кто использует новую консоль router, но если она слушает публичный интерфейс, вам стоит воспользоваться встроенной базовой HTTP-аутентификацией. Да, базовая HTTP-аутентификация смешно слаба — она не защитит от тех, кто прослушивает вашу сеть или подбирает пароль перебором, но от случайного любопытствующего удержит. В любом случае, чтобы использовать её, просто добавьте строку

consolePassword=blah

to your router.config. You will, unfortunately, have to restart the router, as this parameter is fed into Jetty only once (during startup).

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, который будет у всех, и из него выбирать ‘подходящий’ вариант для текущей машины. Пользователи, разумеется, по-прежнему смогут собирать собственную нативную jbigi, переопределяя выбор jcpuid (просто соберите её и скопируйте в каталог установки I2P, либо назовите её “jbigi” и поместите в файл .jar в вашем classpath). Однако из-за обновлений она не обратно совместима - при обновлении вы должны либо пересобрать свою jbigi, либо удалить имеющуюся нативную библиотеку (чтобы новый код jcpuid смог выбрать подходящую).

2.3) i2paddresshelper

oOo собрал отличный вспомогательный инструмент, позволяющий пользователям просматривать eepsites(сайты I2P) без обновления файла hosts.txt. Он уже зафиксирован в CVS и будет включён в следующий релиз, но, возможно, пользователям стоит соответствующим образом обновить ссылки (cervantes обновил [i2p] bbcode на forum.i2p, добавив поддержку через ссылку “Try it [i2p]”).

По сути, вы просто создаёте ссылку на eepsite(I2P Site) с любым произвольным именем, затем добавляете специальный параметр URL, указывающий адрес назначения:

http://wowthisiscool.i2p/?i2paddresshelper=FpCkYW5pw...

Под капотом всё довольно безопасно — вы не сможете подменить чей-то другой адрес, и имя не сохраняется в hosts.txt, но это позволит вам видеть изображения / и т. п., на которые есть ссылки на eepsites(I2P Sites), что было бы невозможно со старым трюком http://i2p/base64/. Если вы хотите всегда иметь возможность использовать “wowthisiscool.i2p” для доступа к этому сайту, вам всё равно, конечно, придётся добавить запись в hosts.txt (пока MyI2P address book не будет выпущена, то есть ;)

3) AMOC vs. restricted routes

Mule накидывает идеи и подталкивает меня объяснить некоторые вещи, и в процессе ему понемногу удается склонить меня к пересмотру всей идеи AMOC. Конкретнее, если мы снимем одно из ограничений, которое я наложил на наш транспортный уровень — то, что позволяло нам предполагать двунаправленность, — мы, возможно, сможем отказаться от всего транспорта AMOC, вместо этого реализовав базовую поддержку ограниченных маршрутов (заложив фундамент для более продвинутых техник ограниченной маршрутизации, таких как доверенные узлы и многохоповые router tunnels, на будущее).

Если мы пойдём по этому пути, это будет означать, что люди смогут участвовать в сети за межсетевыми экранами, NAT и т. п. без какой‑либо настройки, а также получат некоторые свойства анонимности, присущие ограниченным маршрутам. В свою очередь, это, вероятно, потребует серьёзного пересмотра нашей дорожной карты, но если мы сможем сделать это безопасно, это сэкономит нам массу времени и такое изменение более чем оправдает себя.

Однако мы не хотим торопиться и должны тщательно оценить последствия для анонимности и безопасности, прежде чем принять решение идти по этому пути. Мы сделаем это после выхода 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 выложил руководство (howto), описывающее его опыт работы с некоторыми JVM (виртуальными машинами Java) на FreeBSD. Hypercubus также опубликовал документацию по тестированию ещё не выпущенной интеграции службы и системного трея (systray).

6) ???

Окей, это всё, что я могу сказать на данный момент - загляните на встречу сегодня вечером в 21:00 по GMT, если хотите поднять что-то ещё.

=jr