-
Notifications
You must be signed in to change notification settings - Fork 2
Sone
A plugin for Freenet that implements a social network (modeled after Facebook) on top of Freenet.
Sone requires the Web Of Trust plugin to discover other users, so make sure it is loaded before running Sone. The current version of Sone (0.9.8) requires at least version 1475 of Freenet!
Since version 0.6.5 Sone features an FCP interface that can be used by arbitrary applications to access Sone. As per usual, FCP requests to a plugin have to be sent using the FCPPluginMessage message, using a PluginName
of net.pterodactylus.sone.main.SonePlugin
.
All Sone commands require an identifier (using the Identifier
field name) that will be sent back in replies to make it possible to associate replies with requests. If a message contains multiple elements of the same sort (e.g. a list of posts), the fields contain a index (subsequently referred to as “n”) that is sequential and starts with 0
.
This command does not require any additional parameters.
It returns a message with the name “Version” that contains the following fields:
Version
The version of the Sone plugin, such as “0.6.5
”.
ProtocolVersion
The version of the FCP protocol. This version number is used to denote changes in the FCP protocol that require changes in clients using Sone’s FCP interface.
Returns all local Sones.
This command does not require any additional parameters.
It returns a message with the name “ListLocalSones” that contains the following fields:
LocalSones.Count
The number of local Sones.
LocalSones.*n*.ID
The ID of the local Sone
LocalSones.*n*.Name
The name of the local Sone.
LocalSones.*n*.NiceName
The formatted name of the local Sone.
LocalSones.*n*.Time
The time (in milliseconds since Jan 1, 1970 UTC) the Sone was last inserted.
Returns all known Sones. The Sones are sorted by their formatted name.
This command recognizes the following parameters:
StartSone
(optional)
The index of the first Sone to return (starting at 0
). Default is 0
.
MaxSones
(optional)
The number of Sones to return. Default is -1
, meaning “all.”
It returns a message with the name “Sones” that contains the following fields:
Count
The number of Sones being returned.
*n*.ID
The ID of the Sone
*n*.Name
The name of the Sone
*n*.NiceName
The formatted name of the Sone
*n*.Time
The time (in milliseconds since Jan 1, 1970 UTC) the Sone was last inserted.
This command returns detailed information about a Sone.
It recognizes the following parameters:
Sone
The ID of the Sone to return information about.
LocalSone
(optional)
The ID of a local Sone, used to include Sone-specific information.
It returns a message with the name “Sone” containing the following fields:
Name
The name of the Sone.
NiceName
The formatted name of the Sone.
LastUpdated
The time (in milliseconds since Jan 1, 1970 UTC) the Sone was last updated.
Followed
(only if LocalSone
was given)
true
if the given local Sone is following this Sone, false
otherwise.
Field.Count
The number of profile fields.
Field.*n*.Name
The name of the profile field
Field.*n*.Value
The value of the profile field
This command returns the post of a local Sone, all Sones it follows, and all posts that are directed at the local Sone, in other words, all posts of Sone’s index page. The posts are sorted descending by time (i.e. most recent first) and contain all replies (which are sorted by time).
It recognizes the following parameters:
Sone
The ID of the local Sone to get the post feed for.
StartPost
(optional)
The number of the first post to retrieve. Default is 0
.
MaxPosts
(optional)
The number of posts to retrieve. Default is -1
, meaning “all.”
It returns a message with the name PostFeed
containing the following fields:
Posts.Count
The number of returned posts.
Posts.*n*.ID
The ID of the post.
Posts.*n*.Sone
The ID of the Sone that wrote the post.
Posts.*n*.Recipient
(optional)
The ID of the Sone this post is directed at.
Posts.*n*.Time
The time (in milliseconds since Jan 1, 1970 UTC) this post was created.
Posts.*n*.Text
The text of the post.
Posts.*n*.Likes.Count
The number of likes this post has.
Posts.*n*.Likes.*n*.ID
The ID of a Sone that liked this post.
Posts.*n*.Replies.Count
The number of replies this post has.
Posts.*n*.Replies.*n*.ID
The ID of the reply.
Posts.*n*.Replies.*n*.Sone
The ID of the Sone that wrote the reply.
Posts.*n*.Replies.*n*.Time
The time (in milliseconds since Jan 1, 1970 UTC) the reply was written.
Posts.*n*.Replies.*n*.Text
The text of the reply.
Contains pre-compiled binaries