Configuration reference¶
The node reads a TOML file, by default /home/unseenet/node.toml when
installed with the script. After changing it:
sudo systemctl restart unseenet-node
Example¶
[node]
name = "mynode"
min_pow = 18
retention_days = 90
new_groups = "accept"
trusted_owners = []
require_peer_auth = true
[[peer]]
name = "friend"
address = "abcdef...xyz.onion:119"
key = "ed25519:..."
groups = "*"
[node]¶
| Key | Default | Meaning |
|---|---|---|
name |
"unseenet" (the installer uses the hostname) |
The node's name, shown to clients. With old password peering it is also the user name, so it must match the name the other side has for you. |
min_pow |
18 |
Minimum postage in bits for posts this node accepts. Each extra bit doubles the cost. Group owners can require more for their groups. |
retention_days |
90 |
How long posts are kept. A group's own retention is used if it is shorter. Expired posts are removed once an hour. |
max_size |
65536 |
Largest post in bytes. Must be between 32768 and 65536. |
new_groups |
"accept" |
Which new groups this node carries, see below. |
trusted_owners |
[] |
Owner keys ("ed25519:...") whose new groups are accepted when new_groups = "trusted". |
pull_interval |
3600 |
Seconds between catch-up pulls from each peer. |
require_peer_auth |
true |
Only configured peers that authenticate can push posts to this node. Clients can always post. Set false only for testing. |
new_groups: which groups the node carries¶
| Value | Behaviour |
|---|---|
accept |
Every new group is carried. Good for small private networks among friends. |
trusted |
Only groups whose owner key is in trusted_owners. Good for a public node where you want to know who creates groups. |
manual |
No new groups are accepted. (A tool to add groups by hand is not written yet.) |
This only affects new groups. Groups the node already carries keep working, and posts in them are checked against the group's own rules.
[operator]¶
Who runs the node and how to reach them (UN-RFC 0011). Clients show it when the user presses O. All keys are optional.
| Key | Meaning |
|---|---|
key |
Your identity key (ed25519:...) as operator |
contact |
Group ID of your contact inbox, see Operations |
description |
A few words about the node |
logging |
What the node logs (shown to users) |
[operator]
key = "ed25519:det5dxev..."
contact = "operator@ph5fc5hop5232qsz"
description = "Andreas' test node in Denmark"
[[peer]]¶
One section per peer. See Peering.
| Key | Required | Meaning |
|---|---|---|
name |
yes | Your label for the peer, used in the logs. (With a password: must equal the name in the peer's own [node] section.) |
address |
yes | The peer's onion address with port, xyz.onion:119. (host:port works for local testing.) |
key |
yes, for new peerings | The peer's node key, ed25519:... (UN-RFC 0016). Used to accept the peer logging in to you, and to check that you reached the right node. |
groups |
no, "*" |
Which groups to send to this peer, as a wildmat (see below). "" sends nothing. |
pull |
no, "*" |
Which groups to catch up on from this peer. "" pulls nothing. |
password |
no | Old shared-secret login, ignored when key is set. See Peering. |
Wildmats¶
Group selections use the classic Usenet wildmat syntax: comma-separated
patterns with * and ?, where ! excludes. The last matching pattern
wins.
| Pattern | Sends |
|---|---|
* |
everything |
dk.*,unseenet* |
groups starting with dk. or unseenet |
*,!alt.* |
everything except alt.* |
Patterns are matched against the full group ID (dk.snak@ab3k5x7q...),
so dk.snak* matches every dk.snak, whoever owns it. To match one
specific group, use its full ID.