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/ui/mesh-ui/ui/index.html b/contrib/ui/mesh-ui/ui/index.html
index 4d0265fb..371c833f 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 83c632a7..b30620e4
--- a/contrib/ui/mesh-ui/webview.go
+++ b/contrib/ui/mesh-ui/webview.go
@@ -21,7 +21,6 @@ import (
"github.com/RiV-chain/RiV-mesh/src/admin"
"github.com/docopt/docopt-go"
)
-
var usage = `Graphical interface for RiV mesh.
Usage:
@@ -39,9 +38,11 @@ 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:], "0.0.1")
+ opts, _ := docopt.ParseArgs(usage, os.Args[1:], uiVersion)
opts.Bind(&confui)
if !confui.Console {
Console(false)
@@ -220,6 +221,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/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,