Some checks failed
Docker Build Test / build (3.11) (push) Successful in 34s
Docker Build Test / build (3.13) (push) Successful in 33s
Docker Build Test / build (3.12) (push) Has been cancelled
Docker Build Test / build (3.10) (push) Has been cancelled
Build and Publish Docker Image / build (push) Has been cancelled
3.1 KiB
3.1 KiB
RNS Page Node
Простой способ для раздачи страниц и файлов через сеть Reticulum. Прямая замена для узлов NomadNet, которые в основном служат для раздачи страниц и файлов.
Использование
# Pip
# Может потребоваться --break-system-packages
pip install rns-page-node
# Pipx
pipx install rns-page-node
# uv
uv pip install rns-page-node
# Git
pipx install git+https://github.com/Sudo-Ivan/rns-page-node.git
# будет использовать текущий каталог для страниц и файлов
rns-page-node
Использование
rns-page-node --node-name "Page Node" --pages-dir ./pages --files-dir ./files --identity-dir ./node-config --announce-interval 360
Docker/Podman
docker run -it --rm -v ./pages:/app/pages -v ./files:/app/files -v ./node-config:/app/node-config -v ./config:/root/.reticulum ghcr.io/sudo-ivan/rns-page-node:latest
Docker/Podman без root
mkdir -p ./pages ./files ./node-config ./config
chown -R 1000:1000 ./pages ./files ./node-config ./config
podman run -it --rm -v ./pages:/app/pages -v ./files:/app/files -v ./node-config:/app/node-config -v ./config:/app/config ghcr.io/sudo-ivan/rns-page-node:latest-rootless
Монтирование томов необязательно, вы также можете скопировать страницы и файлы в контейнер с помощью podman cp или docker cp.
Сборка
make build
Сборка wheels:
make wheel
Сборка Wheels в Docker
make docker-wheels
Страницы
Поддерживаются динамические страницы, но парсинг данных запроса пока не реализован.
Опции
-c, --config: Путь к файлу конфигурации Reticulum.
-n, --node-name: Имя узла.
-p, --pages-dir: Каталог для раздачи страниц.
-f, --files-dir: Каталог для раздачи файлов.
-i, --identity-dir: Каталог для сохранения идентификационных данных узла.
-a, --announce-interval: Интервал анонсирования присутствия узла.
-r, --page-refresh-interval: Интервал обновления страниц.
-f, --file-refresh-interval: Интервал обновления файлов.
-l, --log-level: Уровень логирования.
Лицензия
Этот проект включает части кодовой базы NomadNet, которая лицензирована под GNU General Public License v3.0 (GPL-3.0). Как производная работа, этот проект также распространяется на условиях GPL-3.0. Полный текст лицензии смотрите в файле LICENSE.