Package: nomadnet
Nomad Network - Communicate FreelyOff-grid, resilient mesh communication with strong encryption, forward secrecy and extreme privacy.Nomad Network allows you to build private and resilient communications platforms that are in complete control and ownership of the people that use them. No signups, no agreements, no handover of any data, no permissions and gatekeepers.Nomad Network is build onLXMFandReticulum, which together provides the cryptographic mesh functionality and peer-to-peer message routing that Nomad Network relies on. This foundation also makes it possible to use the program over a very wide variety of communication mediums, from packet radio to fiber optics.Nomad Network does not need any connections to the public internet to work. In fact, it doesn't even need an IP or Ethernet network. You can use it entirely over packet radio, LoRa or even serial lines. But if you wish, you can bridge islanded networks over the Internet or private ethernet networks, or you can build networks running completely over the Internet. The choice is yours.If you'd rather want to use an LXMF client with a graphical user interface, you may want to take a look atSideband, which is available for Linux, Android and macOS.Notable FeaturesEncrypted messaging over packet-radio, LoRa, WiFi or anything elseReticulumsupports.Zero-configuration, minimal-infrastructure mesh communicationDistributed and encrypted message store holds messages for offline usersConnectable nodes that can host pages and filesNode-side generated pages with PHP, Python, bash or othersBuilt-in text-based browser for interacting with contents on nodesAn easy to use and bandwidth efficient markup language for writing pagesPage caching in browserHow do I get started?The easiest way to install Nomad Network is via pip:# Install Nomad Network and dependenciespipinstallnomadnet# Run the clientnomadnet# Or alternatively run as a daemon, with no user interfacenomadnet--daemon# List optionsnomadnet--helpIf you are using an operating system that blocks normal user package installation viapip, you can returnpipto normal behaviour by editing the~/.config/pip/pip.conffile, and adding the following directive in the[global]section:[global]
break-system-packages = trueAlternatively, you can use thepipxtool to install Nomad Network in an isolated environment:# Install Nomad Networkpipxinstallnomadnet# Optionally install Reticulum utilitiespipxinstallrns# Optionally install standalone LXMF utilitiespipxinstalllxmf# Run the clientnomadnet# Or alternatively run as a daemon, with no user interfacenomadnet--daemon# List optionsnomadnet--helpPlease Note: If this is the very first time you use pip to install a program on your system, you might need to reboot your system for the program to become available. If you get a "command not found" error or similar when running the program, reboot your system and try again.The first time the program is running, you will be presented with theGuide section, which contains all the information you need to start using Nomad Network.To use Nomad Network on packet radio or LoRa, you will need to configure your Reticulum installation to use any relevant packet radio TNCs or LoRa devices on your system. See theReticulum documentationfor info. For a general introduction on how to set up such a system, take a look atthis post.If you want to try Nomad Network without building your own physical network, you can connect to theUnsigned.io RNS Testnetover the Internet, where there is already some Nomad Network and LXMF activity. If you connect to the testnet, you can leave nomadnet running for a while and wait for it to receive announces from other nodes on the network that host pages or services, or you can try connecting directly to some nodes listed here:abb3ebcd03cb2388a838e70c001291f9Dublin Hub Testnet Nodeea6a715f814bdc37e56f80c34da6ad51Frankfurt Hub Testnet NodeTo browse pages on a node that is not currently known, open the URL dialog in theNetworksection of the program by pressingCtrl+U, paste or enter the address and selectGoor press enter. Nomadnet will attempt to discover and connect to the requested node.Install on AndroidYou can install Nomad Network on Android using Termux, but there's a few more commands involved than the above one-liner. The process is documented in theAndroid Installationsection of the Reticulum Manual. Once the Reticulum has been installed according to the linked documentation, Nomad Network can be installed as usual with pip.For a native Android application with a graphical user interface, have a look atSideband.Docker ImagesNomad Network is automatically published as a docker image on Github Packages. Image tags are one of eithermaster(for the very latest commit) or the version number (eg0.2.0) for a specific release.$dockerpullghcr.io/markqvist/nomadnet:master# Run nomadnet interactively in a container$dockerrun-itghcr.io/markqvist/nomadnet:master--textui# Run nomadnet as a daemon, using config stored on the host machine in specified# directories, and connect the containers network to the host network (which will# allow the default AutoInterface to automatically peer with other discovered# Reticulum instances).$dockerrun-d\-v/local/path/nomadnetconfigdir/:/root/.nomadnetwork/\-v/local/path/reticulumconfigdir/:/root/.reticulum/\--networkhostghcr.io/markqvist/nomadnet:master# You can also keep the network of the container isolated from the host, but you# will need to manually configure one or more Reticulum interfaces to reach other# nodes in a network, by editing the Reticulum configuration file.$dockerrun-d\-v/local/path/nomadnetconfigdir/:/root/.nomadnetwork/\-v/local/path/reticulumconfigdir/:/root/.reticulum/\ghcr.io/markqvist/nomadnet:master# Send daemon log output to console instead of file$dockerrun-ighcr.io/markqvist/nomadnet:master--daemon--consoleTools & ExtensionsNomad Network is a very flexible and extensible platform, and a variety of community-provided tools, utilities and node-side extensions exist:NomadForum(GitHub mirror)NomadForecastmicron-blogmd2muAny2MicronConverterSome nomadnet page examplesMore nomadnet page examplesLXMF-BotLXMF MessageboardLXMEventPOPRLXMF ToolsHelp & DiscussionFor help requests, discussion, sharing ideas or anything else related to Nomad Network, please have a look at theNomad Network discussions pages.Support Nomad NetworkYou can help support the continued development of open, free and private communications systems by donating via one of the following channels:Monero:84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5wEthereum0x81F7B979fEa6134bA9FD5c701b3501A2e61E897aBitcoin3CPmacGm34qYvR6XWLVEJmi2aNe3PZqUuqKo-Fi:https://ko-fi.com/markqvistDevelopment RoadmapNew major featuresNetwork-wide propagated bulletins and discussion threadsCollaborative maps and geospatial information sharingFacilitation of trade and barterMinor improvements and fixesLink status (RSSI and SNR) in conversation or conv listCtrl-M shorcut for jumping to menuShare node with other users / send node info to userFix internal editor failing on some OSes with no "editor" aliasPossibly add a required-width headerImprove browser handling of remote link closeBetter navigation handling when requests fail (also because of closed links)Retry failed messages mechanismRe-arrange buttons to be more consistentInput field for pagesPost mechanismTerm compatibility notice in readmeSelected icon in conversation listPossibly a Search Local Nodes functionPossibly add via entry in node info box, next to distanceCaveat EmptorNomad Network is beta software, and should be considered as such. While it has been built with cryptography best-practices very foremost in mind, ithas notbeen externally security audited, and there could very well be privacy-breaking bugs. If you want to help out, or help sponsor an audit, please do get in touch.Screenshots