====== Software ====== [[:start|SolarNET.HuB (SNH)]] is a multi-layer project that includes, among other things, a physical object in the form of a pre-configured easy-to-use device. Our current [[https://en.wikipedia.org/wiki/Software|software]] design includes everything you need to work autonomously, safely and ecologically, and it is able to run all the [[kit/hardware|hardware]] it contains, including a [[/kit/hardware#raspberry_pi|RaspberryPi]], a [[kit/hardware#pijuicebc7x|PiJuice BC7X]] power platform (a battery) and a [[kit/hardware#pijuicesolar_panel|Solar Panel]]. The [[kit:overview|kit]] contains a required minimum components for proper operation, although it is totally expandable. When you [[stock/submit_request|submit your request]] to acquire one, you can choose if you want to start from the basic kit or from versions with more components. ===== Deployment ===== We have paranoically and efficiently configured all the layers that make it up, including encryption and distribution of data, to prevent a [[https://en.wikipedia.org/wiki/Single_point_of_failure|single failure point]]. {{ :kit:snh_schema-by-security.png?400 |}} In addition, we have built a whole [[https://en.wikipedia.org/wiki/Operating_system|Operating System]] from scratch, safe, multilayer and resilent. In case of any failure related to software, when restarting the kit everything will be restored as when you have acquired it. {{ :kit:snh_schema-by-technologies.png?400 |}} Through a container technology, we managed to differentiate the most internal part of the artifact from the part that uses who acquires it, so that it is very complicated that something can fail. We have also created an update system using [[https://en.wikipedia.org/wiki/Cloud_computing|Cloud Computing]], which facilitates having the latest versions without losing data and almost immediately for all the inhabitants that requires it. {{ :kit:snh_schema_by_containers.jpg?400 |}} ===== Booting ===== In the following video we can see how the __first prototype [01/2023]__ of the [[kit:overview|kit]] starts since the electric cable is connected, until it shows the desktop applications. {{ :kit:snh-kit-desktop.jpg?nolink&600 |}} Because it must make checks to obtain the most optimal resolution (in this case HDMI_TV: 1920x1080), the __start time is__: **42 seconds** {{ :kit:snh-kit-booting.webm |}} ===== List of components ===== * Kernel (Core) * Operating System (Core) * Containers (Core) * Distribution (Core) * Base (Core) * Management (Apps) * Privacy (Apps) * Internet (Apps) * Project Network (Apps) * CryptoMarket (Apps) ==== Kernel ==== [[:start|SolarNET.HuB (SNH)]] starting prototype has compilation and configured its own [[https://en.wikipedia.org/wiki/Kernel_(operating_system)|kernel]] so that it works correctly and safely with [[kit/hardware#raspberry_pi|Raspberrypi]] (64-Bit) and all [[kit/software|software]] (Operating system and applications) and [[kit/hardware|hardware]] (peripherals and sensors) that the [[kit:overview|kit]] has. {{ :kit:kernel_layout.png?nolink&600 |}} ''snh% Linux raspberrypi3-64 5.4.72-v8 #1 SMP PREEMPT Mon Oct 19 11:12:20 UTC 2020 aarch64 GNU/Linux'' ==== Operating System ==== [[:start|SolarNET.HuB (SNH)]] starting prototype has compilation and configured its own [[https://en.wikipedia.org/wiki/Operating_system|Operating system]] (from scratch) that we have baptized as "**SNH-OS**". It has been built using a [[https://en.wikipedia.org/wiki/Linux|Linux]] distribution system for embedded devices called [[https://en.wikipedia.org/wiki/Yocto_Project|Yocto]]. **Build Configuration:** * BB_VERSION = "1.46.0" * BUILD_SYS = "x86_64-linux" * NATIVELSBSTRING = "universal" * TARGET_SYS = "arm-poky-linux-gnueabi" * MACHINE = "raspberrypi3" * DISTRO = "poky" * DISTRO_VERSION = "3.1.13" * TUNE_FEATURES = "arm vfp cortexa7 neon vfpv4 thumb callconvention-hard" * TARGET_FPU = "hard" ''snh% Poky (Yocto Project Reference Distro) 3.1.13 raspberrypi3-64'' ==== Containers ==== [[:start|SolarNET.HuB (SNH)]] starting prototype is using a system of containers to isolate content called [[https://en.wikipedia.org/wiki/Docker_(software)|Docker]]. ==== Distribution ==== [[:start|SolarNET.HuB (SNH)]] starting prototype is using, inside the [[https://en.wikipedia.org/wiki/Containerization_(computing)|container technology]], a top-level layer OS distribution that supports [[https://en.wikipedia.org/wiki/ARM_architecture_family|ARM architecture family]] for 64-Bits kernel, and that contains a fully functional base package system, called [[https://en.wikipedia.org/wiki/Debian|GNU/Linux Debian]]. **OS Release:** * PRETTY_NAME="Debian GNU/Linux 10 (buster)" * NAME="Debian GNU/Linux" * VERSION_ID="10" * VERSION="10 (buster)" * VERSION_CODENAME=buster * ID=debian * HOME_URL="https://www.debian.org/" * SUPPORT_URL="https://www.debian.org/support" * BUG_REPORT_URL="https://bugs.debian.org/" ''snh% Debian GNU/Linux 10 (buster)'' ==== Base ==== [[:start|SolarNET.HuB (SNH)]] starting prototype contains a fully functional base package system that allows you to make, within the possibilities of the [[kit:hardware|hardware]], a large number of operations: network connections, device discovery, open documents, file handling, packages decompression, etc. === Display === The [[kit:overview|kit]] allows you to use any screen, including tactical, which can be connected by an [[https://en.wikipedia.org/wiki/HDMI|HDMI]] cable. We have included an application so you can handle the display configuration, change the resolution (and other display options), even double the screen. === Keyboard === The [[kit:overview|kit]] allows you to use any USB keyboard, although it contains a virtual keyboard application that you can use with a tactical screen or with the mouse. === Files === The [[kit:overview|kit]] allows you to operate with files and folders like any other computer. It has a [[https://en.wikipedia.org/wiki/Unix_security|UNIX permissions]] system and all common file manipulation functions: copy, paste, delete, move, etc. === X11/Matchbox (Window Manager) === The [[kit:overview|kit]] uses a window manager designed for embedded and based on the [[https://en.wikipedia.org/wiki/X_Window_System|X Window System]] called [[https://en.wikipedia.org/wiki/Matchbox_(window_manager)|Matchbox]], so you can handle applications more intuitively and visual. === Comman (Networking) === The [[kit:overview|kit]] uses a connection manager for embedded devices called [[https://en.wikipedia.org/wiki/ConnMan|ConnMan]] which is designed to be slim and to use as few resources as possible. It is a fully modular system that can be extended, through plug-ins, to support all kinds of [[https://en.wikipedia.org/wiki/Wired_communication|wired]] or [[https://en.wikipedia.org/wiki/Wireless|wireless]] technologies. === Bluetooth === The [[kit:overview|kit]] allows you to connect to other devices through [[https://en.wikipedia.org/wiki/Bluetooth|Bluetooth]] technology, for example, to **__get internet directly from a mobile phone__**. ==== Management ==== [[:start|SolarNET.HuB (SNH)]] starting prototype contains a fully functional management system composed of different tools. === Screenshooter === The [[kit:start|kit]] allows you to take [[https://help.gnome.org/users/gnome-help/stable/screen-shot-record.html.en|screenshots]], which is interesting, for example, **__to share in technical support tasks__**. === Clipboard === The [[kit:start|kit]] has a [[https://developer-old.gnome.org/gtkmm-tutorial/stable/chapter-clipboard.html.en|clipboard]] that allows you to copy, cut and paste in a simple way and having a history of the operations. === Notes === The [[kit:start|kit]] allows you to quickly and easily take [[https://wiki.gnome.org/Apps/Notes|notes]]. === Text Editor === The [[kit:start|kit]] has a text editor called [[https://en.wikipedia.org/wiki/Gedit|Gedit]] that emphasizes simplicity and ease of use, with a clean and simple [[https://en.wikipedia.org/wiki/Graphical_user_interface|GUI]]. ==== Privacy ==== [[:start|SolarNET.HuB (SNH)]] starting prototype contains different measures to protect the [[https://en.wikipedia.org/wiki/Information_privacy|information privacy]] and [[https://en.wikipedia.org/wiki/Confidentiality|confidentiality]], through the use of [[https://en.wikipedia.org/wiki/Encryption|encryption]] and the correct routed/storage of the data. The [[kit:start|kit]] **__does not keep logs__** that are privacy-relevant for the user (it only has some related to system performance), so that if it falls into unwanted hands, it is very complicated to make [[https://en.wikipedia.org/wiki/Reverse_engineering|reverse engineering]] of the previous actions. It also **__routes connections through proxies__** (including [[https://en.wikipedia.org/wiki/Domain_Name_System|DNS]] resolutions) making practically impossible the discovery of the origin of requests and **__only allows access through encrypted channels__** with the aim of making more difficult possible data interception attacks (ex: [[https://en.wikipedia.org/wiki/Man-in-the-middle_attack|Man-in-the-middle attack]]). === Polipo === The [[kit:start|kit]] has a lightweight caching and forwarding web proxy server called [[https://en.wikipedia.org/wiki/Polipo|Polipo]]. {{ :kit:polipo_example.png?nolink&600 |}} It has a wide variety of uses, from aiding security by filtering traffic; to caching web, DNS and other computer network lookups for a group of people sharing network resources; to speeding up a web server by caching repeated requests. It can be configured to use on-disk cache and serve cached content when offline and perform various forms of content filtering. === DNSMasq === The [[kit:start|kit]] has a lightweight, easy to configure DNS (encrypted) forwarder, designed to provide DNS (and optionally DHCP and TFTP) services to a small-scale network called [[https://en.wikipedia.org/wiki/Dnsmasq|DNSMasq]]. It can serve the names of local machines which are not in the global DNS. === TOR === The [[kit:start|kit]] has an anonymous communication system called [[https://en.wikipedia.org/wiki/Tor_(network)|Tor]]. {{ :kit:tor-schema.jpeg?nolink&600 |}} Using it makes more difficult to trace a user's Internet activity because it directs Internet traffic through a free, worldwide, volunteer overlay network, consisting of more than six thousand relays, to conceal a user's location and usage from anyone performing network surveillance or traffic analysis. ==== Internet ==== [[:start|SolarNET.HuB (SNH)]] starting prototype has different applications related to the use of the Internet (surfing the web, sending and receiving email, chatting, making [[https://en.wikipedia.org/wiki/Voice_over_IP|VoIP]] calls, etc.), which are configured by default with certain paranoia parameters that allow a safe experience. So all of these Internet related applications do not keep cookies, delete the history of use when closing, use encrypted channels ([[https://en.wikipedia.org/wiki/HTTPS|HTTPS/SSL]]) and always connect through the [[kit/software#privacy|Tor network]]. === Firefox === The [[kit/overview|kit]] has a web browser called [[https://en.wikipedia.org/wiki/Firefox|Mozilla Firefox]]. It uses the Gecko rendering engine to display web pages, which implements current and anticipated web standards. === Thunderbird === The [[kit/overview|kit]] has an email client, personal information manager, news client, RSS and chat client called [[https://en.wikipedia.org/wiki/Mozilla_Thunderbird|Mozilla Thunderbird]]. === Mumble === The [[kit/overview|kit]] has a [[https://en.wikipedia.org/wiki/Voice_over_IP|voice over IP]] (VoIP) application called [[https://en.wikipedia.org/wiki/Mumble_%28software%29|Mumble]]. ==== Project Network ==== [[:start|SolarNET.HuB (SNH)]] starting prototype contains its [[socialnet/overview|own project network]] and [[:socialnet/ecosystem|ecosystem]] based on a [[https://en.wikipedia.org/wiki/Mesh_networking|mesh network]] called [[https://en.wikipedia.org/wiki/Secure_Scuttlebutt|Secure Scuttlebutt (SSB)]]. {{ :kit:mesh-network-example.jpeg?nolink&600 |}} We are [[socialnet/engineering|developing new functionalities]] and much of our effort focuses on [[:socialnet/snh|building a stable community]]. You can visit the [[:project/roadmap#the_project_network|roadmap]] to see what state is the current development and what are the future implementations that are desired to achieve. ==== CryptoCurrency ==== [[:start|SolarNET.HuB (SNH)]] contains its [[https://ecoin.03c8.net/#implementations|own cryptocurrency]] called [[https://ecoin.03c8.net/|ECOin]]. [[https://ecoin.03c8.net/|ECOin]] is **a crypto-currency with the goal of providing a long-term energy-efficient digital economy strategy.** This tool provides [[https://ecoin.03c8.net/#intro|a currency mining system]] technology for __autonomous generation by solar energy__. It is the only crypto in the market that implements such a sophisticated mining system: Proof-Of-Work Proof-Of-Stake Proof-Of-Transaction This allows the inhabitants of the [[:kit/overview|kit]] to **__access an economic and market system, totally sustainable__**.