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~~