diff --git a/build b/build
index 4e899c83..7e616199 100755
--- a/build
+++ b/build
@@ -4,6 +4,8 @@ set -ef
PKGSRC=${PKGSRC:-github.com/RiV-chain/RiV-mesh/src/version}
PKGNAME=${PKGNAME:-$(sh contrib/semver/name.sh)}
PKGVER=${PKGVER:-$(sh contrib/semver/version.sh --bare)}
+echo "Building: $PKGVER"
+
if [ "$LDFLAGS" ]; then
LDFLAGS="$LDFLAGS -X $PKGSRC.buildName=$PKGNAME -X $PKGSRC.buildVersion=$PKGVER"
else
@@ -42,10 +44,10 @@ buildbin() {
local CMD=$(realpath $1)
echo "Building: $CMD for $GOOS-$GOARCH"
- (cd $TARGET_PATH && go build $ARGS -ldflags "${LDFLAGS}${LDFLAGS2}" -gcflags "$GCFLAGS" $CMD)
+ (cd "$TARGET_PATH" && go build $ARGS -ldflags "${LDFLAGS}${LDFLAGS2}" -gcflags "$GCFLAGS" "$CMD")
if [ $UPX ]; then
- upx --brute $CMD
+ upx --brute "$CMD"
fi
}
@@ -58,10 +60,6 @@ build_meshctl() {
}
build_mesh_ui() {
- #only UI should be built with windowsgui flag
- if [ "$GOOS" == "windows" ]; then
- LDFLAGS2=" -H windowsgui"
- fi
buildbin ./contrib/ui/mesh-ui
}
diff --git a/contrib/deb/generate.sh b/contrib/deb/generate.sh
index 30622c19..ed8f86fe 100644
--- a/contrib/deb/generate.sh
+++ b/contrib/deb/generate.sh
@@ -4,13 +4,13 @@
# mesh and enables it in systemd. You can give it the PKGARCH= argument
# i.e. PKGARCH=i386 sh contrib/deb/generate.sh
-if [ `pwd` != `git rev-parse --show-toplevel` ]
+if [ "$(pwd)" != "$(git rev-parse --show-toplevel)" ]
then
echo "You should run this script from the top-level directory of the git repo"
exit 1
fi
-PKGBRANCH=$(basename `git name-rev --name-only HEAD`)
+PKGBRANCH=$(basename "$(git name-rev --name-only HEAD)")
PKG=$(sh contrib/semver/name.sh)
PKGVERSION=$(sh contrib/semver/version.sh --bare)
PKGARCH=${PKGARCH-amd64}
@@ -113,7 +113,7 @@ EOF
cp mesh /tmp/$PKGNAME/usr/bin/
cp meshctl /tmp/$PKGNAME/usr/bin/
ln -s /usr/bin/meshctl /tmp/$PKGNAME/usr/local/bin/meshctl
-if [ $LOGLEVEL = "DEBUG" ]; then cp contrib/systemd/mesh-debug.service /tmp/$PKGNAME/etc/systemd/system/mesh.service
+if [ "$LOGLEVEL" = "DEBUG" ]; then cp contrib/systemd/mesh-debug.service /tmp/$PKGNAME/etc/systemd/system/mesh.service
else
cp contrib/systemd/mesh.service /tmp/$PKGNAME/etc/systemd/system/
fi
diff --git a/contrib/macos/create-pkg-gui.sh b/contrib/macos/create-pkg-gui.sh
index d098fffa..df6181f7 100644
--- a/contrib/macos/create-pkg-gui.sh
+++ b/contrib/macos/create-pkg-gui.sh
@@ -47,11 +47,16 @@ cp meshctl pkgbuild/root/usr/local/bin
cp mesh pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS
cp mesh-ui pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS
cp riv.icns pkgbuild/root/Applications/RiV-mesh.app/Contents/Resources
-cp contrib/ui/mesh-ui/ui/index.html pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS
-cp -r contrib/ui/mesh-ui/ui/assets pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS
-cp -r contrib/ui/mesh-ui/ui/webfonts pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS
+cp -r contrib/ui/mesh-ui/ui pkgbuild/root/Applications/RiV-mesh.app/Contents/Resources
cp contrib/macos/mesh.plist pkgbuild/root/Library/LaunchDaemons
+# Create open script
+cat > pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS/open-mesh-ui << EOF
+#!/usr/bin/env bash
+
+exec /Applications/RiV-mesh.app/Contents/MacOS/mesh-ui /Applications/RiV-mesh.app/Contents/Resources/ui/index.html 1>/tmp/mesh-ui.stdout.log 2>/tmp/mesh-ui.stderr.log
+EOF
+
# Create the postinstall script
cat > pkgbuild/scripts/postinstall << EOF
#!/bin/sh
@@ -82,7 +87,7 @@ chmod 755 pkgbuild/scripts/postinstall
chmod 755 pkgbuild/root/usr/local/bin/meshctl
chmod 755 pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS/mesh
chmod 755 pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS/mesh-ui
-chmod 755 pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS/index.html
+chmod 755 pkgbuild/root/Applications/RiV-mesh.app/Contents/MacOS/open-mesh-ui
# Work out metadata for the package info
PKGNAME=$(sh contrib/semver/name.sh)
@@ -115,13 +120,9 @@ cat > pkgbuild/root/Applications/RiV-mesh.app/Contents/Info.plist << EOF
CFBundleShortVersionString
${PKGVERSION}
CFBundleExecutable
- mesh-ui
+ open-mesh-ui
CFBundleIdentifier
io.github.RiV-mesh.pkg
- StandardOutPath
- /tmp/mesh-ui.stdout.log
- StandardErrorPath
- /tmp/mesh-ui.stderr.log
EOF
diff --git a/contrib/mobile/mobile.go b/contrib/mobile/mobile.go
index a9f24e83..530deea8 100644
--- a/contrib/mobile/mobile.go
+++ b/contrib/mobile/mobile.go
@@ -47,13 +47,17 @@ func (m *Mesh) StartJSON(configjson []byte) error {
if err := json.Unmarshal(configjson, &m.config); err != nil {
return err
}
- // Setup the Yggdrasil node itself.
+ // Setup the Mesh node itself.
{
sk, err := hex.DecodeString(m.config.PrivateKey)
if err != nil {
panic(err)
}
- options := []core.SetupOption{}
+ options := []core.SetupOption{
+ core.NodeInfo(m.config.NodeInfo),
+ core.NodeInfoPrivacy(m.config.NodeInfoPrivacy),
+ core.NetworkDomain(m.config.NetworkDomain),
+ }
for _, peer := range m.config.Peers {
options = append(options, core.Peer{URI: peer})
}
diff --git a/contrib/semver/version.sh b/contrib/semver/version.sh
index d2ec6ce1..2b61ed22 100644
--- a/contrib/semver/version.sh
+++ b/contrib/semver/version.sh
@@ -3,9 +3,9 @@
case "$*" in
*--bare*)
# Remove the "v" prefix
- git describe --tags --match="v[0-9]*\.[0-9]*\.[0-9]*" | cut -c 2-
+ git describe --tags --match="v[0-9]*\.[0-9]*\.[0-9]*" --abbrev=7 | cut -c 2-
;;
*)
- git describe --tags --match="v[0-9]*\.[0-9]*\.[0-9]*"
+ git describe --tags --match="v[0-9]*\.[0-9]*\.[0-9]*" --abbrev=7
;;
esac
diff --git a/contrib/ui/mesh-ui/ui/index.html b/contrib/ui/mesh-ui/ui/index.html
index 4d0265fb..1da3059b 100755
--- a/contrib/ui/mesh-ui/ui/index.html
+++ b/contrib/ui/mesh-ui/ui/index.html
@@ -1,34 +1,39 @@
-
-
-
-
+
- RiV-mesh
-
-
+
+
+
+
+ RiV-mesh
+
+
-
-
-
-
-
-
-
-
-
-
-
- Save
-
-
-
-
- Cancel
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
Public Key
-
Public Key
-
-
-
-
-
Private Key
-
-
-
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-
+
+
-
+
+
+
+
+
+
+
Public Key
+
Public Key
+
+
+
+
+
Private Key
+
+
+
+ ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+
+
+
+
\ No newline at end of file
diff --git a/contrib/ui/mesh-ui/webview.go b/contrib/ui/mesh-ui/webview.go
old mode 100755
new mode 100644
index e76dad2f..0ef8e776
--- a/contrib/ui/mesh-ui/webview.go
+++ b/contrib/ui/mesh-ui/webview.go
@@ -21,9 +21,35 @@ import (
"github.com/RiV-chain/RiV-mesh/src/admin"
"github.com/RiV-chain/RiV-mesh/src/defaults"
+ "github.com/docopt/docopt-go"
)
+var usage = `Graphical interface for RiV mesh.
+
+Usage:
+ mesh-ui [
] [-c]
+ mesh-ui -h | --help
+ mesh-ui -v | --version
+
+Options:
+ Index file name [default: index.html].
+ -c --console Show debug console window.
+ -h --help Show this screen.
+ -v --version Show version.`
+
+var confui struct {
+ IndexHtml string `docopt:""`
+ Console bool `docopt:"-c,--console"`
+}
+
+var uiVersion = "0.0.1"
+
func main() {
+ opts, _ := docopt.ParseArgs(usage, os.Args[1:], uiVersion)
+ opts.Bind(&confui)
+ if !confui.Console {
+ Console(false)
+ }
debug := true
w := webview.New(debug)
defer w.Destroy()
@@ -67,18 +93,32 @@ func main() {
}
}
}
- var path string
- if len(os.Args) > 1 {
- path, err = filepath.Abs(filepath.Dir(os.Args[1]))
- } else {
- path, err = filepath.Abs(filepath.Dir(os.Args[0]))
+ if confui.IndexHtml == "" {
+ confui.IndexHtml = "index.html"
}
- if err != nil {
- log.Fatal(err)
+ //Check is it URL already
+ indexUrl, err := url.ParseRequestURI(confui.IndexHtml)
+ if err != nil || len(indexUrl.Scheme) < 2 { // handling no scheme at all and windows c:\ as scheme detection
+ confui.IndexHtml, err = filepath.Abs(confui.IndexHtml)
+ if err != nil {
+ panic(errors.New("Index file not found: " + err.Error()))
+ }
+ if stat, err := os.Stat(confui.IndexHtml); err != nil {
+ panic(errors.New(fmt.Sprintf("Index file %v not found or permissians denied: %v", confui.IndexHtml, err.Error())))
+ } else if stat.IsDir() {
+ panic(errors.New(fmt.Sprintf("Index file %v not found", confui.IndexHtml)))
+ }
+ path_prefix := ""
+ if indexUrl != nil && len(indexUrl.Scheme) == 1 {
+ path_prefix = "/"
+ }
+ indexUrl, err = url.ParseRequestURI("file://" + path_prefix + strings.ReplaceAll(confui.IndexHtml, "\\", "/"))
+ if err != nil {
+ panic(errors.New("Index file URL parse error: " + err.Error()))
+ }
}
- log.Println(path)
w.Bind("onLoad", func() {
log.Println("page loaded")
go run(w)
@@ -105,10 +145,8 @@ func main() {
w.Bind("ping", func(peer_list string) {
go ping(w, peer_list)
})
- //dat, err := ioutil.ReadFile(path+"/index.html")
- //w.Navigate("data:text/html,"+url.QueryEscape(string(dat)))
- //w.Navigate("data:text/html,"+""+path+"")
- w.Navigate("file://" + path + "/index.html")
+ log.Printf("Opening: %v", indexUrl)
+ w.Navigate(indexUrl.String())
w.Run()
}
@@ -179,6 +217,7 @@ func get_self(w webview.WebView) {
go setFieldValue(w, "ipv6", res.IPAddress)
go setFieldValue(w, "pub_key", res.PublicKey)
go setFieldValue(w, "priv_key", res.PrivateKey)
+ go setFieldValue(w, "version", fmt.Sprintf("v%v/%v", res.BuildVersion, uiVersion))
//found subnet
fmt.Printf("Subnet: %s\n", res.Subnet)
go setFieldValue(w, "subnet", res.Subnet)
diff --git a/contrib/ui/mesh-ui/webview_other.go b/contrib/ui/mesh-ui/webview_other.go
new file mode 100644
index 00000000..313ad87f
--- /dev/null
+++ b/contrib/ui/mesh-ui/webview_other.go
@@ -0,0 +1,7 @@
+//go:build !windows
+// +build !windows
+
+package main
+
+func Console(show bool) {
+}
diff --git a/contrib/ui/mesh-ui/webview_windows.go b/contrib/ui/mesh-ui/webview_windows.go
new file mode 100755
index 00000000..556afedd
--- /dev/null
+++ b/contrib/ui/mesh-ui/webview_windows.go
@@ -0,0 +1,24 @@
+//go:build windows
+// +build windows
+
+package main
+
+import (
+ "syscall"
+)
+
+func Console(show bool) {
+ var getWin = syscall.NewLazyDLL("kernel32.dll").NewProc("GetConsoleWindow")
+ var showWin = syscall.NewLazyDLL("user32.dll").NewProc("ShowWindow")
+ hwnd, _, _ := getWin.Call()
+ if hwnd == 0 {
+ return
+ }
+ if show {
+ var SW_RESTORE uintptr = 9
+ showWin.Call(hwnd, SW_RESTORE)
+ } else {
+ var SW_HIDE uintptr = 0
+ showWin.Call(hwnd, SW_HIDE)
+ }
+}
diff --git a/go.mod b/go.mod
index ef843c08..ee1d4d0d 100644
--- a/go.mod
+++ b/go.mod
@@ -23,6 +23,7 @@ require (
)
require (
+ github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 // indirect
github.com/dustin/go-humanize v1.0.0 // indirect
github.com/getlantern/context v0.0.0-20190109183933-c447772a6520 // indirect
github.com/getlantern/ema v0.0.0-20190620044903-5943d28f40e4 // indirect
diff --git a/go.sum b/go.sum
index 30f678f1..4c41cad8 100644
--- a/go.sum
+++ b/go.sum
@@ -12,6 +12,8 @@ github.com/cheggaaa/pb/v3 v3.0.8/go.mod h1:UICbiLec/XO6Hw6k+BHEtHeQFzzBH4i2/qk/o
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ=
+github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
diff --git a/src/core/core.go b/src/core/core.go
index a150ee0f..58b383d9 100644
--- a/src/core/core.go
+++ b/src/core/core.go
@@ -20,7 +20,7 @@ import (
// The Core object represents the Mesh node. You should create a Core
// object for each Mesh node you plan to run.
type Core struct {
- address Address
+
// This is the main data structure that holds everything else for a node
// We're going to keep our own copy of the provided config - that way we can
// guarantee that it will be covered by the mutex
diff --git a/src/defaults/defaults.go b/src/defaults/defaults.go
index ef358ed8..97482078 100644
--- a/src/defaults/defaults.go
+++ b/src/defaults/defaults.go
@@ -8,6 +8,12 @@ type NetworkDomainConfig = config.NetworkDomainConfig
var defaultConfig = "" // LDFLAGS='-X github.com/yggdrasil-network/yggdrasil-go/src/defaults.defaultConfig=/path/to/config
var defaultAdminListen = "" // LDFLAGS='-X github.com/yggdrasil-network/yggdrasil-go/src/defaults.defaultAdminListen=unix://path/to/sock'
+type defaultParameters struct {
+
+ //Network domain
+ DefaultNetworkDomain NetworkDomainConfig
+}
+
// Defines which parameters are expected by default for configuration on a
// specific platform. These values are populated in the relevant defaults_*.go
// for the platform being targeted. They must be set.
@@ -21,15 +27,23 @@ type platformDefaultParameters struct {
// Multicast interfaces
DefaultMulticastInterfaces []MulticastInterfaceConfig
- //Network domain
- DefaultNetworkDomain NetworkDomainConfig
-
// TUN
MaximumIfMTU uint64
DefaultIfMTU uint64
DefaultIfName string
}
+// Defines defaults for the all platforms.
+func define() defaultParameters {
+ return defaultParameters{
+
+ // Network domain
+ DefaultNetworkDomain: NetworkDomainConfig{
+ Prefix: "fc",
+ },
+ }
+}
+
func GetDefaults() platformDefaultParameters {
defaults := getDefaults()
if defaultConfig != "" {
@@ -56,10 +70,10 @@ func GenerateConfig() *config.NodeConfig {
cfg.InterfacePeers = map[string][]string{}
cfg.AllowedPublicKeys = []string{}
cfg.MulticastInterfaces = defaults.DefaultMulticastInterfaces
- cfg.NetworkDomain = defaults.DefaultNetworkDomain
cfg.IfName = defaults.DefaultIfName
cfg.IfMTU = defaults.DefaultIfMTU
cfg.NodeInfoPrivacy = false
+ cfg.NetworkDomain = define().DefaultNetworkDomain
return cfg
}
diff --git a/src/defaults/defaults_darwin.go b/src/defaults/defaults_darwin.go
index 670fca88..9698d2ba 100644
--- a/src/defaults/defaults_darwin.go
+++ b/src/defaults/defaults_darwin.go
@@ -19,11 +19,6 @@ func getDefaults() platformDefaultParameters {
{Regex: "bridge.*", Beacon: true, Listen: true},
},
- // Network domain
- DefaultNetworkDomain: NetworkDomainConfig{
- Prefix: "fc",
- },
-
// TUN
MaximumIfMTU: 65535,
DefaultIfMTU: 65535,
diff --git a/src/defaults/defaults_freebsd.go b/src/defaults/defaults_freebsd.go
index 2a50c25c..a0b8658b 100644
--- a/src/defaults/defaults_freebsd.go
+++ b/src/defaults/defaults_freebsd.go
@@ -18,11 +18,6 @@ func getDefaults() platformDefaultParameters {
{Regex: ".*", Beacon: true, Listen: true},
},
- // Network domain
- DefaultNetworkDomain: NetworkDomainConfig{
- Prefix: "fc",
- },
-
// TUN
MaximumIfMTU: 32767,
DefaultIfMTU: 32767,
diff --git a/src/defaults/defaults_linux.go b/src/defaults/defaults_linux.go
index 2c2690c7..8ade70c1 100644
--- a/src/defaults/defaults_linux.go
+++ b/src/defaults/defaults_linux.go
@@ -18,11 +18,6 @@ func getDefaults() platformDefaultParameters {
{Regex: ".*", Beacon: true, Listen: true},
},
- // Network domain
- DefaultNetworkDomain: NetworkDomainConfig{
- Prefix: "fc",
- },
-
// TUN
MaximumIfMTU: 65535,
DefaultIfMTU: 65535,
diff --git a/src/defaults/defaults_openbsd.go b/src/defaults/defaults_openbsd.go
index 3772d07b..a07092ad 100644
--- a/src/defaults/defaults_openbsd.go
+++ b/src/defaults/defaults_openbsd.go
@@ -18,11 +18,6 @@ func getDefaults() platformDefaultParameters {
{Regex: ".*", Beacon: true, Listen: true},
},
- // Network domain
- DefaultNetworkDomain: NetworkDomainConfig{
- Prefix: "fc",
- },
-
// TUN
MaximumIfMTU: 16384,
DefaultIfMTU: 16384,
diff --git a/src/defaults/defaults_other.go b/src/defaults/defaults_other.go
index 21c32160..53b68be4 100644
--- a/src/defaults/defaults_other.go
+++ b/src/defaults/defaults_other.go
@@ -18,11 +18,6 @@ func getDefaults() platformDefaultParameters {
{Regex: ".*", Beacon: true, Listen: true},
},
- // Network domain
- DefaultNetworkDomain: NetworkDomainConfig{
- Prefix: "fc",
- },
-
// TUN
MaximumIfMTU: 65535,
DefaultIfMTU: 65535,
diff --git a/src/defaults/defaults_windows.go b/src/defaults/defaults_windows.go
index 95a8cc80..b3545969 100644
--- a/src/defaults/defaults_windows.go
+++ b/src/defaults/defaults_windows.go
@@ -18,11 +18,6 @@ func getDefaults() platformDefaultParameters {
{Regex: ".*", Beacon: true, Listen: true},
},
- // Network domain
- DefaultNetworkDomain: NetworkDomainConfig{
- Prefix: "fc",
- },
-
// TUN
MaximumIfMTU: 65535,
DefaultIfMTU: 65535,