@node Server
@section Server part
-Except for common @code{-mtu}, @code{-stats}, @code{-egd} options server
-has the following ones:
+Except for common @code{-stats}, @code{-egd} options server has the
+following ones:
@table @code
@verbatim
{
"stargrave": { <-- Peer human readable name
- "up": "./stargrave-up.sh", <-- up-script
+ "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": true, <-- OPTIONAL noise enabler
(default: false)
"cpr": 64, <-- OPTIONAL constant packet
rate in KiB/sec
+ "encless": false, <-- OPTIONAL Encryptionless mode
"verifier": "$argon2d..." <-- verifier received from client
},
[...]
}
@end verbatim
-up-script executes each time connection with the client is established.
-Its @emph{stdout} output must contain TAP interface name as the first
-line. This script can be simple @code{echo tap10}, or maybe more
-advanced like this:
+At least one of either @code{iface} or @code{up} must be specified. If
+you specify @code{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 @code{echo tap10}, or more advanced
+like the following one:
+
@example
#!/bin/sh
$tap=$(ifconfig tap create)
"Alice": {
"up": "/path/to/up.sh",
+ "iface": "or TAP interface name",
"verifier": "$argon2d$m=4096,t=128,p=1$bwR5VjeCYIQaa8SeaI3rqg$KCNIqfS4DGsBTtVytamAzcISgrlEWvNxan1UfBrFu10"
}
[...]