+Size of handshake initiation packet prepend junk. Should be the same on both ends.
+
+0–1280 (recomended 15–150), S1 != S2
+
+## S2
+
+Size of handshake response packet prepend junk. Should be the same on both ends.
+
+0–1280 (recomended 15–150), S1 != S2
+
+## H1-H4
+
+Custom identifiers for initiation/response/cookie/data packets. Should be the same on both ends.
+
+The unique value in range of 5 - 4,294,967,295 (0x5 - 0xFFFFFFFF), H1 != H2 != H3 != H4
+
+## Additional config options
+
+### Description
+
+```config
+[Interface]
+...
+Description = Some Text
+```
+
+Will setup interface description visible in ifconfig and SNMP.
+
+### UserLand
+
+Enforce to use amnezia-go instead of kernel driver, you can use port
+[net/amnezia-wireguard-go](https://github.com/vgrebenschikov/amnezia-wireguard-go) to install it.
+
+```config
+[Interface]
+...
+UserLand = true
+...
+```
+
+### Routes
+
+List of routes for the peer to be installed into FIB - that option provides a way to have AllowedIPs list wider then routes installed. Empty list is allowed.
+
+That is useful if routing protocol will work over the link.
+But remember that internal wireguard routing will happen according to AllowedIPs anyway.
+Suggested use in case dynamic route - one interface -> one link.
+
+```config
+...
+
+[Peer]
+PublicKey = ...peer.public.key.here...
+AllowedIPs = 0.0.0.0/0
+Routes = 192.168.1.2/32
+```
+
+and after start - only routes limited in Routes config section:
+- for i in $(while read -r _ i; do for i in $i; do [[ $i =~ ^[0-9a-z:.]+/[0-9]+$ ]] && echo "$i"; done; done < <(wg show "$INTERFACE" allowed-ips) | sort -nr -k 2 -t /); do