RATMAND(1)

NAME
ratmand - decentralised, peer-to-peer packet router

SYNOPSIS
ratmand [-d] [-p | -f] [-v verbosity] [-b addr] [--no-inet] [--inet addr] [--no-discovery] [--discovery-iface iface] [--discovery-port port]

DESCRIPTION
ratmand is a stand-alone, decentralised routing daemon, and the core component behind the Irdest project. Ratman provides an alternative address space via 256bit cryptographic keys, while peering with different Ratman instances over a variety of transport mechanisms.

The arguments are as follows:

-d, --accept-unknown-peers
    By default Ratman rejects unknown incoming peer requests. To disable this functionality you need to pass this flag.

    Note that if you want to run Ratman without having to provide a set of peers to begin with (for example to purely act as a peering server) then you must also provide this flag.

-p, --peers PEERS
    This multi-parameter flag allows you to specify an initial set of peers to connect to. The syntax used for this is called PEER_SYNTAX and used across various components in Irdest.

    A peer is expressed as follows:

        <netmod>#<address>:<port>[L]

    netmod refers to name of the netmod that the peer should be introduced to. Currently the only valid netmod-identifier is inet.

    address contains the main address part. Domain names (provided you have a working DNS setup) are also accepted.

    port to connect to.

    L indicates whether the peer should use a "limited" connection

-f, --peer-file PEER_FILE
    Similar parameter to -p but pointing to a file instead. This file must then contain a peer formatted in PEER_SYNTAX on each line.

-v, --verbosity verbosity
    Ratman can be configured to log more or less, depending on your needs. Following is a breakdown of available log levels and how they are generally used.

    error
        Only print unexpected behaviour that has caused some operation to fail. This does not mean that the whole router is crashing, but may be an early indicator of a fault

    warn
        Only print for unexpected behaviour that doesn't otherwise impact the operation of the router.

    info
        Print at most one statement for each high-level component action. It is possible to gauge the general operation of the router from just these messages

    debug
        Print at most two statements for each operation (for example "start" and "finish"). Debug messages are plenty because all components emit them, but limit their re-occurrence in each component.

    trace
        Includes individual step to each operation with no real limit on recurrence.

-b, --bind addr
    Override the default listening port for Ratman IPC connections. This is useful in case you want to run multiple routers on the same machine, but will cause issue with applications that don't allow you to specify the IPC connection socket address, e.g. irdest-echo(1).

--no-inet
    Disable the inet overlay driver.

--inet addr
    Specify the bind address and port for the netmod-inet overlay driver. It supports both ipv6(7) and ip(7) address schemas.

--no-discovery
    By default Ratman runs a local ipv6(7) multicast discovery driver which will find other Ratman instances on your local network to peer with. This flag disables that functionality.

--discovery-iface iface
    Bind to iface for local peer discovery. If none is provided ratmand will attempt to guess the correct interface.

--discovery-port port
    Bind to port for local peer discovery. Make sure this port is open in your firewall. The default port is 9001.

    Warning: it's not recommended to change this unless you know this is what you want!

EXIT STATUS

EXAMPLES

    # Start router daemon without connecting to any pre-defined peers,
    # but accepting any incoming peering requests.
    ratmand --accept-unknown-peers

BUGS
Currently Ratman can only peer over an existing internet connection but this will not always be the case.

This is alpha level software and will include bugs and cause crashes. If you encounter a reproducible issue, please report it!

Issue tracker
https://git.irde.st/we/irdest/-/issues

Mailing list
https://lists.irde.st/archives/list/community@lists.irde.st

Matrix
https://matrix.to/#/#chat:irde.st