diff --git a/data/pages/social_media/kevachat.txt b/data/pages/social_media/kevachat.txt
index 48f828c..665f87c 100644
--- a/data/pages/social_media/kevachat.txt
+++ b/data/pages/social_media/kevachat.txt
@@ -22,11 +22,16 @@ KevaChat позволяет читать содержимое других уз
Реализованы все базовые функции веб-версии: просмотр комнат, мультимедиа (в зависимости от поддержки браузером) а также добавление новых публикаций.
===== Модель =====
-Для публикации сообщений, используется общий кошелек, который могут пополнять пользователи или администрация узла по мере его расходования на публикации.\\
-В виду того, что майнинг Kevacoin осуществляется посредством алгоритма randomx, при текущем хешрейте, публикацию сообщений можно условно считать бесплатной.
+Для публикации сообщений используется общий кошелек, который могут пополнять пользователи или администрация узла по мере его расходования на публикации.\\
+В виду того, что майнинг KevaCoin осуществляется посредством алгоритма randomx, при текущем хешрейте, публикацию сообщений можно условно считать бесплатной.
-Не смотря на то, что протокол Kevacoin предусматривает [[wpru>CRUD|CRUD]] операции, как показал опыт, такие команды как _KEVA_DELETE_ лишь скрывают сообщение в кошельке, при этом физические данные остаются в блоках перманентно.
-Эту особенность удобно использовать для модерации и авторского управления контентом.\\
+На случай удорожания монеты (если это будет иметь место в перспективе), владельцы узлов могут предоставлять альтернативную модель для публикации сообщений:\\
+например, выписывать за каждое сообщение в пуле уникальный адрес для оплаты отправителем, получая от каждой транзакции комиссию и монитизировать ресурс.
+
+===== Хранение данных =====
+
+Не смотря на то, что протокол KevaCoin предусматривает [[wpru>CRUD|CRUD]] операции, как показал опыт, такие команды как _KEVA_DELETE_ лишь скрывают сообщение в кошельке, при этом физические данные остаются в блоках перманентно.
+Если по каким-то причинам узел скрывает или удаляет сообщения локально, прочитать их можно с любого внешнего узла KevaChat, эксплорера блоков или кошелька KevaCoin.
===== Протокол =====
KevaChat реализует стандартный протокол KevaCoin и легко читаем в исходном виде с помощью сторонних приложений.
diff --git a/data/pages/yggdrasil/startup_ip_change.txt b/data/pages/yggdrasil/startup_ip_change.txt
new file mode 100644
index 0000000..04a0427
--- /dev/null
+++ b/data/pages/yggdrasil/startup_ip_change.txt
@@ -0,0 +1,97 @@
+====== Смена IP-адреса в Yggdrasil при старте сервиса ======
+
+Захотелось внести в [[yggdrasil:yggdrasil|Yggdrasil]] немножко анонимности. Если у вас на ПК нет никаких сервисов, привязанных к IP-адресу то его смена при каждой загрузке может не помешать.
+
+Пример будет приведен для сервиса yggdrasil который управляется через systemctl.
+
+===== Скрипт =====
+
+Сам скрипт очень прост.
+
+sed -i "s/$(cat \/etc\/yggdrasil.conf | grep 'PrivateKey')/$(yggdrasil -genconf | grep 'PrivateKey')/" /etc/yggdrasil.conf
+
+
+Разберем этот скрипт.
+
+Ищем строку с приватным ключом:
+
+cat \/etc\/yggdrasil.conf | grep 'PrivateKey'
+
+
+Генерируем новый конфиг с новым приватным ключом и грепаем строку с ключом:
+
+yggdrasil -genconf | grep 'PrivateKey'
+
+
+Далее подставляем результаты в sed.
+
+===== systemctl =====
+
+Теперь нам нужно поместить этот скрпит в файл сервиса yggdrasil.
+
+Отредактируем файл сервиса yggdrasil:
+
+
+systemctl edit yggdrasil.service
+
+
+У вас в редакторе откроется подобный текст:
+
+### Editing /etc/systemd/system/yggdrasil.service.d/override.conf
+### Anything between here and the comment below will become the contents of the drop-in file
+
+
+### Edits below this comment will be discarded
+...
+
+
+Добавьте наш override:
+
+### Editing /etc/systemd/system/yggdrasil.service.d/override.conf
+### Anything between here and the comment below will become the contents of the drop-in file
+
+[Service]
+ExecStartPre=/bin/bash -c '''sed -i "s/$(cat \/etc\/yggdrasil.conf | grep 'PrivateKey')/$(yggdrasil -genconf | grep 'PrivateKey')/" /etc/yggdrasil.conf'''
+
+### Edits below this comment will be discarded
+
+
+
+Сохраните изменения и выполните команду для обновления файлов конфигураций:
+
+systemctl daemon-reload
+
+
+===== Проверка =====
+
+Теперь проверим, что наш override для файла сервиса применился. Выполним команду:
+
+systemctl show --no-pager yggdrasil.service | grep -i 'ExecStartPre='
+
+
+В выводе будет определение нашей команды, которая записана через override, и основной команды, которая была по умолчанию.
+
+ExecStartPre={ path=/sbin/modprobe ; argv[]=/sbin/modprobe tun ; ignore_errors=yes ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }
+ExecStartPre={ path=/bin/bash ; argv[]=/bin/bash -c sed -i "s/$(cat \/etc\/yggdrasil.conf | grep PrivateKey)/$(yggdrasil -genconf | grep PrivateKey)/" /etc/yggdrasil.conf ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }
+
+
+Теперь проверим, что IP-адрес меняется, посмотрим наш текущий адрес:
+
+ip -br a | grep tun0
+tun0 UNKNOWN 202:f108:1d85:56cb:5ed1:5edc:7a5:df05/7
+
+
+Перезапустим сервис:
+
+systemctl restart yggdrasil.service
+
+
+Проверим еще раз наш IP-адрес:
+
+ip -br a | grep tun0
+tun0 UNKNOWN 200:babe:dada:ffff:5ed1:5edc:7a5:ffff/7
+
+
+Адрес изменился.
+
+~~DISCUSSION~~