LINUX.ORG.RU

I2P 0.9.14

 , ,


3

4

Состоялся выпуск I2P 0.9.14 — открытого ПО для организации сверхустойчивой анонимной оверлейной зашифрованной сети и применяемого для веб-сёрфинга, анонимного хостинга (создания анонимных сайтов, форумов и чатов, файлообменных серверов и т. д.), систем обмена мгновенными сообщениями, ведения блогов, а также для файлообмена (в том числе P2P — Torrent, eDonkey, Kad, Gnutella и т. д.), электронной почты, VoIP и многого другого. Адреса сайтов в сети I2P находятся в псевдо-доменном пространстве .i2p.

Данный выпуск устраняет XSS-уязвимость, найденную командой Exodus Intelligence. Кроме того, на всякий случай из консоли роутера были убраны некоторые настройки и полностью отключена возможность установки плагинов, которая будет возвращена позже, после углублённого анализа ситуации.

Изменения, связанные с безопасностью:

  • Исправлен ряд XSS-уязвимостей.
  • Убрана возможность изменить источник новостей через графический интерфейс.
  • Отключена возможность установки плагинов.
  • Убрана возможность изменить источник неподписанных обновлений через графический интерфейс.
  • Убрана возможность правки файла clients.config через графический интерфейс.
  • Добавлены заголовки Content-Security-Policy и X-XSS-Protection.
  • Удалён неиспользуемый ExecNamingService.

Исправленные ошибки:

  • Исправлено построение туннелей.
  • Отказ в приёме туннелей при режиме невидимости.
  • Исправления и улучшения в i2psnark (в области интерфейса и поддержки DHT), включая улучшенную совместимость с torrent-клиентом Vuze.

Прочие изменения:

  • Исправлены некоторые ошибки, почищен код, обновлены приложения (Jetty, Tomcat, Wrapper).

>>> Подробности

anonymous

Проверено: maxcom ()
Последнее исправление: cetjs2 (всего исправлений: 2)

Ответ на: комментарий от Iron_Bug

не кажется, что стать нормальным разработчиком на крестах гораздо сложнее, чем на жабе? Соответственно, в проекте будет меньше участников. Меньше людей - медленней развитие.

для примера, конкуренция Oracle и Ingres. Oracle победила исключительно «по фичам». По качеству она сливала. Т.е. рынку нужны фичи. Для большого количество фич - нужен пресс народа.

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от stevejobs

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

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

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от stevejobs

не кажется, что стать нормальным разработчиком на крестах гораздо сложнее, чем на жабе?

не только не кажется, я в этом абсолютно уверена :)
статья Норвига «Learn C++ in ten years» (http://norvig.com/21-days.html) как раз об этом.
просто вопрос не в том, сколько времени требуется разработчику для изучения С++. а в том, насколько эффективно будет работать софт. не далее, как сегодня утром, мне предложили работу на чистом С: оптимизация кернела и написание специфических драйверов под очень мелкий, но очень шустрый девайс. и такую задачу никак не решить ни на жабе, ни на питоне. так что всегда были и будут такие задачи и будут нужны специалисты.

ну а написание серверного софта на С++ - это просто игра, развлечение для мозгов. опенсорц позволяет маленько отвлечься от производственных задач и пофантазировать.

Oracle победила исключительно «по фичам»

я не спец по ораклу, но за моей спиной сидят три человека, которые занимаются ораклом профессионально. и они сегодня с утра матом кроют «слишком умный» оракл, который курочит запросы и падает в производительности. просто разработчики решили, что они умнее юзера и оракл «сам всё знает». и это выливается в чудовищный гемор для разработчиков и решать эти проблемы приходится через разнообразные костыли.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

простов этой софтине некоторые вещи можно писать хоть ваще на чистом С. никаких особенностей С++11 там не задействовано, по сути.

Можно, только C++ 11 и boost существенно упрощает написание. Временем, чтобы поддерживать старые системы я не располагал. А так действительно можно переписать на Си и чистый POSIX.

по-моему, там главная проблема будет в массовом использовании, когда база сети станет достаточно большой. потребуется нечто типа динамической маршрутизации и так вот сразу не понятно, как это можно реализовать.

Там возникнет проблемы с floodfill-ами, их в буквальном смысле слова «затопит». Уже сейчас с ними слишком много соединений, и пытаются с этим бороться.

orignal
()
Ответ на: комментарий от Iron_Bug

ну а написание серверного софта на С++ - это просто игра, развлечение для мозгов. опенсорц позволяет маленько отвлечься от производственных задач и пофантазировать.

Вот и помогли бы мне малость дописать недостающее в i2pd

orignal
()
Ответ на: комментарий от Iron_Bug

оптимизация кернела и написание специфических драйверов под очень мелкий, но очень шустрый девайс. и такую задачу никак не решить ни на жабе, ни на питоне.

Я пишу модули ядра на плюсах, хоть это и считается моветоном.

orignal
()
Ответ на: комментарий от Iron_Bug

Естественно не с нуля. Просто требуемая логика, которую нужно было перенести в ядро, была написана на плюсах. Отлаженная и провереная временем. Потому переписывание на Си стоило бы больших затрат, чем перенести туда C++-ый, естественно, поменяв new/delete и некоторые структуры данных.

orignal
()
Ответ на: комментарий от orignal

нет. это не я. я Iron Bug везде, уж сто лет как этот ник ко мне прилип. в списке разработчиков i2p меня пока нет. я как раз искала себе занятие в опенсорце в свободное время и i2p меня заинтересовал. связалась с разработчиками, они сказали, что как по С++ у них есть над чем работать
но тут у меня внезапно случилась локальная жопа: сгорел мой основной рабочий ноут, причём сгорел намертво, надо мать менять. поэтому я возилась с диагностикой и попытками ремонта, а потом с переездом на другой ноут. пока что читала доки, полностью всю теорию, все алгоритмы и т.д. то есть, я себе сейчас очень хорошо представляю архитектуру и основные проблемы, над которыми надо думать. надеюсь, скоро всё утрясётся и я начну активное участие в проекте.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

искала себе занятие в опенсорце в свободное время

Ты более GNU`Ъ чем я. Предлагаю вместо i2p пилить другие проекты. Да и так забивать свободное время.. сидишь на пк 24 часа небось.

dartvedroid
()
Ответ на: Ответ от juffinhalli

А насчёт краха интернета, ты не волнуйся i2p сразу умрёт вместе с ним.

Спасибо за ссылку. Так и быть, не буду волноваться.

dartvedroid
()
Ответ на: комментарий от dartvedroid

ну а шо б не сидеть? чего делать-то исчо дома вечером? ну, на басу можно поиграть. но через пару-тройку часов интенсивной игры пальцы устают. так что всё равно комп остаётся. если я не упахиваюсь в стельку на работе (а сейчас это далеко от истины), то вечером я совершенно спокойно могу сидеть и программировать.

насчёт «других проектов»: я долго думала, искала, лазила по инету, смотрела код... работы много, но интересного мало. вот прямо таких проектов, чтобы было интересно и полезно, и чтобы были нужны разработчики - вообще почти нет. а вопрос безопасности сети в этой стране актуален, как никогда.

Iron_Bug ★★★★★
()
Ответ на: комментарий от orignal

с жаба-раработчиками. «официальная» ветка С++ у них считается i2pd. по крайней мере, они мне так сказали. просто там ещё слишком сырая версия, чтобы объявлять её публичной для юзеров.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

вообще почти нет. а вопрос безопасности сети в этой стране актуален, как никогда.

Читай выше ссылку, i2p не поможет этой стране. Да и так пилиться на жабе.

ну а шо б не сидеть? чего делать-то исчо дома вечером?

Читать книги или с e ink, фитнес, ванна с книгой, кулинария, рисование, посидеть с ручкой и блокнотом а4 - от планирования, проработки продуктов до писательства, музыку послушать, помедитировать, раз тян - то может вышивать или куклы играть. А вообще делай тему опрос на лоре как отдыхать от пк дома.

dartvedroid
()
Ответ на: комментарий от dartvedroid

ванна с книгой

Чего только не удумают, буржуи. Небось тебе ещё дворецкий вино и конфеты в ванну приносит?

vurdalak ★★★★★
()
Ответ на: комментарий от Iron_Bug

«официальная» ветка С++ у них считается i2pd

«Ой, а мужики то и не знают». Вообще то i2pd это я :)

просто там ещё слишком сырая версия, чтобы объявлять её публичной для юзеров

На данный момент не могу сказать, что сырая - работает достаточно стабильно в течение продолжительного времени. Просто там еще много чего предстоит сделать, потому сейчас из полезного работают только http запросы.

orignal
()
Ответ на: комментарий от Iron_Bug

Ну вот и присоединяйтесь к i2pd. Мне очень нужны сильные C++ разработчики. Чистый C++ и иногда ассемблер. Сейчас полно задач, за которые никто не хочет браться ввиду их «низкоуровневости» типа реализации TCP протокола, а у меня на все сразу нет времени.

orignal
()
Ответ на: комментарий от orignal

ну и хорошо. я уже почти добила линь и настройки на стареньком ноуте, на который пришлось переехать в связи с безвременной кончиной моего основного ноута. так что скоро возьмусь за код. эх, правда проц на нём не поддерживает AES-NI, но я с потом всё же прикуплю себе новый монстрозный ноут, чтобы можно было нормально проверять работу хардварной поддержки AES-шифрования.

надо будет обсудить актуальные задачи, которые требуется решать, чтобы я сразу смотрела в нужном направлении.

насчёт «сырости» я имела в виду, что это пока только роутер. а к нему надо бы ещё много чего. чтобы был полный комплект на С++ (не люблю я жабу, хоть тресни).

пока в i2p я вижу одну проблему, которая не относится к протоколам и куда более глобальна: с ростом количества роутеров база будет расти. и рассылка будет усложняться. так что это ещё не очень понятно, как будет изменяться эффективность системы при росте числа юзеров.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

эх, правда проц на нём не поддерживает AES-NI, но я с потом всё же прикуплю себе новый монстрозный ноут, чтобы можно было нормально проверять работу хардварной поддержки AES-шифрования.

Из тех узлов, которые у меня есть, тоже не все поддерживают AES-NI - там все делается с помощью crypto++. Но потеря производительности там ощутимая.

надо будет обсудить актуальные задачи, которые требуется решать, чтобы я сразу смотрела в нужном направлении.

В принципе перечень у меня здесь https://github.com/PrivacySolutions/i2pd/issues Наиболее актуальная на данный момент задача это полная реализация streaming-а. https://geti2p.net/en/docs/api/streaming Фактически это TCP и ее буквально все ждут. Если вас интересуют низкоуровнеые вещи, то я бы хотел видеть реальзацию 16-и и 32-х байтной арифметики используя MMX регистры.

orignal
()
Ответ на: комментарий от orignal

я почитаю.

низкоуровневость - вопрос сложный. если углубиться в конкретику, можно потерять кроссплатформенность и совместимость по архитектурам. так что тут надо очень внимательно смотреть, что выиграешь и насколько этот выигрыш будет оправдан.

Iron_Bug ★★★★★
()
Ответ на: комментарий от orignal

от ifdef'ов код со временем превращается... превращается код...

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Не превращается если все делать в одном месте. Вот смотрите пример https://github.com/PrivacySolutions/i2pd/blob/master/aes.cpp

Пока полно неэффективностей лежащих «на поверхности», в первую очередь это неправильное выравнивание, приводящее к тормозам, обусловенное прямым приведением буферов к структурам по причине лени. Постепенно заменяю на нормальные парсеры.

orignal
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.