Next: , Previous: , Up: User   [Index]


Server part

Except for common -stats, -egd options server has the following ones:

-proto

network protocol to use. Can be udp (default), tcp or all.

-bind

Address (host:port format) we must bind to.

-conf

Path to YAML file with the configuration.

-proxy

Start trivial HTTP Proxy server on specified host:port.

Configuration file is YAML file with following example structure:

stargrave: {                        <-- Peer human readable name
    iface: tap10                    <-- OPTIONAL TAP interface name
    mtu: 1514                       <-- OPTIONAL overriden MTU
    up: ./stargrave-up.sh           <-- OPTIONAL up-script
    down: ./stargrave-down.sh       <-- OPTIONAL down-script
    timeout: 60                     <-- OPTIONAL overriden timeout
    noise: No                       <-- OPTIONAL noise enabler
    cpr: 64                         <-- OPTIONAL constant packet rate, KiB/sec
    encless: No                     <-- OPTIONAL Encryptionless mode
    verifier: $argon2d...           <-- verifier received from client
[...]

At least one of either iface or up must be specified. If you specify iface, then it will be forcefully used to determine what TAP interface will be used. If it is not specified, then up-script must output interface’s name to stdout (first output line).

For example up-script can be just echo tap10, or more advanced like the following one:

#!/bin/sh
$tap=$(ifconfig tap create)
ifconfig $tap inet6 fc00::1/96 mtu 1412 up
echo $tap

Each minute server rereads and refreshes peers configuration and adds newly appeared identities, deletes an obsolete ones.

You can use convenient utils/newclient.sh script for new client creation:

% ./utils/newclient.sh Alice
[...]
Your client verifier is: $argon2d$m=4096,t=128,p=1$bwR5VjeCYIQaa8SeaI3rqg

Place the following YAML configuration entry on the server's side:

    Alice:
        up: /path/to/up.sh
        iface: or TAP interface name
        verifier: $argon2d$m=4096,t=128,p=1$bwR5VjeCYIQaa8SeaI3rqg$KCNIqfS4DGsBTtVytamAzcISgrlEWvNxan1UfBrFu10

Example configuration file:

stargrave:
    iface: tap0
    verifier: $argon2d$m=4096,t=128,p=1$VMirzcshcHuG2V4jhUsEjw$X5fC07L8k61h3S1Oro/rC76+m0oGDTA9Bq+aWJ1uOgY
slow:
    iface: tap1
    encless: Yes
    mtu: 9000
    cpr: 384
    verifier: $argon2d$m=4096,t=128,p=1$YbIA5garDqCOhtI/2EZVNg$gOo5vcEGynmpeepNscwclicfZsWxzgYFRLbgG21EZ1U

Next: , Previous: , Up: User   [Index]