2024-02-15-23-30
This commit is contained in:
parent
b3d939b7dd
commit
99278b3ec0
@ -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 и легко читаем в исходном виде с помощью сторонних приложений.
|
KevaChat реализует стандартный протокол KevaCoin и легко читаем в исходном виде с помощью сторонних приложений.
|
||||||
|
97
data/pages/yggdrasil/startup_ip_change.txt
Normal file
97
data/pages/yggdrasil/startup_ip_change.txt
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
====== Смена IP-адреса в Yggdrasil при старте сервиса ======
|
||||||
|
|
||||||
|
Захотелось внести в [[yggdrasil:yggdrasil|Yggdrasil]] немножко анонимности. Если у вас на ПК нет никаких сервисов, привязанных к IP-адресу то его смена при каждой загрузке может не помешать.
|
||||||
|
|
||||||
|
Пример будет приведен для сервиса yggdrasil который управляется через systemctl.
|
||||||
|
|
||||||
|
===== Скрипт =====
|
||||||
|
|
||||||
|
Сам скрипт очень прост.
|
||||||
|
<code>
|
||||||
|
sed -i "s/$(cat \/etc\/yggdrasil.conf | grep 'PrivateKey')/$(yggdrasil -genconf | grep 'PrivateKey')/" /etc/yggdrasil.conf
|
||||||
|
</code>
|
||||||
|
|
||||||
|
Разберем этот скрипт.
|
||||||
|
|
||||||
|
Ищем строку с приватным ключом:
|
||||||
|
<code>
|
||||||
|
cat \/etc\/yggdrasil.conf | grep 'PrivateKey'
|
||||||
|
</code>
|
||||||
|
|
||||||
|
Генерируем новый конфиг с новым приватным ключом и грепаем строку с ключом:
|
||||||
|
<code>
|
||||||
|
yggdrasil -genconf | grep 'PrivateKey'
|
||||||
|
</code>
|
||||||
|
|
||||||
|
Далее подставляем результаты в sed.
|
||||||
|
|
||||||
|
===== systemctl =====
|
||||||
|
|
||||||
|
Теперь нам нужно поместить этот скрпит в файл сервиса yggdrasil.
|
||||||
|
|
||||||
|
Отредактируем файл сервиса yggdrasil:
|
||||||
|
|
||||||
|
<code>
|
||||||
|
systemctl edit yggdrasil.service
|
||||||
|
</code>
|
||||||
|
|
||||||
|
У вас в редакторе откроется подобный текст:
|
||||||
|
<code>
|
||||||
|
### 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
|
||||||
|
...
|
||||||
|
</code>
|
||||||
|
|
||||||
|
Добавьте наш override:
|
||||||
|
<code>
|
||||||
|
### 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
|
||||||
|
|
||||||
|
</code>
|
||||||
|
|
||||||
|
Сохраните изменения и выполните команду для обновления файлов конфигураций:
|
||||||
|
<code>
|
||||||
|
systemctl daemon-reload
|
||||||
|
</code>
|
||||||
|
|
||||||
|
===== Проверка =====
|
||||||
|
|
||||||
|
Теперь проверим, что наш override для файла сервиса применился. Выполним команду:
|
||||||
|
<code>
|
||||||
|
systemctl show --no-pager yggdrasil.service | grep -i 'ExecStartPre='
|
||||||
|
</code>
|
||||||
|
|
||||||
|
В выводе будет определение нашей команды, которая записана через override, и основной команды, которая была по умолчанию.
|
||||||
|
<code>
|
||||||
|
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 }
|
||||||
|
</code>
|
||||||
|
|
||||||
|
Теперь проверим, что IP-адрес меняется, посмотрим наш текущий адрес:
|
||||||
|
<code>
|
||||||
|
ip -br a | grep tun0
|
||||||
|
tun0 UNKNOWN 202:f108:1d85:56cb:5ed1:5edc:7a5:df05/7
|
||||||
|
</code>
|
||||||
|
|
||||||
|
Перезапустим сервис:
|
||||||
|
<code>
|
||||||
|
systemctl restart yggdrasil.service
|
||||||
|
</code>
|
||||||
|
|
||||||
|
Проверим еще раз наш IP-адрес:
|
||||||
|
<code>
|
||||||
|
ip -br a | grep tun0
|
||||||
|
tun0 UNKNOWN 200:babe:dada:ffff:5ed1:5edc:7a5:ffff/7
|
||||||
|
</code>
|
||||||
|
|
||||||
|
Адрес изменился.
|
||||||
|
|
||||||
|
~~DISCUSSION~~
|
Loading…
x
Reference in New Issue
Block a user