I'm trying to operate an LXMF Propagation Node primarily as an offline inbox for members of an internal Reticulum network, while keeping it accessible through the global Reticulum network.
Network setup
Node A: Low-power, solar-powered Linux device running Reticulum. Its connection to the global backbone uses a boundary interface; LoRa and all private connections use internal.
Node B: Second Reticulum transport node connected to Node A over Yggdrasil using internal interfaces.
All other nodes in the private network use internal interfaces.
Both nodes run LXMF Propagation Nodes, configured as static peers with autopeer = no.
The problem
With from_static_only = no, the Propagation Node receives and stores thousands of unrelated messages from unpeered nodes on the global network.
Approximately 99.9% of the messages are irrelevant to our internal users. One node accumulated nearly 29,000 messages, although only a very small number were actually intended for our network.
This creates unnecessary storage, CPU, and memory load on a resource-constrained, solar-powered Linux device.
Even relatively high stamp costs do not seem to prevent this. It appears that a remote propagation node can generate a single peering stamp/key and subsequently transfer large batches containing hundreds of messages without performing new proof-of-work for every message in the batch.
With from_static_only = yes, the unwanted unpeered traffic stops. However, the Propagation Node then appears to become unavailable to all clients, including local clients on the internal network, despite the service running and its static peer remaining available.
Questions
Does from_static_only = yes affect only incoming propagation transfers from non-static peers, or can it also affect client access, message deposits, retrieval, or node discovery?
What is the recommended way to provide an offline inbox primarily for members of an internal/city Reticulum network, while allowing those same users to access it through the global network when outside local coverage?
How can we prevent the node from receiving and storing thousands of unrelated messages from unpeered propagation nodes without making it unavailable to legitimate clients?
Is it correct that a remote propagation node can transfer hundreds of messages in a single synchronisation batch using an already established peering key, without requiring separate proof-of-work for each message? If so, how should a resource-constrained node protect itself against excessive incoming batches?
What configuration or architecture would you recommend, considering the boundary/internal separation in Reticulum?
In short: How can I provide a globally accessible LXMF offline inbox for members of a private Reticulum network without continuously receiving and storing thousands of unrelated messages from unpeered propagation nodes?
Current LXMF configuration (Node A)
[propagation]
node_name = XXXXXX [LoRa/Ygg] LXMF PN
enable_node = yes
announce_interval = 60
announce_at_start = yes
autopeer = no
from_static_only = yes (no)
autopeer_maxdepth = 0
propagation_stamp_cost_target = 14
propagation_stamp_cost_flexibility = 0
peering_cost = 20
remote_peering_cost_max = 20
static_peers = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
sequential_pn_stamp_validation = yes
auth_required = no
message_storage_limit = 4
propagation_message_max_accepted_size = 32
propagation_sync_max_accepted_size = 64
max_peers = 2
max_inbound_syncs = 1
[lxmf]
display_name = XXXXXX [LoRa/Ygg] LXMF
announce_at_start = yes
announce_interval = 60
delivery_transfer_max_accepted_size = 32
[logging]
loglevel = 3
Sorry for the long post. Thanks a lot.