IPFS и Cloudflare

Публикуем информацию в сети с помощью IPFS и упрощаем к ней доступ с помощью Cloudflare.

ipfsIPFS — децентрализованная сеть, которая позволяет пользователям загружать нужный им для хранения контент, а при необходимости, делится им с другими. Сеть работает на основе блоков и ссылок на другие блоки, из которых при доступе и «собирается» зпрошенный файл.

В рамках заметки мы рассмотрим базовую установку IPFS, публикацию простой страницы и организацию доступа к ней с помощью CF.

Установка IPFS и запуск в работу.

1. Скачиваем и устанавливаем ipfs:

# wget https://dist.ipfs.io/go-ipfs/v0.4.17/go-ipfs_v0.4.17_linux-amd64.tar.gz
# tar xvfz go-ipfs_v0.4.17_linux-amd64.tar.gz
# cd go-ipfs
# ./install.sh

2. Запускаем демон предварительно выполнив init (можно в том числе и на уровне пользователя):

$ ipfs init
$ ipfs daemon &

3. Авторизуемся на сервере нужным нам пользователем, создаём директорию и файл index.html в ней.

$ mkdir mysite/
$ echo "ipfs.sysadmin.pm" > mysite/index.html

4. Публикуем созданную директорию:

$ ipfs add -r ./mysite
$ ipfs pin add -r ./mysite
ipfs add -r ./mysite
added QmbxU92oaU7rXv4ECb9R2WBhzDX2eoBx53zXa5oAYfVKy2 mysite/index.html
added QmXyPNqSWgbQdkjsRUZunoC9vxYU4PLm1wVFFff3n32ZJn mysite

ipfs pin add -r /ipfs/QmXyPNqSWgbQdkjsRUZunoC9vxYU4PLm1wVFFff3n32ZJn
pinned QmXyPNqSWgbQdkjsRUZunoC9vxYU4PLm1wVFFff3n32ZJn recursively

Далее, возможно, придётся немного подождать, но в результате, на гейтвеях, наш файл должен быть доступен по адресам:

Контент опубликован, «запинен» и теперь останется в сети. Однако, передавать такого вида ссылку не всегда удобно. И если мы, например, опубликовали какую-то страницу, гораздо удобнее здесь будет настроить всё так, что бы эта страница открывалась, например, на поддомене. Подобная возможность есть у Cloudflare, где был запущен гейтвей для таких файлов.

Cloudflare и настройка доступа по домену.

Допустим у нас есть домен sysadmin.pm, а опубликованный файл мы хотим разместить на поддомене myipfs.sysadmin.pm. Домен делегирован на DNS CLoudflare, так что именно в их панели мы и настроим всё необходимое. Переходим в панель, там к редактированию настроек NS и создаём две записи:

  • CNAME запись вида:
myipfs.sysadmin.pm. CNAME www.cloudflare-ipfs.com
  • TXT запись вида (здесь dnslink=/ipfs/хеш_полученный_при_публикации_ранее):
_dnslink.myipfs.sysadmin.pm. TXT dnslink=/ipfs/QmSTHfmDqZvmP9o2of6P9m27jiLao9AtQBNkCwK22XqCkr

Теперь, если всё сделано верно, при обращении к поддомену myipfs.sysadmin.pm для нас доступен файл, опубликованный ранее.

Обновление информации на странице.

Просто так взять и отредактировать уже опубликованный файл мы не можем, а знчит, для публикации изменений нам нужно пойти по следующему пути:

1. Вносим изменения в файл.

2. Публикуем изменения и получаем новый хеш:

$ ipfs add -r ./mysite
$ ipfs pin add -r ./mysite

3. Корректируем TXT запись в настройках NS, прописываем туда новый хеш.

Через некоторое время, обновлённый файл будет доступен по ссылке myipfs.sysadmin.pm.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *