Understanding Edge Node Config Files

Netrinos Edge Node keeps two separate config file in the /etc/netrinos folder. Full examples are below.

There is also a /etc/netrinos/data folder containing json files for each network and device it discovers.

In producing scripted installs, it may be advantageous to manipulate some of the settings directly.

Understanding config-edgenode.json

This file contains settings for the additional Edge Node components. If you modify these settings, make sure the service is stopped to avoid overwriting them.

LocalNet This has no context for the Edge Node and will be ignored.
Server The Web UI of the endgnode software.
Proxy The Proxy and Port Forwarding port range. This determines the ports that are suggested in the UI. But any port can be used if it is available.
Socks Settngs for the Socks5 server
Scan

Auto: determines if a scan is performed when the service starts.

Interval: If a periodic scan is required, it starts runs on this interval in minutes.

Workers: sets the number of worker threads used to scan the network. More ports means a faster scan but also more load on the network and devices. Default of 0 means one worker per CPU core.

Continuous: true means a discovery scan is scheduled to run on the interval. false means scans are only on demand or on startup.

NoScanSubnets: Do not discover these subnets. not implemented yet.

Monitor Optional feature to reboot the Internet modem if the network fails. Requires a IP controlled power outlet.

Example /etc/netrinos/config-edgenode.json

{
"LocalNet": {
"Hostname": "",
"IsStatic": false,
"LocalIPn": "",
"Gateway": "",
"DNS": ""
},
"Server": {
"IP": "0.0.0.0",
"Port": "88",
"Username": "demouser",
"Password": "Pa$$word"
},
"Proxy": {
"IP": "0.0.0.0",
"ServeIP": "192.168.10.20",
"PortStart": 10000,
"PortRange": 1000
},
"Socks": {
"IP": "0.0.0.0",
"Port": 1080
},
"Scan": {
"Auto": true,
"Interval": 60,
"Workers": 64,
"Continuous": false,
"NoScanSubnets": ""
},
"Monitor": {
"Auto": false,
"Target": ""
}
}

Understanding config.json

The config.json file contains settings and dynamic configuration for the Netrinos client. This config is common with the general Netrinos client software.

Most of this file will be overwritten when the client checks in with the config server every minute. Most items you may want to change can be changed with the Netrinos cli.

Username This is the username that the Netrinos client will connect with. It can be set with the cli.
AuthToken The username and password is only used for the initial connection. Beyond that API access is controlled with tokens. Deleting the Username and AuthToken is equivalent of logging the user out.
GUID This is a unique identifier given to each client on install. This is what determines the identity of the machine. If two devices have the same hostname, this will ensure you can tell them apart. There is no need to modify this.
AutoStart Determines if the tunnels will start when the device boots. Can be set with the CLI.
WireGuard

This section contains the dynamic configuration of your mesh network. This information will be updated by the agent and there is no need to modify it. If you do, it will be overwritten the next time it connects to the config server.

Example /etc/netrinos/config.json

{
"Username": "demouser",
"AuthToken": "abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234",
"Authenticated": true,
"AccountID": "demouser",
"Plan": "sp-edge",
"GUID": "abcd1234-abcd-1234-abcd-1234abcd1234",
"NodeName": "",
"NodeID": "hostname.demouser",
"ConfigServer": "https://app.netrinos.com",
"AutoStart": true,
"SyncInterval": 60,
"LogLevel": 1,
"Version": "1.2.0",
"Build": "240509.1650",
"Updated": "2024-05-17 22:46:32",
"Wireguard": {
...
"Servers": [
...
],
"Peers": [
...
]
}
}