0,0
рейтинг
1 июля 2010 в 22:55

Разработка → I2P — Создание своего сайта

Снова всем доброго времени суток!

Сегодня я попытаюсь описать процесс создания своего сайта (англ. eepsite) в анонимной сети I2P.

image

Процесс создания делится на на несколько этапов:
  1. Установка веб-сервера
  2. Настройка I2P для работы с сервером
  3. Регистрация в DNS
Подробнее о каждом из них под катом

Установка веб-сервера.


(У кого уже стоит Apache2, тот может смело пропускать этот раздел)

В стандартной поставке I2P есть сервер Jetty, но мы его использовать не будет, так как он написан на Java (что повышает его нагрузку на систему) и за отсутствие подключаемых модулей (так как у нас LAMP конфигурация, нам нужен PHP, который подключается толко через CGI. Это не есть хорошо). Мы будем устанавливать Apache.
Эта часть разнится для разных операционных систем, поэтому опишу отдельно.
Windows (WAMP):

Проще всего использовать готовый серверный пакет. Их существует множество, как например AppServ, Denwer, TopServer и т.д. Мы поставим AppServ, но в принципе подойдёт любой. Они одинаковы в конфигурировании.
  1. Скачиваем AppServ: sourceforge.net/projects/appserv/files (На момент написания топика последняя версия 2.6.0, но лучше поставить 2.5.10, так как здесь стабильный PHP5)
  2. Устанавливаем (Пара скриншото из-под вайна ;) ):

    Выбор нужных компонентов:
    image

    Ввод данных о сервере:
    image
  3. Готово!

Linux (LAMP):

Напишу процесс для Ubuntu, так как остальные, думаю, знают, как ставить Apache :)

Apache2 без дополнительных модулей ставится командой: sudo apt-get install apache2
Затем, если необходимо, можно доставить PHP и mysql: sudo apt-get install libapache2-mod-php5 php5-mysql

Настройка I2P для работы с сервером


Заходим в менеджер туннелей: 127.0.0.1:7657/i2ptunnel/index.jsp
Создаём новый серверный HTTP туннель:
image
Попадаем в настройки:
image
Теперь по пунктам:
  • Название(N) и Описание(e) — Просто имя и описание туннеля. Ни на что не влияют.
  • Адрес(H) и Порт(P) — Адрес и порт нашего веб-сервера. Мы будем ставить на 127.0.0.1 и порт 80.
  • Имя веб-сайта(W) — Домен, на котором мы планируем держать сайт.
  • Файл секретного ключа(k) — Файл, в котором будет храниться ключ, по которому генерируется адрес туннеля. Совет: после генерации файла (размер 663 байта) сразу сделайте его резервную копию, иначе, при его потере, вы потеряете доменное имя. Оно будет забито за вами, но вы не будете иметь к нему доступ.

Нажимаем «Сохранить». Затем «Запустить». После запуска идём в настройки туннеля и копируем Локальный адрес назначения(L). Он пригодится нам при регистрации в DNS.

Регистрация в DNS (опционально)


Регистрация на сайте, предоставляющем hosts.txt в общем-то необязательна, ибо в I2P DNS является полностью распределённым. Клиенты сами обмениваются между собой «адресными книгами». Но уж если хочется, то… заходим на сервер stats.i2p и вводим свой хост [Имя веб-сайта(W)] и Локальный адрес назначения(L).

Регистрация завершена!

Необязательно: добавьте перенаправление созданного хоста на 127.0.0.1 в файл
Windows: %WINDIR%/system32/drivers/etc/hosts
Linux: /etc/hosts

Так мы укажем ОС, что сайт хостится у нас.

Итог


Ну вот, теперь у нас есть резиденция в этой сети. Можно устроить там торрент трекер, имиджборду, или даже что-то наподобие wikileaks.org. Никто вас не найдёт =).

Другие статьи по теме:
I2P — Проект Невидимый Интернетт
Александр Шишенко @GamePad64
карма
41,7
рейтинг 0,0
Программист
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (45)

  • +7
    > Никто вас не найдёт =).

    Если выключать комп на ночь, то шансы быть ненайденным увеличиваются :)
  • НЛО прилетело и опубликовало эту надпись здесь
  • –9
    Если власти пришли в обычный интернет — то почему вы думаете что в «ваш» интернет — они не придут? Странно что они до фидонета еще не добрались, может пора туда бежать?

    Реквестую топики как настроить киттенмайл для фреков и дозвона до ноды :)
    • +11
      Потому что IP — адрес выдается провайдером, а i2p — адрес — рандомно. Провайдер расколется властям быстрее, чем Великий Могучий Рандом.
    • +1
      Даешь гипертекстовый фидонет! :)
      • 0
        Векторый
  • +2
    Как долго будет закреплен за мной доменное имя? Я надеюсь что не навечно ;)
    • 0
      *закреплено
  • 0
    так, а кто напишет про nginx?
    • 0
      Вы это серьезно?
      Так же как и апач 1 в 1. Суть то в настройке тунеля на определенный порт а не в том какой веб-сервер
  • +2
    в Jetty всё через CGI?
    «вы, должно быть, шутите?»

    это контейнер сервлетов.
    • 0
      Наверно, шутники-авторы сервера там из сервлетов вызывают cgi-шники.
    • 0
      • 0
        и с каких щей это значит что там «всё на CGI»?
        что именно подразумевается под «всё»?
  • +7
    > так как он написан на Java (что повышает его нагрузку на систему)

    Какой ужас, Java! Особенно «невыгодно» смотрится неблокирующий режим Jetty в сравнении с Apache (который, конечно же, легкий, как пушинка).
  • 0
    Давно интересуют подобные сети.
    Но всё ещё мучает вопрос: а откуда клиент получает «справочник сайтов»?
    Т.е. изначально же должен быть какой-то сервер куда стучатся все клиенты.
    • 0
      Сервер — обычный http с файлом hosts.txt, который периодически обновляется.

      Наиболее известные:
      www.i2p2.i2p/hosts.txt
      i2host.i2p/cgi-bin/i2hostetag
      stats.i2p/cgi-bin/newhosts.txt
      tino.i2p/hosts.txt
      • 0
        + с каждым новым релизом клиента в комплекте есть свеженький hosts.txt.
      • 0
        А если прикроют этот хост? что в этом случае делать?
        Большинство распределённых сетей, работающих поверх тырнета, всё-таки зависят от какого либо хоста, который могут прикрыть. Трэкер у торрентов к примеру.
        Кардинальное решение этой проблемы предложено в Netsukuku.
        • 0
          так сервера-то в зоне .i2p! поэтому непонятно, где они находятся… если я правильно понимаю идею i2p
  • +3
    Даёшь свой подпольный Хабр! С бесконечной кармой и комментаторшами!
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Лепры?
        Тролей банить.
        • 0
          По IP, ага.
  • +5
    Может, лучше создать коллективный блог I2P? Или с обобщённым названием, для подобных сетей?
  • 0
    >заходим на сервер stats.i2p и вводим свой хост [Имя веб-сайта(W)] и Локальный адрес назначения(L).
    >Сервер — обычный http с файлом hosts.txt, который периодически обновляется.

    т.е. спец службы подключившись к i2p найдут меня (владельца сайта) по ip?

    а как дела обстоят с торрентом? данные передаються напрямую от клиента — клиенту? если так то спец службы сидируюя контент могут определить ip многих скачавших.
    • 0
      [Имя веб-сайта(W)] и Локальный адрес назначения(L). < — где вы тут видите IP?
    • 0
      Локальный адрес назначения(L) — не ip, а base64 адресок, выданный при создании туннеля.
    • 0
      Суды по пользователям раздающим торренты уже были.
      Не случайно овнеры шаререактора и прочих предлагают буржуям неподорогу закупаться у них впн-ами для торрентов.
  • +1
    > Их существует множество, как например AppServ, Denwer, TopServer и т.д.… в принципе подойдёт любой
    Denwer никогда не позиционировался как подобный сервер. Он используется для отладки скриптов на localhost и даже сам автор не рекомендует его использовать как публичный сервер. Связано это с тем, что его конфигурация по умолчанию не безопасна. Не знаю как сейчас, но раньше я получал shell от машины, когда люди аналогично не вдумаваясь ставили denwer. Просто к www.localhost можно получить было доступ удаленно. И это, наверное, не единственный баг. От денвера в роли паблик сервера лучше отказаться или переконфигурировать.
    Как сейчас — не знаю, но скорее всего так и осталось.
  • 0
    > Windows: .../etc/hosts
    > Linux: /etc/hosts

    Хм…
    • +3
      Доброе утро
    • +2
      Сюрпиз, сюрприз! Windows использует BSD стек TCP/IP.
  • 0
    Отлично! Большой и громоздкий апач, страдающий пожиранием памяти вместо легковесного джетти. Если хочется сервер Тогда уж nginx ставить надо, если хочется сервер, написанный на C.
    • 0
      Даёшь «503 Gateway Timeout»!
      • 0
        даёшь -100мб памяти на 10 процессах!
  • +1
    Почему на картинке желтая неведомая фигня готовится интранозально принять какие-то белые катышки?
  • 0
    сам долго втыкал в их лого. Пришел к выводу, что это анонимус, спрятавшийся за неведомой желтой фигней.
  • 0
    Да и вообще, товарищи хабравчане, не будем разводить серверосрач. Инструкция (за исключением 1-ой части) подходит для любого сервера.
  • 0
    >> Заходим в менеджер туннелей: 127.0.0.1:7657/i2ptunnel/index.jsp
    Хм… А в результате чего у меня появляется открытый 7657 порт?!
    Этот момент поподробнее опишите, а то статья приобрела вид:
    1. Ставим сервер
    2. ?????
    3. PROFIT
  • 0
    Гррр… Дурацкая привычка…

    Как вариант, четко намекните зайти в эту статью
  • 0
    Помогите тестировать мой новый сервис: i2proxy.com. Он нужен для того, чтобы взять обычный веб-сайт и сделать для него i2p-прокси. В результате сайт будет открываться в сети I2P.

    После этого можно закрыть доступ к сайту из обычного интернета, оставить доступ только из I2P и вуаля! — у вас появился анонимный веб-сайт (eepsite), местоположение которого невозможно отследить и домен которого нельзя отключить.

    А сервис I2Proxy.com нужен для того, чтобы не настраивать и не держать постоянно включенным свой собственный I2P-роутер.
    • 0
      сервис закрыт?
      • 0
        и автора уже видимо повязали
        • 0
          C 12 года…

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.