nodeinfoextension

package module
v0.0.0-...-4b4eca6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 29, 2024 License: GPL-3.0 Imports: 3 Imported by: 1

README

nodeinfo: metadata survey

This is a living survey and document, about the optional metadata field usage of the nodeinfo.
Therefore, we have a table of common known keys used and propose a default one, for other projects who have not jet decided.

Proposed Standard Description Mastodon Diaspora misskey Plume gnusocial firefish Juick Immers Space brutalinks PeerTube
->nodeAdmins string: node admin account id adminAccount - - - -
nodeName string: name the node give itselve nodeName nodeName nodeName nodeName nodeName nodeName - - nodeName nodeName
- bool: indicate of feature set - xmppChat - - - - - - -
- map: camo settings on that node - camo - - - - - - -
- list[map]: ? - - announcements - - - - - - -
nodeDescription string: short desc. of node nodeDescription - nodeDescription - nodeDescription - nodeDescription - - nodeDescription
- bool: indicate of feature set - - enableDiscordIntegration - - enableDiscordIntegration - - - -
- bool: indicate of feature set - - enableEmail - - enableEmail - - - -
- bool: indicate of feature set - - enableGithubIntegration - - enableGithubIntegration - - - -
- bool: indicate of feature set - - enableRecaptcha - - enableRecaptcha - - - -
- bool: indicate of feature set - - enableServiceWorker - - enableServiceWorker - - - -
- bool: indicate of feature set - - enableTwitterIntegration - - enableTwitterIntegration - - - -
- list[string]: 2 leter lang idicators - - langs - - langs - - - -
-> nodeAdmins map: node admin info - - maintainer - - maintainer - - - -
- int: max text length for post - - maxNoteTextLength - - maxNoteTextLength - - - -
- string: ? - - proxyAccountName - - proxyAccountName - - - -
- string: ? - - relayActor - - - - - - -
- list[string]: ? - - relays - - - - - - -
- map:[string]: missing parts of software on defaut node info !!! - - - - software - - - software -
- list[string]: ? - - - - features - - - - -
- list[string]: ? - - - - postFormats - - - - -
- int: ? - - - - uploadLimit - - - - -
- (proprietary) node admin mail - - - - - - email - - -
- string: ? - - - - - - - WebCollectibles - -
- string: URL to TermsOfService - - - - - tosUrl - - - -
- bool: indicate of feature set - - - - - disableLocalTimeline - - - -
- bool: indicate of feature set - - - - - disableRecommendedTimeline - - - -
- bool: indicate of feature set - - - - - disableGlobalTimeline - - - -
- bool: indicate of feature set - - - - - emailRequiredForSignup - - - -
- bool: indicate of feature set - - - - - searchFilters - - - -
- bool: indicate of feature set - - - - - postEditing - - - -
- bool: indicate of feature set - - - - - postImports - - - -
- bool: indicate of feature set - - - - - enableHcaptcha - - - -
- int: ? - - - - - maxCaptionTextLength - - - -
- string: hex color of theme - - - - - themeColor - - - -
nodeAdmins list:{name,account,mail} NO - nodeAdmins - - - - - - -
- config map - - - - - - - - - nodeConfig
- map:{postsName} - - - - - - - - - taxonomy

TODO: document Pleroma metadata e.g. use example instance

Platforms by nodeinfo version

2.2 (draft)
2.1 (latest)
2.0
1.1
1.0

Documentation

Index

Constants

View Source
const (
	// software
	SoftwareBrutalinks = "brutalinks"
	SoftwareDiaspora   = "diaspora"
	SoftwareFirefish   = "firefish"
	SoftwareJuick      = "juick"
	SoftwareMeisskey   = "meisskey"
	SoftwareMisskey    = "misskey"
	SoftwareSocialhome = "socialhome"

	// extension keys
	KeyAdmins      = "nodeAdmins"
	KeyDescription = "nodeDescription"
	KeyName        = "nodeName"
)

Variables

View Source
var ErrNoSoftwareName = errors.New("nodeinfo does not contain name of software")

Functions

This section is empty.

Types

type NodeAdmin

type NodeAdmin struct {
	Email   string `json:"email"`
	Account string `json:"account"`
	Name    string `json:"name"`
}

type NodeinfoExtension

type NodeinfoExtension struct {
	NodeName        string      `json:"nodeName"`
	NodeDescription string      `json:"nodeDescription"`
	NodeAdmins      []NodeAdmin `json:"nodeAdmins"`
}

func ParseAndFix

func ParseAndFix(info *nodeinfo.Node) (*NodeinfoExtension, error)

ParseAndFix return well known nodeinfo metadata extensions in a standard way and also fix the nodeinfo based on known quirks of a software

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL