A simple way to serve pages and files over the Reticulum network.
Project description
RNS Page Node
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8579d57b12c2fdce84c08e20c2034b0c24439845146b7479ca8f22af3151f49
|
|
| MD5 |
4a0464ebfe310f39f3564824868f25cb
|
|
| BLAKE2b-256 |
1b2a6f1a2d4d9b7cee062c98439b2a2db404058e1b445dbbb1791fa8ceaf3d6e
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rns_page_node-1.2.0.tar.gz -
Subject digest:
d8579d57b12c2fdce84c08e20c2034b0c24439845146b7479ca8f22af3151f49 - Sigstore transparency entry: 685336133
- Sigstore integration time:
-
Permalink:
Sudo-Ivan/rns-page-node@a2efdb136a79b5ad5785ba4130aad7349091d52b -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/Sudo-Ivan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a2efdb136a79b5ad5785ba4130aad7349091d52b -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dacfbb20a29ab634943062c7b29756703a294296974e17e16fae9ad2485b065c
|
|
| MD5 |
f9a63c0e7867c02a247f304dcee18cfb
|
|
| BLAKE2b-256 |
5a23b47456498fc38922bd1b28938b0a9d97eb93ea0e0589f97a6a413ea3fc93
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rns_page_node-1.2.0-py3-none-any.whl -
Subject digest:
dacfbb20a29ab634943062c7b29756703a294296974e17e16fae9ad2485b065c - Sigstore transparency entry: 685336135
- Sigstore integration time:
-
Permalink:
Sudo-Ivan/rns-page-node@a2efdb136a79b5ad5785ba4130aad7349091d52b -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/Sudo-Ivan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a2efdb136a79b5ad5785ba4130aad7349091d52b -
Trigger Event:
push
-
Statement type: