|
i2pd
|
|
i2pd (аббревиатура от англ. invisible internet project daemon, алсо ш2зд, пурпрный i2p, пурпурный роутер) — полноценный клиент для анонимной сети I2P, написанный на языке C++. Исходный код проекта распространяется под лицензией BSD, релизы выпускаются для Debian, Ubuntu, OS X и Windows.
История разработки[править]
Изначальный логотип I2Pd. Фактически лого I2P с изменённой раскраской.
Маскот I2Pd. Его упрощённая версия стала новым официальным логотипом.
Развернуть
дек 19 21:49:20 <psi> invited kovri to look at the wiki page, we'll see how long it takes for them to catch up i guess.
дек 19 21:49:53 <orignal_> I really don't know why you want to talk to them
дек 19 21:50:50 <psi> i don't
дек 19 21:51:28 <orignal_> then why do you invite them to anywhere else but hell?
дек 19 21:52:38 <orignal_> no discussion with them are possible
дек 19 21:53:57 <psi> It's to be polite, being the better man.
дек 19 21:54:01 <psi> leading by example
дек 19 21:54:10 <psi> being the change you want to see, etc.
дек 19 21:54:29 <orignal_> that's bs really
дек 19 21:54:38 <psi> how so?
дек 19 21:54:50 <orignal_> no negotiations with enemies
дек 19 21:54:53 <psi> if they won't I should so the world sucks less
дек 19 21:55:07 <psi> not negotiating anything tho
дек 19 21:55:52 <psi> I am saying "hey we are doing this, if you want to help (of course they won't tho) your input will be taking into consideration"
дек 19 21:55:59 <psi> taken*
дек 19 21:56:25 <orignal_> they will read yours, shit it out everywhere and start doing thier own
дек 19 21:56:41 <orignal_> that's what 1M does
дек 19 21:56:47 <psi> it's better to give them a change and have them ignore instead of having 2 waring sides
дек 19 21:57:01 <orignal_> change whom? animal?
дек 19 21:57:02 <psi> if THEY also implement it then java will too :D
дек 19 21:57:10 <psi> chance*
дек 19 21:57:23 <orignal_> that's looser's logic
дек 19 21:57:32 <psi> opinions noted
дек 19 21:57:34 <psi> :^)
дек 19 21:57:55 <orignal_> we must implement our own
дек 19 21:58:04 <orignal_> and others can either implement it or not
дек 19 21:58:05 <psi> we will
дек 19 21:58:20 <orignal_> like we did for DNS
дек 19 21:58:37 <psi> here's my case, if we implement it and kovri implements it too, then java i2p has more reason to also implement it
дек 19 21:59:42 <orignal_> if we implement it and it works why should we care about others
дек 19 22:00:03 <psi> i don't
дек 19 22:00:35 <psi> no one has to implement these features if they don't want to
дек 19 22:00:52 <psi> but, if they do want to then more feedback can be generated about the crypto parts
дек 19 22:01:04 <psi> more eyes == better IMO
дек 19 22:02:05 <orignal_> again, I doubt these thief and morons are able to say anything useful
дек 19 22:02:23 <orignal_> especially the full-time troll
дек 19 22:02:54 <psi> i don't disagree, it's IMO better to ask and have them refuse than not to ask
дек 19 22:03:28 <psi> but it's*
дек 19 22:03:37 <orignal_> better to ignore them completely and don't give them an idea what's going on
дек 19 22:04:02 <psi> how so?
дек 19 22:04:27 <orignal_> because they are thief and morons
дек 19 22:04:44 <psi> it's all open code tho?
дек 19 22:04:55 <orignal_> hence you must do eevry efoort to keep them away from your assets
дек 19 22:04:59 <psi> besides the fact that anonimal is being paid to use stolen code
дек 19 22:05:16 <psi> it's really slimy that they changed the copyright without attribution
дек 19 22:05:25 <orignal_> not this
дек 19 22:05:27 <psi> that's actually a blatant violation of the copyright iirc
дек 19 22:05:33 <orignal_> you perfectly know the reason
дек 19 22:05:50 <psi> the donation addresses?
дек 19 22:06:01 <orignal_> no
дек 19 22:06:15 <orignal_> let me refresh your memory
дек 19 22:06:17 <psi> then i don't know and i have not been paying attention
дек 19 22:06:29 <psi> please do
дек 19 22:06:46 <orignal_> I diappeared for shorter time due some personal reason
дек 19 22:06:55 <orignal_> and they starting hijacking the project
дек 19 22:07:18 <orignal_> with full support form the "official I2P"
дек 19 22:08:12 <psi> and they took a large chunk of contributors as well
дек 19 22:08:20 <psi> which is totally bullshit
дек 19 22:08:38 <orignal_> the evidence is cryptopp branch
дек 19 22:09:30 <orignal_> I always support people who makes own forks for thier own projects
дек 19 22:09:53 <orignal_> if they worked that way that was fine
дек 19 22:10:01 <orignal_> bu animal shits everywhere
дек 19 22:10:07 <psi> so you object to people trying to hijack your branch?
дек 19 22:10:10 <orignal_> because he is animal
дек 19 22:10:33 <orignal_> first thing they have done to kick me from the history
дек 19 22:10:50 <orignal_> and see last 1M's commit there
дек 19 22:10:50 <psi> they rewrote the git history?
дек 19 22:10:52 <psi> really?
дек 19 22:10:58 * psi cehcks
дек 19 22:11:16 <orignal_> no, they have move the files
дек 19 22:11:54 <orignal_> the way history doesn't show preious comits
дек 19 22:12:09 <orignal_> and they look like newly created
дек 19 22:12:51 <psi> aha there wego
дек 19 22:13:04 <psi> starts at 18ca8b9b97d598888e7c8f1ab563887b9746e841
дек 19 22:13:19 <psi> no wait
дек 19 22:13:20 <psi> 4412dd198da545d74d5a614f025f0eb09d0ad010
дек 19 22:13:54 <orignal_> https://github.com/PurpleI2P/i2pd/commit/b9e25f2c96bd051cfdc9dc6dfbda1ed44b9ca027
дек 19 22:14:03 <orignal_> great. isn't it?
дек 19 22:14:38 <psi> heh
дек 19 22:15:47 <psi> that's not really a good thing to do
дек 19 22:16:00 <psi> trying to erase the original author from the project
дек 19 22:16:06 <orignal_> yes
дек 19 22:16:21 <orignal_> than zzz started saying they didn't have such intent
дек 19 22:16:38 <psi> i think they thought you bailed for good
дек 19 22:16:39 <orignal_> but my eyes and animal's behaviour tell me something else
дек 19 22:17:04 <orignal_> why did they think this way?
дек 19 22:17:24 <psi> miscommunication and language barriers
дек 19 22:17:30 <orignal_> because I said at #ru that I need to take breake
дек 19 22:17:38 <orignal_> that's another bs
дек 19 22:18:13 <orignal_> nobody asked even slow if it was a language barrier
дек 19 22:18:21 <orignal_> sombody really wanted me out
дек 19 22:19:12 <psi> or rather, no communication and language barriers
дек 19 22:19:12 <psi> from their perspective iirc they thought you died or something
дек 19 22:19:12 <psi> that would explain it
дек 19 22:19:12 <orignal_> died in 1 week?
дек 19 22:19:31 <psi> lag
дек 19 22:19:34 <orignal_> don't you thik it's too early
дек 19 22:19:42 <psi> just trying to understand everything
дек 19 22:20:02 <orignal_> but let me finish the pidcture
дек 19 22:20:18 <orignal_> it could clarify everthing
дек 19 22:20:38 <orignal_> initially I attacked zzz and I was wrong
дек 19 22:20:40 <psi> i think they disliked the code at that stage and wanted to force you out so they could add more C++14
дек 19 22:21:21 <orignal_> about the source
дек 19 22:21:21 <orignal_> that's fine. they could make own fork
дек 19 22:21:23 <orignal_> that's the way how everybody does if doesn't like something
дек 19 22:21:31 <psi> go on, continue
дек 19 22:21:33 <orignal_> and how kytv suggested
дек 19 22:21:57 <orignal_> rememeber 2014 and i2pcpp when orion decided to stop the project
дек 19 22:22:06 <psi> yes
дек 19 22:22:29 <orignal_> right after then somebody here has contacted me
дек 19 22:23:05 <orignal_> to implement support for their coin (at least though the SAM) promising money
дек 19 22:23:43 <orignal_> after 1 month SAM got implemented and worked with qt-messenger
дек 19 22:23:52 <orignal_> (you can look at the history)
дек 19 22:23:58 <orignal_> guess what heppened next?
дек 19 22:24:15 <psi> they wanted an i2p router?
дек 19 22:24:32 <orignal_> they wanted initially
дек 19 22:24:51 <orignal_> but SAM was good for start
дек 19 22:25:11 <orignal_> somebody start saying they don't have money for now, etc.
дек 19 22:25:25 <orignal_> I answered "no money no honey"
дек 19 22:25:28 <orignal_> that's easy
дек 19 22:26:08 <psi> they promised money for an i2p router but never delivered? is that where this is going?
дек 19 22:26:14 <orignal_> yes
дек 19 22:26:25 <orignal_> and kept bullshiiting about it
дек 19 22:26:36 <psi> now it all makes sense to me
дек 19 22:26:38 <orignal_> since I know such bullshiiters pretty well
дек 19 22:26:46 <orignal_> I said "good bye"
дек 19 22:27:03 <orignal_> but they were waiting for opportunity
дек 19 22:27:40 <psi> ...to take the code for free that you made?
дек 19 22:27:50 <orignal_> yes
дек 19 22:28:05 <psi> okay this completes my picture
дек 19 22:28:12 <orignal_> and as you see they have changed the license to their coin
дек 19 22:28:24 <orignal_> the final piece of the puzzly
дек 19 22:28:27 <orignal_> puzzle
дек 19 22:28:42 <orignal_> remember anci2pd with built-in router?
дек 19 22:28:54 <psi> yes
дек 19 22:29:29 <orignal_> so, it was working proof-of-concept (can be resumed at any time, btw)
дек 19 22:29:43 <orignal_> and I talked to him
дек 19 22:30:45 <orignal_> instead having complete and working solution he prefed to play kovri and wait for one more year and then one more year, etc.
дек 19 22:31:00 <psi> i see
дек 19 22:31:28 <orignal_> and even hire the full-time troll hoping he can deliver something useful for him
дек 19 22:31:42 <orignal_> instead just holding his words
дек 19 22:33:31 <psi> alright then, i think i can see this a bit clearer now.
дек 19 22:33:57 <psi> in future i'll let monero/kovri find out later about fun feature ideas
дек 19 22:34:10 <psi> since they sound kinda scummy tbh
дек 19 22:34:19 <psi> and they have acted scummy to me personally
дек 19 22:34:41 <psi> i wasn't sure if i was the only one that got treated this way but now i have a confirmed other case
дек 19 22:34:42 <psi> (you)
дек 19 22:35:14 <psi> i really had hopes for it but they kicked me out
дек 19 22:35:58 <psi> so fuck those guys
дек 19 22:38:01 <ano`> <psi> in future i'll let monero/kovri find out later about fun feature ideas < cant they just look at the git if they care?
дек 19 22:38:17 <psi> not for ideqas
дек 19 22:38:19 <psi> ideas*
дек 19 22:39:10 <orignal_> what did they do?
дек 19 22:40:02 <psi> "cool will take a look"
дек 19 22:42:08 <orignal_> anci2pd can be resumed easily if there is a demand
дек 19 22:43:39 <orignal_> but even bundle through the SAM is enough
дек 19 22:51:45 <orignal_> so, the statement is
дек 19 22:52:19 <orignal_> if somebody start bullshitting they are going to have their coin through the I2P
дек 19 22:52:32 <orignal_> well, anoncoin has it for a while already
дек 19 22:53:06 <orignal_> and built-in I2P can be added at any time rather than after 1 year of development
История релизов[править]
2.10.0
|
1. Датаграмные тоннели
2. Уменьшено потребление файловых дескрипторов
3. Локальные адреса вида 127.x.x.x для серверных тоннелей
4. Задаваемые список ресидов и адрес первоначальной адресной книги
5. Возможность задавать netid, отличный от 2
6. Строгая проверка сертификатов и подписей в SU3 файлах
7. Исправлено несколько багов в BOB и I2CP
8. Первоначальная поддержка iOS
Также пофиксено много багов :)
|
2.11.0
|
По многочисленным просьбам трудящихся выпущен новый крупный релиз. Починены основные виндовые баги, в том числе самый мерзкий из них, когда прокси сервер внезапно сбрасывает соединение.
А кроме того:
1. Полностью работают тоннели нулевой длины (для тех, кто понимает нафига они. Остальным они не нужны)
2. Для прокси теперь можно задавать длину и число тоннелей
3. SAM может принимать входящие стримы по нескольким соединений (нужно для libtorrent), а заодно и починены падения
4. На хорошем железе теперь задействован AVX, что существенно улучшает производительность
|
2.12.0
|
Если кратко, то стал работать быстрее, жрать памяти меньше, известные баги пофиксены.
Все остальные изменения читать здесь (много букафф)
https://github.com/PurpleI2P/i2pd/releases/tag/2.12.0
|
2.13.0
|
1. Тэги сохраняются в файле и при рестарте больше не нужно ждать пока они закончатся
2. Поддержка подписи по ГОСТ Р 34.11 (типы подписей 9 и 10)
3. Исправлены различные баги в протоколе SAM, что койны, мессенджеры и торренты стали работать много стабильнее
4. Ликвидированы очередные утечки памяти
5. Все стало рабоать в целом быстрее
|
2.14.0
|
1. Добавлена возможность ограничения скорости транзита.
2. NTCP подключения через HTTP или SOCKS аутпрокси.
3. Возможноть отключить Address Helper для HTTP прокси.
4. Игнорирование комментариев в файлах адресных книг.
|
2.15.0
|
1. Можно добавлять и убирать тоннели в tunnels.conf без рестарта и обрыва остальных (по kill -s HUP)
2. Морда на QT
3. Вырезаны Accept-* из заголовков HTTP прокси
4. Корректная обработка адресов с комментарии при обновлении адресной книги
5. Отключением outproxy для SOCKS
6. Исправлены разные баги мешавшие запуску полноценной тестовой сети
|
2.16.0
|
1. Реализован метод "Connect" для HTTP-прокси, теперь работает https и всякие экзотические браузеры вроде молнии
2. Полноценный аутпрокси. Пишем в настройках httpproxy.outproxy=http://false.i2p например и ходим на клирнетовские адреса
3. Шифрование ECIES. При желаниие можно задать cryptotype=1 и будет ECIES-P256 вместо эль гамаля. Понимается пока только другими i2pd
4. Логи с датой кому нужно. Включается параметром logclftime=true
5. Можно обновлять адрес(ключ) тоннеля без рестарта. Достаточно грохнуть соотвествующий .dat файл и сказать kill -s HUP
6. Аналогичная возможность для винды без kill -s HUP, а пунктом меню
7. Исправлен ряд багов в протоколе BOB
|
2.17.0
|
1. Ресиды можно делать через прокси (HTTPS и SOCKS), тем самым скрыв факт обращение к ресиду от майора
2. Для ключей в тоннелях можно писать transient, тогда не сохраняется на диске и генерируется по новой при HUP. Удобно для прокси-тоннелей
3. Появился параметр i2p.streaming.initialAckDelay сколько времени ждать прежде чем отправить Ack. По умолчанию 200 миллисекунд. Полезно для работы с разным потоковым вещаением, если поставить в диапазоне 20-50 то лагать будет меньше
4. Тип подписи RSA выпилен окончательно. Даже не пытайтесь его задавать. И все соединения с адресов с ним будут отвергаться.
5. Существенно переделана веб-консоль: показывается список работающих служб, можно менять уровень логов, исправлена кривая табуляция, поправлен баг с остановом под виндой
6. Можно делать серверные тоннели с ECIES - теперь они публикуются корректно
7. Добавлены дополнительные параметры для создания адресов в SAM и BOB
|
2.18.0
|
1. При завершении работы надо ждать 10 минут, а когда весь транзит закончится, что может случиться раньше 10 минут
2. Теперь показываются имена не только SAM, но и I2CP тоннелей
3. При перезагрузке перечитывается кофиги HTTP и SOCKS прокси, а также меняется shared local destination
4. Поправлены разннообразные баги с SAM и floodfill
5. Запросы к адресной книги как правило завершаются успешно, а не через раз, как раньше
|
2.19.0
|
1. Добавлена поддержка аутпрокси с авторизацией, теперь в конфиге можно писать типа outproxy=http://vasya:pupkin@myoutproxy.i2p. Для аутпрокси для своих. Было актуально во время недавних событий с телеграмом
2. Теперь роутеры поддерживают тип шифрования ECIES и могут строить через них тоннели
3. Размер пакета для андроида стал в 2 раза меньше в связи с переходом с ant на gradle
4. Наконец-то починен релоад тоннелей по HUP
5. Новые роутер создаются с типом подписи EdDSA
6. Добавлен метод ClientServicesInfo для I2PControl
7. Первоначальная поддержка NTCP2, по крайней мере такие адреса из netdb распознаются и обрабатываются нормально
|
2.20.0
|
...
|
2.21.0
|
1. Полная поддержка NTCP2, в том числе и для ipv6
2. Использование EdDSA, x25519 и SipHash из openssl 1.1.1, если таковая присуствует
3. Работа на новых андроидах с api > 26
4. Кодировка роутеров классов 'X' и 'P' без 'O' (точно также как в джаве 0.9.37)
5. Исправлен баг с пропаданием NTCP адреса при включенном NTCP2
6. Показ общего числа исходящих тагов в вебконсоли
|
2.22.0
|
...
|
2.23.0
|
1. Поддержка LeaseSet2 стандартного типа (тип 3)
2. Более быстрый NTCP2
3. Добавлена корректировка времени по NTP. Теперь тем, кому лень возиться с снихронизацией часов на компе, можно просто включить эту опцию
4.Можно отключать запись данных профилировщика на диск, поскольку засирает сильно
5. Морда для адроида переведена на русский
6. На новых андроидах запрашивается разрешение на запись на сд-карту
7. Адресная книга ставится сразу же вместе с пакетом для андроида. Не надо ждать когда подгрузится
8. Не падает
|
2.24.0
|
...
|
2.25.0
|
1. Поддержка и публикация шифрофанных лизсетов
2. b33-адреса
3. Новый тип подписи RedDSA (тип 11). Нужен для шифрованных лизсетов.
4. Исправлен баг с потерей SSU-пакетов
5. Обработка HТТP-заголовков без значений, поскольку некоторые клиенты шлют такое.
6. Корректый путь к SD-карте под андроидом
7. Джап-линки можно отключать для каждого тоннеля по отдельности
|
Хейтеры и их природа[править]
В основном, причины, вызывающие попаболь у хейтеров i2pd, лежат в сугубо технической плоскости. Обеднённые взаимной терпимостью быдлокодеры технобоги готовы смешать друг друга с дерьмом, доказывая, чьё шифрование круче. Классикой жанра является акцентирование реальных или кажущихся недостатков разработки конкурирующей команды. Именно выяснение программерских аспектов породило перлы вроде Перепишите на RUST.
Второй тип претензий (но первый по градусу неадеквата) представляет собой обвинение разработчиков I2Pd в злонамеренности и сотрудничестве с майором. Самым здравой реакцией на подобную критику можно считать ответ orignal про шапочку из фольги.
Классические примеры паранойи вокруг сабжа периодически возникают в обсуждениях на Свидомой Википедии, а затем форсятся представителями параноидальных кругов на других ресурсах:
« |
И нам хотят навешать на уши лапшу, что это делает полтора сознательных анонимуса, которые так втрескались в I2Pd, что аж кончают. Ребят, вы можете сколько угодно прикидываться группой из двух волонтёров (orignal и таинственный маркетолух), но со стороны видно, что работает большая группа. Именно работает, ежедневно и целенаправленно, а не просто забавляется в свободное время. Ну а по некоторым характерным признакам, свойственным ещё пропагандонам из МГЕР, и тому факту, что всё это идёт со "членочана", источник раскрутки определяется быстро и однозначно - пригожинские.
Можно конечно предположить, что в I2Pd нет закладок, а его раскрутка нужна, чтобы загнать в I2P побольше хомячков (I2Pd browsrer bundle ставится гораздо легче ванильной системы). И там заманивать их на гэбэшные сайты-подставы. Но эта комбинация выглядит слишком сложно для нынешних силовиков. Это ребята прямолинейные, привыкшие давить ресурсами и массой, а не хитрыми многоходовочками. К тому же мамкины анархисты и диванные оппозиционеры предпочитают дарповский TOR.
Потому, в I2Pd следует ждать стучалок, которые сливают всю информацию на определённые узлы I2P. Не исключено, что при достижении некоего критического количества I2Pd-роутеров, сеть просто обвалится. Или там есть активирующийся по удалённой команде обваливатель (например, засирание фэйковыми тоннелями).
|
» |
— Параноидальные круги[1] |
Реакция на хейтеров[править]
Когда дискуссия о сабже вышла за пределы IRC и стала происходить на форумах и имиджбордах, стало понятно, что I2Pd пользуется чуть больше, чем 3.5 анона. Кроме того, родилась довольно яркая саркастическая реакция на хейтеров второго типа.