Difference between revisions of "Mesh/Firmware/Overview"

no edit summary
Line 44: Line 44:


If you'd like to add your ssh key to the router (instead of using a root password), add it to the <tt>configs/authorized_keys</tt> file. You'll see that there are 3 other keys there for our developers. You can remove them if you'd like, but they're currently the only way we can provide remote support. During the alpha test phase we ask that you consider whether you are able to do diagnostics/debugging yourself before you remove them.
If you'd like to add your ssh key to the router (instead of using a root password), add it to the <tt>configs/authorized_keys</tt> file. You'll see that there are 3 other keys there for our developers. You can remove them if you'd like, but they're currently the only way we can provide remote support. During the alpha test phase we ask that you consider whether you are able to do diagnostics/debugging yourself before you remove them.
= OpenWRT Build =
The SudoMesh project maintains firmware builds for a certain set of Wireless routers (home nodes) and extender antennas. The code used to create these builds is available in [https://github.com/sudomesh/sudowrt-firmware SudoWRT-Firmware]. These firmware builds are a
== Included Software Packages ==
The SudoWRT-Firmware code contains a configured list of software packages that are included within the builds for home nodes and the extender antennas.
* Home Node Packages - [https://github.com/sudomesh/sudowrt-firmware/blob/master/openwrt_config/packages openwrt_config/packages]. * Extender Antenna Packages - [https://github.com/sudomesh/sudowrt-firmware/blob/master/openwrt_config/packages.extender-node openwrt_config/packages.extender-node]
=== libopenssl ===
[libopenssl]
=== uhttpd ===
[https://wiki.openwrt.org/doc/howto/http.uhttpd uhttpd] is an efficient and stable web server daemon, suitable for lightweight tasks commonly used with embedded devices and proper integration with [https://wiki.openwrt.org/doc/uci OpenWrt's configuration framework (UCI)]. In particular, it is configured by default for the [https://wiki.openwrt.org/doc/techref/luci LuCI web interface] to administer OpenWrt.
=== uhttpd-mod-ubus ===
[https://wiki.openwrt.org/doc/techref/ubus#access_to_ubus_over_http uhttpd-mod-ubus] is a module for uhttpd that acts as a proxy between the HTTP interface of the home node, and the local ubus that is available to processes running on the home node.
= Web Interface =
The [https://wiki.openwrt.org/doc/howto/webinterface.overview web interface] for OpenWRT is supported by a framework of components known as [https://wiki.openwrt.org/doc/techref/luci LuCI].


= Discovering Network Configuration =
= Discovering Network Configuration =
Line 91: Line 117:
SudoMesh uses a modified version of [https://github.com/sudomesh/babeld babeld], with support for adding or removing interfaces while babeld is running added.  
SudoMesh uses a modified version of [https://github.com/sudomesh/babeld babeld], with support for adding or removing interfaces while babeld is running added.  


== Exit Node ==
= Exit Node =


Every home node routes traffic to the exit node that was setup for PeoplesOpen.net. This exit node acts as the gateway from the Virtual Private Network (VPN) used by PeoplesOpen.net to contain the SudoMesh network to the Internet.
Every home node routes traffic to the exit node that was setup for PeoplesOpen.net. This exit node acts as the gateway from the Virtual Private Network (VPN) used by PeoplesOpen.net to contain the SudoMesh network to the Internet.
= Extender Antenna Nodes =
A client/server system called [https://github.com/sudomesh/notdhcp notdhcp] was developed to help extender nodes obtain an IP address and establish a trust relationship with a SudoMesh home node upon physical connection.
As of May 2016 the wired interface between the extender node and the home node does not use SSL for communication, however this is planned for implementation after the completion of the [https://github.com/sudomesh/ubus-https-forwarder ubus-https-forwarder].
The ubus-https-forwarder software will be responsible for enabling the home nodes to receive requests on the HTTP interface provided by [https://wiki.openwrt.org/doc/techref/ubus#access_to_ubus_over_http uhttpd-mod-ubus] that are addressed for the extender nodes instead of the home node, and then forwarding those requests to the extender nodes.
Authentication is required when accessing the ubus HTTP interface, which may not yet be setup for the extender nodes. A possible approach is to update [https://github.com/sudomesh/notdhcp notdhcp] so that it provisions a password to the extender node upon physical connection. Then the notdhcp server could make the password available to the home node or the web interface client.
128

edits