I2P
I2P 0.9.8.1 Router Console | |
| Тип | Оверлейна мережа, Peer-to-peer |
|---|---|
| Автор | I2P Team |
| Перший випуск | 2003 |
| Стабільний випуск | 2.7.0 (8 жовтня, 2024) |
| Платформа | Багатоплатформність |
| Операційна система | *nix (FreeBSD, OpenBSD, Linux), Microsoft Windows, Android, macOS |
| Мова програмування | Java, C++ |
| Стан розробки | активний |
| Модель коду | Вільне та відкрите програмне забезпечення |
| Ліцензія | Громадське надбання, BSD, GPL, MIT, Artistic License |
| Репозиторій | github.com/i2p/i2p.i2p |
| Вебсайт | geti2p.net |
I2P (скор. від англ. «Invisible Internet Project», кириліз.: АйТуПі, досл. «Проєкт Невидимий Інтернет») — відкрите програмне забезпечення для створення самоорганізованої, надстійкої, анонімної та повністю зашифрованої оверлейної мережі P2P. I2P використовує модифікований Kademlia DHT [1], але відрізняється тим, що зберігає в собі хешування адрес вузлів мережі, IP-адреси, зашифровані AES, а також публічні ключі шифрування; з'єднання з базою даних мережі також шифруються. Адреси сайтів мережі I2P мають вигляд: «http://адреса_сайту.i2p».
I2P повністю фінансується за рахунок пожертвувань, і багато хто з розробників є анонімними[2].
I2P надає застосункам простий транспортний механізм для анонімного і захищеного пересилання повідомлень один одному. Хоча мережа I2P орієнтована суто на визначення шляху передачі пакетів, завдяки бібліотеці Streaming lib реалізована також і їх доставка у первісно заданій послідовності без помилок, втрат і дублювання, що дає можливість використовувати у мережі I2P відеоконференції, VoIP, інтернет-радіо, IP-телебачення та інші потокові протоколи і сервіси.
Мережа забезпечує перегляд вебсторінок, анонімний хостинг (створення анонімних сайтів, форумів і чатів, файлообмінних серверів тощо), роботу систем обміну миттєвими повідомленнями, ведення блогів, а також для файлообмін (зокрема й піринговий), електронну пошту, IP-телефонію та багато іншого[3].
Всередині мережі I2P працює власний каталог сайтів[4], електронні бібліотеки, а також BitTorrent-трекери[5][6]. Крім того, існують мережеві шлюзи для доступу в мережу I2P безпосередньо з Інтернету[7] створені спеціально для користувачів, які з різних причин не можуть встановити на комп'ютер I2P.
Проєкт I2P був початий в 2003 році для підтримки всіх, хто бере участь у створенні вільнішого суспільства і зацікавлений у новому нецензурованому, анонімному і безпечному засобі спілкування та поширення інформації. I2P — це спроба створити захищену децентралізовану анонімну мережу з малим часом відгуку і властивостями автономності, відмовостійкості і масштабованості. Кінцевим завданням є здатність функціонувати в жорстких умовах, навіть під тиском організацій, що володіють значними фінансовими чи політичними ресурсами. Всі аспекти мережі доступні у вигляді початкового коду і безплатні. Це дозволяє користувачам переконатися, що програмне забезпечення робить саме те, що заявлено, і полегшує стороннім розробникам можливість удосконалювати захист мережі від наполегливих спроб обмежити вільне спілкування. Команда розробників I2P — це відкрита група, чиїм учасником може стати будь-хто, хто зацікавлений в проєкті.
Багато людей з команди розробників I2P раніше брали участь у проєктах Invisible IRC Project/Proxy і Freenet. Але, на відміну від останніх, I2P — є анонімним одноранговим оверлейним комунікаційним середовищем, в якому можуть працювати як будь-які звичайні мережеві протоколи і служби, такі як E-Mail, IRC, HTTP, Telnet, так і розподілені застосунки, подібні до баз даних, Squid і DNS.
Починаючи з версії 0.7.2 (випущеної в травні 2009 року) релізи програми вважаються стабільними. До травня 2009 року автори проєкту всіма силами утримували користувачів від активної реклами I2P мережі, вказуючи на можливу нестабільність і beta-статус розробки.
У 2009 році було випущено дев'ять оновлень, а трафік мережі збільшився в 5 разів. Восени 2011 року в мережі було помічено стрибкоподібне зростання кількості одночасних нод в мережі за добу з ~ 6500 до ~ 9500 і реєстрованих нових нод в мережі за добу з ~ 300 до ~ 600.
З травня 2012-го останньою гілкою вважається 0.9.x, та налічує 34 релізи (станом на квітень 2018)[8].
I2P забезпечує прикладний рівень для сервісів, програм та управління мережею. Мережа також має власний унікальний DNS, що дозволяє самостійно розміщувати та дзеркалювати інтернет-контент, і має структуру, загалом схожу на структуру традиційного Інтернету, відрізняючись лише неможливістю цензури завдяки використанню механізмів шифрування і анонімізації. Тому для третіх осіб немає можливості дізнатися, які сайти відвідує користувач, яку інформацію він переглядає, що завантажує, яке його коло інтересів і знайомств тощо.
У I2P мережі немає ніяких центральних серверів і немає звичних DNS-серверів, також мережа абсолютно не залежить від зовнішніх DNS, що призводить до неможливості знищення, блокування та фільтрації мережі, яка буде існувати і функціонувати, поки на планеті залишаться хоча б два комп'ютери у мережі[9]. Також відсутність DNS-серверів і використання DHT Kademlia — механізму розподілу імен у мережі I2P — дає можливість створення будь-яким користувачем мережі I2P свого сайту, проєкту, BitTorrent-трекера і т. д. без необхідності десь реєструватися, оплачувати будь-кому доменне ім'я або чекати чийогось дозволу. Кожна людина вільна абсолютно безкоштовно і вільно створювати будь-які сайти, при цьому дізнатися місцезнаходження сервера і людини практично неможливо.
Кожен новий учасник, що приймає вхідні підключення від інших маршрутизаторів, збільшує надійність, анонімність і швидкість всієї мережі в цілому.
Щоб потрапити у мережу I2P, потрібно всього лише встановити на своєму комп'ютері програму-маршрутизатор, яка буде розшифровувати/зашифровувати весь трафік і перенаправляти його у мережу I2P. Для роботи з .i2p сайтами необхідно заздалегідь налаштувати браузер. При зверненні до сайту або іншого ресурсу у звичайному (зовнішньому) інтернеті програма-маршрутизатор автоматично, подібно Tor, прокладає «тунель» до одного з зовнішніх шлюзів і дає можливість відвідувати і використовувати зовнішні інтернет-ресурси приховуючи свою IP-адресу. Також внутрішні сайти у мережі I2P доступні з зовнішнього інтернету через спеціальні шлюзи[10].
На перший погляд може здатися, що робота I2P маршрутизатора, через постійну необхідність зашифровувати вихідні і розшифровувати вхідні пакети та застосування великої кількості алгоритмів шифрування з довгими ключами, повинна негативно позначатися на навантаженні процесора і пам'яті комп'ютера, насправді навантаження ніяк не позначається навіть на малопотужних офісних комп'ютерах і обчислюється одиницями відсотків. Однак при великій кількості транзитних тунелів завантаження процесора Pentium 4 може досягати 70-80 відсотків (core i7-2600 ~ 400KBps=7-8 %).
Мережа спочатку була спроєктована з урахуванням припущення, що всі проміжні вузли є скомпрометованими або зловмисними (захоплені зловмисником і збирають інформацію, що через них проходить), тому для протидії було введено ряд активних заходів.
Весь трафік у мережі шифрується від відправника до одержувача. У сумі при пересиланні повідомлення використовується чотири рівні шифрування (наскрізне[11], часникове, тунельне, а також шифрування транспортного рівня), перед шифруванням у кожен мережевий пакет автоматично додається невелика випадкова кількість випадкових байтів, щоб ще більше знеособити передану інформацію і ускладнити спроби аналізу вмісту та блокування переданих мережних пакетів. Як адреси мережі використовуються криптографічні ідентифікатори, що являють собою відкриті криптографічні ключі, які не мають ніякого логічного зв'язку з реальним комп'ютером, тому визначити справжню адресу якогось вузла у мережі не можливо. Кожен мережевий застосунок на комп'ютері будує для себе окремі шифровані, анонімні тунелі. Тунелі у основному одностороннього типу (вихідний трафік йде через одні тунелі, а вхідний — через інші) — напрямок, довжину, а також який саме застосунок або служба створили ці тунелі, з'ясувати практично неможливо. Всі передані IP-пакети мають властивість розходитися декількома різними тунелями, що робить безглуздим спроби прослухати і проаналізувати за допомогою сніфферу потік даних, що проходить. Також відбувається періодична зміна (приблизно кожні 10 хвилин) вже створених тунелів на нові, з новими цифровими підписами та ключами шифрування, причому цифрові підписи та ключі шифрування у кожного тунелю свої[12][13].
З цих причин нема потреби турбуватися про шифрування свого трафіку. Або, якщо існує недовіра до шифрування програм, що мають закритий початковий код (як, наприклад, Skype). Також, наприклад, існують програми IP-телефонії (такі, як Ekiga), що не вміють шифрувати свій трафік і передають його у відкритому вигляді. У будь-якому випадку мережа I2P здійснить чотирьохрівневе шифрування всіх пакетів та убезпечить передачу/прийом всіх даних.
У мережі I2P всі пакети зашифровуються на стороні відправника та розшифровуються тільки на стороні одержувача, при цьому, на відміну від Tor, ніхто з проміжних учасників обміну не має можливості перехопити розшифровані дані і ніхто з учасників не знає, хто насправді відправник і хто одержувач, оскільки вузол, передає пакети, може бути відправником, а може бути таким же проміжним вузлом, а наступний вузол, якому потрібно цей пакет відправити, може бути одержувачем, а може бути теж таким же проміжним вузлом, дізнатися кінцеві точки відправника та одержувача проміжний вузол ніяк не може, так само як не може дізнатися, що сталося з тільки що переданим наступному вузлу пакетом — обробив той його, або передав кудись далі, з'ясувати не можна.
У I2P мережі використовуються (для різних рівнів і протоколів) наступні системи і методи шифрування і підпису:
- 256 біт AES режим CBC з PKCS#5;
- 2048 біт Схема Ель-Гамаля;
- 2048 біт Алгоритм Діффі — Хеллмана;
- 1024 біт DSA;
- 256 біт HMAC — Алгоритм посилення криптостійкості інших криптоалгоритмів;
- 256 біт хешування SHA256.


Спеціально для мережі I2P було створено анонімний, захищений клієнт на базі aMule під назвою iMule (невидимий мул) — який являє собою вільний клієнт для файлообмінної мережі, що використовує анонімні з'єднання за допомогою стійкої оверлейної мережі I2P і повністю децентралізованої мережі Kad.
На відміну від мережі EDonkey2000, яка використовується у «класичних» клієнтах eMule і aMule, які підключаються до серверів і розкривають всю ідентифікаційну інформацію — IP-адреси і т. п . — iMule викачує і віддає файли без розкриття своєї IP-адреси і якої-небудь ідентифікаційної інформації та весь вхідний і вихідний трафік піддається чотирьохрівневому шифруванню у мережі I2P.
Починаючи з версії 1.2.3, програма постачається з I2P-маршрутизатором і початковим кодом, тому для підключення до I2P-мережі не потрібне додаткове програмне забезпечення. Якщо ж користувач хоче використовувати інші можливості мережі I2P (наприклад, BitTorrent, Gnutella, анонімну електронну пошту, анонімні вебсайти тощо), він повинен встановити повний пакет I2P-маршрутизатора.
iMule, як і його попередник aMule, є кросплатформним і використовує бібліотеку wxWidgets. Наразі клієнт підтримує різні BSD-подібні операційні системи, Linux, MacOS, Microsoft Windows і Solaris.
Нижче наведено список[14]:
- Eepsite (http://localhost:7658) — захищені вебвузли, доступні тільки у мережі I2P через eepProxy[15][16].
- I2Psnark (http://localhost:7657/i2psnark) — BitTorrent-клієнт, що працює лише з мережею I2P[17].
- I2PTunnel (http://localhost:7657/i2ptunnel/index.jsp) — інтегрована в I2P програма, що дозволяє різним службам TCP/IP встановлювати зв'язок поверх I2P за допомогою тунелів.
- http://localhost:7657/tunnels.jsp - моніторинг тунелів.
- IRC (irc://127.0.0.1:6668/#i2p-help) — доступ на внутрішній IRC сервер.
- SusiDNS (http://localhost:7657/susidns/index.jsp) — DNS-клієнт.
- Susimail (http://localhost:7657/susimail/susimail) — безпечний поштовий клієнт, призначений для використання з поштовими серверами Postman[17].
- OpenSSH — програма для віддаленого адміністрування серверів або для надання облікових записів Shell користувачам серверів[17].
- ↑ Intro - I2P. geti2p.net.
- ↑ I2P: A scalable framework for anonymous communication - I2P. geti2p.net. Архів оригіналу за 3 квітня 2025. Процитовано 23 травня 2025.
- ↑ Ленко (28 березня 2013). Принцип работы анонимной сети I2P. SPY-SOFT.NET (рос.). Процитовано 25 травня 2025.
- ↑ Список сайтів I2P[недоступне посилання з червня 2019]
- ↑ While not Tor, I browse I2P websites from time to time. tracker2.postman.i2p is ... | Hacker News. news.ycombinator.com (англ.). Процитовано 6 лютого 2025.
- ↑ Как подключиться к сети I2P в Ubuntu. itshaman.ru (рос.). 2011. Процитовано 29 травня 2025.
- ↑ You came over my I2P router tunnel, you are anonymous or using some I2P Proxy (inproxy.tino.i2p). Архів оригіналу за 28 листопада 2009. Процитовано 05 лютого 2025. [Архівовано 2009-11-28 у Wayback Machine.]
- ↑ Архівована копія. Архів оригіналу за 10 травня 2017. Процитовано 12 квітня 2018.
{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ Общее введение в I2P. Хабр (рос.). 12 квітня 2021. Процитовано 25 травня 2025.
- ↑ i2p.to доступ до сайтів всередині I2P зі звичайного інтернету. Архів оригіналу за 27 грудня 2012. Процитовано 15 листопада 2012. [Архівовано 2012-12-27 у Wayback Machine.]
- ↑ What is I2P and how safe is it for private browsing? I NYM. nym.com (англ.). 7 червня 2025. Процитовано 25 травня 2025.
- ↑ Раскрываем секреты сети I2P (рос.). Архів оригіналу за 24 січня 2025. Процитовано 25 травня 2025.
- ↑ I2P в 2025-ом. Изучаем возможности I2P и настраиваем скрытую сеть (рос.). Архів оригіналу за 2 червня 2025. Процитовано 25 травня 2025.
- ↑ За межею невидимості: нові методи зберегти інгоніто в інеті. Архів оригіналу за 16 листопада 2012. Процитовано 15 листопада 2012. [Архівовано 2012-11-16 у Wayback Machine.]
- ↑ Путешествие по даркнету. Что интересного можно найти в анонимной сети I2P (рос.). Архів оригіналу за 27 грудня 2024. Процитовано 25 травня 2025.
- ↑ Дима (Kozhuh) (14 лютого 2019). Популярные ресурсы анонимной сети I2P. SPY-SOFT.NET (рос.). Процитовано 25 травня 2025.
- ↑ а б в Intro - I2P — software. geti2p.net. Процитовано 25 травня 2025.
- i2p2.de — офіційний сайт «I2P». [Архівовано 27 листопада 2012 у Wayback Machine.] (англ.)
- Darknets and hidden servers: Identifying the true IP/network identity of I2P service hosts[Архівовано 12 квітня 2021 у Wayback Machine.] (англ.) — способи деанонімізація eepsite.
- Как НЕ СТОИТ использовать I2P и TOR [Як НЕ ВАРТО використовувати I2P і TOR]. Хабр (рос.). 20 січня 2021.
- Програмне забезпечення за алфавітом
- Багатоплатформне вільне програмне забезпечення
- Багатоплатформне ПЗ
- Вільне ПЗ для Windows
- Вільне програмне забезпечення на Java
- Інформаційна безпека
- Криптографічні алгоритми
- Криптографічні протоколи
- Криптографія
- Переносне програмне забезпечення
- Програми захисту приватності
- Програмне забезпечення, що використовує ліцензію BSD
- Програмне забезпечення, що використовує ліцензію GNU GPL
- Програмне забезпечення, що використовує ліцензію MIT
- Протоколи маршрутизації
- Суспільне надбання
- Файлообмінні мережі
