Розміщуємо сайт в анонімної мережі I2P (+ параноїдальний режим)



Припустимо, що ти вже зайшов кілька разів в I2P, початился там з хлопцями в irc, перейнявся ідеєю лампової невидимою і задумався про власний (в)клад в I2P. У роздумах про це ти посидів пару днів перед розкритим блокнотом — дізнавшись попутно з новин, що не тільки флібуста, але і рутрекер був заборонений, — і нарешті згадав про те що ти Сноуден і засновник вікілікс (досить несподіваний поворот, зізнаюся, я сам не очікував від тебе такого), і вже давно шукаєш плацдарм для розміщення суспільно важливої інформації. Наприклад, ти вирішив викладати куди-небудь картинки з котиками, яких ти налайкал в твіттері (Сноуден лайкает котиків в твіттері, ти знав?). І твій вибір припав на I2P.

Що тобі для цього знадобиться: піднятий сервер і демон I2P (i2pd). Якщо його ще немає, установи (посилання на обидва тьюториала по установці — під win і unix, — ти знайдеш в кінці публікації). У нашому прикладі до створеного сервера можна достукатися за адресою

127.0.0.1:8080

Ремарка: якщо ти хочеш щоб сайт був доступний тільки з I2P, то підключення твого сервера до роутера i2pd не означає, що інші налаштовані тобою підключення сервера до звичайного інтернету тут же відключаться. Тобі необхідно відключити їх все самостійно, щоб єдине з'єднання відбувалося між роутером і сервером на твоїй локальній машині.

Як ти пам'ятаєш, i2pd це коробка з купою портів, розташована всередині твого комп'ютера і підключена до мережі I2P. Запущений тобою сервер — це інша коробка, до якої теж можна підключатися через порти. Отже якщо ми состыкуем порти, і наш сервер з'єднається з мережею I2P. І раз наш сервер прослуховує 127.0.0.1:8080, то ми візьмемо i2pd і налаштуємо його на цей самий адресу.

Відкриємо файл конфига (в unix — /.i2pd/tunnels.cfg, у windows — %appdata%\i2pd) і додамо в нього:

[SUPERHACKERSITE]
type = http
host = 127.0.0.1
port = 8080
keys = superhackersite.dat

На відміну від присутніх тунелів начебто IRC, тут ми самі виступаємо сервером, і вже ми не будемо приєднуватися до-чого-то-в-мережі, а до нас будуть приходити люди-з-мережі, тому тип тунелю (type) встановлено відповідним чином. Замість http можна було вказати server. Відмінність між ними в тому, що сервер-тип передає дані як є (при цьому за нього точно так само можна з'єднатися з твоїм серваком), а http-тип використовує такі заголовки:

X-I2P-DestHash хеш — адреси відвідувача в base64
X-I2P-DestB32 — те ж саме, але в base32
X-I2P-DestB64 — це вже повна адреса в base64

Адмінам серверів ці заголовки допомагають вибудовувати сесії, працюючи з кожним клієнтом індивідуально (так, таке в i2p теж можливо, до тих пір, поки відвідувач підключений з одного і того ж адреси).

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

Опціонально ти можеш включити параноїдальний режим доступу суворо вибраних адрес. Нехай твої друзі подивляться кожен свій мережевий адресу (адреса, поряд з адресами прокинутых ними тунелів, доступний їм у вебконсоли на вкладці LocalDestinations — його можна знайти методом виключення, зіставивши з адресами, представленими на сторінці I2P Tunnels) і повідомлять його тобі. Тобі залишиться вписати додаткову сходинку в створюваний тунель у форматі 26qxgmyqczulza5ym3jij5er3onclacejyqzecuhjllwun3kxuzq (без всяких доповнень у вигляді b32.i2p), відокремлюючи адреси коми. Наступного виду:

accesslist = 26qxgmyqczulza5ym3jij5er3onclacejyqzecuhjllwun3kxuzq, 4bpcp4fmvyr46vb4kqjvtxlst6puz4r3dld24umooiy5mesxzspa і т. д.

Правда для цього твоїм друзям з accesslist'а доведеться — кожен раз, коли вони захочуть до тебе підключитися, — старовать роутери з ключем proxykeys (детальніше нехай подивляться посилання на документ за конфигам в кінці публікації), нехай напишуть собі скрипт для цієї справи: в I2P без подібної установки кожна людина всякий раз стартує з новою адресою, нові адреси допомагають залишатися анонімними.

Зберігаємо зміни в tunnels.cfg. Якщо i2pd зараз запущений, зупиняємо його в терміналі рядком:

$ pkill i2pd

І запускаємо знову. Без цього зміни в tunnels.cfg не вступлять в силу.

Тепер зайди в вебконсоль, перейди за посиланням на сторінку 'I2P tunnels' і пошукай напис формату

SUPERHACKERSITE < 4bpcp4fmvyr46vb4kqjvtxlst6puz4r3dld24umooiy5mesxzspa:8080

Скопіюй все аж до порту. Це b32-адресу свого сайту, яким він постає в мережі (він буде залишатися постійним до тих пір поки прив'язаний до створеного тобою ключу superhackersite.dat). Додай до нього закінчення .b32.i2p щоб отримати адресу зразок

4bpcp4fmvyr46vb4kqjvtxlst6puz4r3dld24umooiy5mesxzspa.b32.i2p

Включи назад i2pd і підключись до сайту через цей новий адресу. Готове? Отже, сайт доступний з I2P. Трохи не забули найголовніше: адже ти хотів додати на свою сторінку котів!

Коли коти додані, можеш поділитися адресою з друзями (і якщо ти не Сноуден, а просто прикидався, то не забудь відправити адресу свого сайту справжньому Сноудену, котрий, повторимося, любить котів).

До речі ти можеш крім цього отримати абсолютно безкоштовно придатний адреса для свого сайту. Так, публічний адресу, який буде відображатися на інших ресурсах, теж потрібен іноді справжнім анонімам, як ми з тобою. Для цього скористайся одним із сервісів зіставлення b32 адрес і нормальних-читаних-адрес (наприклад, inr.i2p). Крім цього існують різні каталоги і як мінімум один пошуковик, який використовує robots.txt, але це вже, як мовиться, зовсім інша історія.

Заходь в IRC і спілкуйся з розробниками на каналі #i2pd-ua. Пам'ятай, що анонімність залежить в першу чергу від тебе. Удачі тобі в побудові сайту!

Якщо ти ще не знаєш, як поставити собі i2pd, то тобі сюди:

habrahabr.ru/post/275643 — Як в перший раз запустити i2pd: інструкція під Debian/Ubuntu

habrahabr.ru/post/275647 — Як користуватися i2pd: вичерпна інструкція під MS Windows

Так само, рекомендується до прочитання:

i2pd.readthedocs.org/en/latest/configuration.html#config-files — Налаштування конфігурації і старту демона

xakep.ru/2011/07/07/56161 — Анонімний хостинг через I2P: практичні поради по використанню криптосети

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.