Статьи

Водоворот Bittorrent: использование торрентов для размещения сайтов

В декабре 2014 года Bittorrent анонсировал проект Maelstrom — способ питания интернета с помощью торрентов . По-настоящему децентрализованный Интернет, в котором просматриваемые вами сайты размещаются другими пользователями Интернета, а не центральным сервером.

Вихрь в кобыле

Другие порталы уже опубликовали свое последнее объявление — публичную бета-версию для пользователей Windows, поэтому я не буду останавливаться на этом. Скорее, я бы хотел сосредоточиться на технической стороне — на самом деле использовать браузер, узнать, как он работает, и разработать для него. Обратите внимание, что бета-версия Mac скоро появится.

Как это работает?

При использовании торрентов для обмена файлами вы получаете фрагменты файлов с различных других машин, у которых уже есть эти фрагменты (мы называем эти машины сеялками ). Клиент торрента (программное обеспечение, такое как Deluge, Transmission или uTorrent и т. Д.) Знает, где найти эти фрагменты с помощью специального файла .torrent , и извлекает данные из всех этих различных мест, сравнивая хэш-подписи. Более того, он сравнивает различные фрагменты, поступающие из одного источника, с их аналогами, поступающими из другого источника, поэтому вы знаете, что всегда получаете нужный файл. Кроме того, многие торренты содержат строку хеша, с помощью которой вы можете проверить их целостность вручную, если вы того пожелаете.

С Maelstrom, который представляет собой не что иное, как сильно настраиваемый форк Chromium (так что он работает и с обычными веб-сайтами), вы просматриваете специфичный для Maelstrom интернет тем же способом, что и торрент . Для размещения веб-сайта все, что вам нужно, это файл .torrent для вашего контента, и как только люди нажмут или введут его ссылку на магнит или ссылку на битторрент (подробнее об этом позже), содержимое будет получено от всех, у кого они уже есть. Естественно, это означает, что чем моложе ваш контент (веб-страница), тем медленнее выборка — потому что на тот момент очень немногие имеют его. Чем больше он распространяется, тем больше людей можно использовать в качестве сеялок, и тем быстрее новый посетитель будет загружать его, тем самым становясь новым сеялкой.

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

Установка

Чтобы установить Maelstrom, вы (в настоящее время) должны быть на платформе Windows (это сообщение будет соответствующим образом обновлено после выхода версии для Mac) и загрузить приложение.

Обратите внимание, что если у вас установлена ​​работающая версия Chromium, весьма вероятно, что установка завершится неудачно и вместо этого вызовет установленную версию Chromium при выполнении. Я надеюсь, что Bittorrent скоро исправит установку своего клиента, но пока вам нужно будет удалить Chromium перед установкой Maelstrom. Также обратите внимание, что Maelstrom, как и сейчас, является сильно устаревшей версией Chromium (37 на момент написания статьи), так что не думайте, что вы можете заменить его основным браузером — это экспериментальная технология в лучшем случае.

После открытия браузер приветствует вас домашней страницей, которая сама по себе является страницей, размещенной на торренте, и содержит ссылки на другие подобные веб-сайты (проверка ссылок покажет, что они начинаются с протокола magnet ).

Раньше, когда вы хотели что-то торрентировать , вам нужно было загрузить файл .torrent , открыть его на клиенте, и процесс извлечения начался бы после того, как ваши клиенты проанализировали данные внутри него. В настоящее время можно использовать магнитные ссылки. Магнитные ссылки содержат все метаданные, которые обычно содержит файл .torrent , избегая необходимости их размещения, например, в ThePirateBay, для централизованных трекеров (торрент-сайтов). Это помогает этим трекерам избежать юридических проблем, поскольку они больше ничего не размещают, и это помогает распределению — все, что вам нужно сделать, это поделиться ссылкой на магнит с кем-то, и они могут сразу подключиться к сети общего доступа, не загружая никаких дополнительных файлы.

Вы можете прочитать больше о ссылках на Магнит здесь .

Проект Maelstrom использует ссылки Magnet для навигации от сайта к сайту. Когда вы нажимаете на плитку на странице приветствия браузера, вы фактически нажимаете на магнитную ссылку, которая считывает данные файла .torrent представленного на хостинге Amazon S3.

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

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

Космические проблемы

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

Когда Maelstrom загружает веб-сайты, у него есть собственный внутренний кэш, в который он сохраняет данные и из которого он создает другие. Размер этого кэша может быть изменен в настройках, под торрентами, и даже очищен. Естественно, чем больше материалов, тем медленнее, поэтому нельзя ожидать, что в конечном итоге будет загружен весь веб — объем хранилища ограничен. Это также означает, что:

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

развивающийся

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

К сожалению, Python 2.7 требуется, но его можно легко установить. Затем вы, как обычно, создаете статический веб-сайт со всеми прибамбасами CSS и JS. Для нашего примера мы будем использовать этот простой двухстраничный «сайт» .

Если вы хотите следовать, скопируйте торрент-веб-инструменты и простой сайт , каждый в свою папку. Сайт — это не что иное, как стандартный шаблон HTML 5 с немного отредактированными HTML и CSS для предоставления другой цветовой схемы и ссылок.

После этого мы запускаем скрипт generator.py для всей папки, содержащей сайт. Это займет оттуда и менее чем за секунду, файл .torrent будет готов в папке, где был запущен скрипт.

02

Обратите внимание, что другие аргументы, которые вы можете использовать с генератором, описаны в их файле Github README.

Теперь осталось только донести эту страницу до людей. Для этого нам нужно добавить его либо в uTorrent, либо в BitTorrent , в настоящее время единственные официально поддерживаемые клиенты для распространения сайтов Maelstrom.

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

02

Сайт будет доступен, как только его загрузят. Чтобы ускорить этот процесс, вы можете отправить своим друзьям torrent-файл или его магнитный URI во время его заполнения и попросить их выбрать «пропустить проверку хеша» при добавлении его в торрент-клиент, чтобы ускорить процесс — таким образом, их клиент не будет ждать, чтобы получить 4 или более пиров для проверки хеша содержимого сайта перед его загрузкой. Это небезопасно в уже популярных торрентах, но необходимо, когда вы только начинаете распространять свои. Обратите внимание, что это необходимо только в том случае, если вы хотите, чтобы ваши друзья помогли вам в распространении вашего сайта — посетителям реального сайта через Maelstrom не нужно добавлять торренты в свои клиенты или выбирать какие-либо опции. Они смогут получить к нему доступ, как обычно.

Мы можем попытаться получить доступ к веб-сайту через Maelstrom, используя ссылку, которую bittorrent://b1d5524d5ff428ccd50449691e1b740660b6a2de?dn=simplesite для себя generator.py : bittorrent://b1d5524d5ff428ccd50449691e1b740660b6a2de?dn=simplesite . В документах говорится, что магнит ссылки на magnet:?dn=simplesite&xt=urn%3Abtih%3Ab1d5524d5ff428ccd50449691e1b740660b6a2de должен работать, но для меня это не сработало сразу — мне пришлось ждать, пока по крайней мере 4 человека не станут просеивающими сайт через utorn ,

Опять же, обратите внимание, что Maelstrom работает так же, как обычный клиент в том, что он также проверяет хэш. Таким образом, для этого требуется более одной или двух сеялок. Чтобы действительно иметь доступ к сайту в вашем браузере, вам нужно будет как-то распространить его как указано выше — попросите друга или двух, у кого установлен uTorrent, помочь вам начать. После того, как несколько человек начали посев, сайт должен стать общедоступным.

Вывод

Это причуда? Возможно, но только в такой степени, как Биткойн. Все зависит от уровня усыновления людей.

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

Вы пробовали водоворот? Как вы относитесь к этому проекту? Дайте нам знать!