Skip to content
Alessandro Gubitosi edited this page Feb 19, 2021 · 4 revisions

Leggi in Italiano


Semantic Decentralized Ninuxoo

Ninuxoo claim

Beta version


.preamble

What is Ninuxoo

Ninuxoo is a local search engine and file indexer made by Clauz for the Ninux Wireless Community Network


What's the difference with previous versions

The first Ninuxoo version is a centralized Server application, which widely explore an indexed Wireless Comunity Network (IPV4 blocks 192.168/16, 172.16/12 and 10/8), searching (machine-by-machine) resources to scan.
This application is very useful and stimulate neighbors/community relations, also between rural areas.
Great Job!

But there's a little problem:
it's very very energy expensive, after pressing RETURN your local machine will look like a local Nuclear Reactor Core...


Not sustainable when a Network contains a lot of resources to scan periodicly...


Semantic Decentralized Ninuxoo

Working principle

This Ninuxoo version is a decentralized approach to solve this issue... Most NAS devices have a preinstalled Server software that can easily provide their tree-list on-demand.
Therefore, why not leave them this "tiring" work?

In this way, remote servers can periodically scan itself and export the tree-list in API directory, so the Main Server will need only to load a simple text file:
stop scanning remote directories, just agreed machines to share their indexes!

Obviously, decentralized owners are also encouraged to install and use their local Ninuxoo version, because:

  1. Is a personal, local network search and archive engine
  2. Is customizable with plugins like a local Meteo map, which works also with Meteo Station sensors (UPDATE 2021-02-19 - "and also with smart devices")...
  3. Resources through network can share resources though their-self, with a basic RSA key-pairing (UPDATE 2021-02-19 - "can now exchange through crypto-coins")
    See the Tokens and keys description (in italian) Grafico sistema di funzionamento



Documentation

Istalling and configuring

First you need to clone this repo:

$ git clone [email protected]:gubi/Ninuxoo-Semantic-Decentralized.git

Automatic - via installer

Simply launch your localhost from browser, the installer will provide to create all config files.

Manual installation

Then, create and edit a config.ini file, which contains all data required to run.
Once you have configured samba directories, you can launch scan.php via terminal

$ php scan.php

or via browser: http://LOCALHOST/scan.php

This script check samba directories specified in the config.ini file, then start a scan recursion and save the listing in the API folder also specified in the config.ini.

Configure Cron

Add these lines to your crontab:

$ crontab -e
# Ninuxoo Local scan job
00 */6 * * * root /usr/bin/php /var/www/scan.php

Notes

  • The script scan.php can be launched manually or via cron, as described above

Note for the owner of the Main Server

If you want that your server checks remote NAS, just point the crawler to config.ini file for retrieve further instructions about listing output position.
The script scan.php generates three files type of listing:

  • listing (simple list)
  • listing.json (JSON array)
  • listing.list (INI array)

Choose one to parse as you like :)

License

This is an Open Source Project.
Feel free to edit and improve as you like.
For further info, please see the License section.