Skip to main content

A simple way to serve pages and files over the Reticulum network.

Project description

RNS Page Node

Русская

Build and Publish Docker Image Docker Build Test DeepSource

A simple way to serve pages and files over the Reticulum network. Drop-in replacement for NomadNet nodes that primarily serve pages and files.

Features

  • Static and Dynamic pages.
  • Serve files
  • Simple

To-Do

  • Parameter parsing for forums, chat etc...

Usage

# Pip
# May require --break-system-packages

pip install rns-page-node

# Pipx

pipx install rns-page-node

# uv

uv venv
source .venv/bin/activate
uv pip install rns-page-node

# Git

pipx install git+https://github.com/Sudo-Ivan/rns-page-node.git
# will use current directory for pages and files
rns-page-node

Usage

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 Rootless

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

Mounting volumes are optional, you can also copy pages and files to the container podman cp or docker cp.

Build

make build

Build wheels:

make wheel

Build Wheels in Docker

make docker-wheels

Pages

Supports dynamic pages but not request data parsing yet.

Options

-c, --config: The path to the Reticulum config file.
-n, --node-name: The name of the node.
-p, --pages-dir: The directory to serve pages from.
-f, --files-dir: The directory to serve files from.
-i, --identity-dir: The directory to persist the node's identity.
-a, --announce-interval: The interval to announce the node's presence.
-r, --page-refresh-interval: The interval to refresh pages.
-f, --file-refresh-interval: The interval to refresh files.
-l, --log-level: The logging level.

License

This project incorporates portions of the NomadNet codebase, which is licensed under the GNU General Public License v3.0 (GPL-3.0). As a derivative work, this project is also distributed under the terms of the GPL-3.0. See the LICENSE file for full license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rns_page_node-1.2.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rns_page_node-1.2.0-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file rns_page_node-1.2.0.tar.gz.

File metadata

  • Download URL: rns_page_node-1.2.0.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rns_page_node-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d8579d57b12c2fdce84c08e20c2034b0c24439845146b7479ca8f22af3151f49
MD5 4a0464ebfe310f39f3564824868f25cb
BLAKE2b-256 1b2a6f1a2d4d9b7cee062c98439b2a2db404058e1b445dbbb1791fa8ceaf3d6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rns_page_node-1.2.0.tar.gz:

Publisher: publish.yml on Sudo-Ivan/rns-page-node

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rns_page_node-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: rns_page_node-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rns_page_node-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dacfbb20a29ab634943062c7b29756703a294296974e17e16fae9ad2485b065c
MD5 f9a63c0e7867c02a247f304dcee18cfb
BLAKE2b-256 5a23b47456498fc38922bd1b28938b0a9d97eb93ea0e0589f97a6a413ea3fc93

See more details on using hashes here.

Provenance

The following attestation bundles were made for rns_page_node-1.2.0-py3-none-any.whl:

Publisher: publish.yml on Sudo-Ivan/rns-page-node

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page