Urbit — это облачная операционная система (ОС), целью которой является создание децентрализованного пространства для создания контента и социализации. В отличие от традиционной ОС, Urbit работает путем загрузки с существующего дистрибутива Linux. Это делает ее простой в использовании и доступной даже для начинающих пользователей.
В этой статье мы рассмотрим процесс установки Urbit на Ubuntu. Также будет рассказано о том, как установить дополнительные приложения Urbit в интерфейс Landscape.
Почему стоит использовать Urbit?
По своей сути Urbit — это попытка построить полностековую альтернативу современным веб-приложениям на основе первых принципов. Это включает в себя приложения, сетевое взаимодействие, а также логику программирования, составляющие компьютер Urbit.
Главным преимуществом такого подхода является то, что он не позволяет «голой» ОС влиять на приложения Urbit-native и наоборот. Urbit ведет себя скорее как виртуальная машина, чем как обычная UNIX-программа.
Такое разделение также имеет ряд преимуществ по сравнению с традиционными веб-приложениями. Во-первых, проблемы безопасности в обеих ОС не пересекаются друг с другом. Во-вторых, Urbit может сохранять свое состояние даже при смене ОС, на которой он установлен.
Получение идентификатора Urbit
Для создания децентрализованной сети Urbit необходимо знать, кто и где находится на каждой машине. Эта проблема решается в ОС путем создания иерархической системы идентификации, которая привязывает дефицитные и уникальные идентификаторы к конкретным виртуальным машинам.
Преимущество такой системы заключается в том, что она по умолчанию делает сеть устойчивой к сифилису и спаму. Однако дефицитные и уникальные идентификаторы также означают, что их получение требует определенных затрат.
Посетите торговую площадку Urbit Planet. Это сайт, который продает идентификаторы Urbit за Bitcoin.
Прокрутите текущий выбор идентификаторов, затем нажмите кнопку «Оплатить» на нужном идентификаторе.
Напишите свой адрес электронной почты в следующем текстовом поле и нажмите «Продолжить».
На веб-странице появится QR-код, который необходимо отсканировать с помощью кошелька Bitcoin.
Примечание: Оплату можно произвести и через настольный кошелек, нажав на кнопку «Открыть в кошельке» под QR-кодом.
Зайдите в папку «Входящие» своей электронной почты и откройте сообщение с подтверждением от Networked Subject.
Нажмите кнопку «Затребовать код».
Нажмите «Claim», затем «Reveal».
Напишите четыре слова на странице на листе бумаги, затем нажмите «Загрузить резервную копию».
Введите эти четыре слова еще раз, чтобы завершить процесс переноса идентификатора.
Получение и установка Urbit
После этого можно закрыть веб-страницу и продолжить процесс установки Urbit. Для этого необходимо получить среду выполнения и загрузить ОС, используя Master Ticket.
Перенесите файл Master Ticket .zip со своей машины на сервер. Для этого можно использовать FTP-сервер или инструмент командной строки scp.
Вернитесь на свой дроплет и распакуйте Master Ticket в удаленный домашний каталог:
unzip ./YOUR-ID.zip
Загрузите и установите среду выполнения в удаленный домашний каталог:
curl -L https://urbit.org/install/linux-x86_64/latest | tar xzk --transform='s/.*/urbit/g'
Включите swap для вашего сервера:
sudo fallocate -l 2G /swap
sudo chmod 600 /swap
sudo mkswap /swap
sudo swapon /swap
sudo echo "/swap swap swap defaults 0 0" >> /etc/fstab
Запустите процесс загрузки с помощью следующей команды:
./urbit -w YOUR-ID -k ./YOUR-ID-passport/YOUR-ID-1.key --http-port 8080 --ames-port 34543
Примечание: необходимо заменить переменные «YOUR-ID» и «YOUR.DROPLET.TLD» на соответствующие Urbit ID и FQDN для вашего дроплета.
Подготовка системы к работе с SSL
Как только виртуальная машина Urbit завершит процесс загрузки, она начнет транслировать HTTP-сервер на порт 8080. Хотя этого достаточно для локальной работы виртуальной машины, на рабочем сервере это может быть небезопасно.
Чтобы решить эту проблему, необходимо создать обратный прокси-сервер Nginx, который будет туннелировать соединение Urbit по протоколу SSL.
Создайте новый файл конфигурации сайта для обратного прокси:
sudo nano /etc/nginx/sites-available/urbit
Вставьте следующий блок кода в файл конфигурации сайта:
server {
listen 80;
listen [::]:80;
server_name YOUR.DROPLET.TLD;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://localhost:8080;
proxy_buffering off;
proxy_buffer_size 16k;
proxy_busy_buffers_size 24k;
proxy_buffers 64 4k;
}
}
Сохраните новый файл конфигурации сайта и создайте символическую ссылку из папки «sites-available» вашего демона в папку «sites-enabled»:
sudo ln -s /etc/nginx/sites-available/urbit /etc/nginx/sites-enabled/
Перезапустите демон Nginx:
sudo systemctl reload nginx
Установка и включение SSL
Убедитесь, что ваша установка Snap актуальна и совместима с классическими пакетами:
sudo snap install core
sudo snap refresh core
Установите пакет certbot Snap:
sudo snap install certbot --classic
Сгенерируйте новый SSL-сертификат для обратного прокси, выполнив следующую команду:
sudo certbot --nginx -d YOUR.DROPLET.TLD
Вход в систему и использование Urbit
Откройте веб-браузер и перейдите на URL-адрес установочного домена Urbit.
При этом загрузится обычная страница входа в систему, на которой Urbit запросит ключ доступа к машине. Узнать его можно, вернувшись в терминал Urbit и выполнив следующую команду:
+code
Скопируйте и вставьте код экземпляра на страницу входа в систему Urbit и нажмите кнопку «Продолжить».
Установка приложений Urbit
Хотя Urbit поставляется с тремя базовыми приложениями, он также предоставляет удобный список основных утилит, которые можно загрузить и установить вместе с ними.
Чтобы установить первую программу, нажмите кнопку «Get Urbit Apps».
В результате появится список приложений для машины Urbit. Прокрутите список и найдите приложение, которое вы хотите установить.
Нажмите кнопку «Получить» в правом углу приложения, чтобы открыть страницу с информацией о приложении.
Нажмите кнопку «Получить приложение», чтобы установить его на машину Urbit.