Open christroutner opened 5 years ago
From looking at other Tor search engines and currated list websites, the model needs to add the following entries:
categoryStr
- A string description of the category for the site.categoryInt
- An array of integers. Each integer represent an entry in a list of standard categories. (list to be created). This will allow sites to assign themselves to standard categories for easy automated categorization.
As a Mirror, my primary value to the network is to maintain and share an accurate, curated list of Servers and Mirrors in the network.
The scope of this Feature Set is to create, maintain, and syndicate a list of peers. Features:
Create a JSON document which contains entries of servers. Each entry has the following properties:
promoted
- Boolean indicating if this server is promoted or not. promoted Servers are expected to be at the top of the list.lastUpdated
- UTC string timestamp of when the Mirror last pinged the server successfully.timesChecked
- The number of times the server has been checked since the last server response.onionUrl
- string of the tor .onion urlclearUrl
- string of the clearnet urltrust
- float between 0.0 and 1.0 representing how much this Mirror 'trusts' the Servermessage
- 500 character message uploaded by the serverserverType
- typically has value ofserver
ormirror
, but could be expanded in the future.Each server in the list is periodically queried to test for aliveness. If the server does not respond, the
timesChecked
value is incremented. When it goes above 5, the server is removed from the list.Create a publically available REST GET endpoint where this JSON document can be downloaded. This will be a standard endpoint offered by each Mirror. It can be queried by other Mirrors in the network to mimic a gossip network, allowing Mirrors to disseminate information about new sites.
Write the JSON document to an Orbit DB docstore and syndicate it over IPFS.
The Mirror will periodically download the last 100 entries from the global OrbitDB log-based database. It will diff entries in this list from the entries in its own list. The remaining servers will be tested for aliveness. If successful, a new server will be added to the list.