forgejo/routers
techknowlogick babab0bf5e
Add nodeinfo endpoint for federation purposes (#16953)
Nodeinfo is a way to expose certain metadata about a server for use of discovery regarding functionality of its federation capabilities.

Two endpoints are required:
1. `/.well-known/nodeinfo` which informs client where it can find the location of the location of its metadata (including which version of the schema is used)
2. the endpoint which exposes the metadata in json format according to schema.

Notes:
* `openRegistrations` is a required field, but I propose to set to false as default in case someone writes a crawler to discover "open" gitea instances
* to limit data leakage I also propose to not include the `usage` field (note it is required so it should be included, but left as empty).

More info:
https://github.com/jhass/nodeinfo
https://github.com/jhass/nodeinfo/tree/main/schemas/2.1
http://nodeinfo.diaspora.software/protocol.html
2021-09-28 01:38:06 +02:00
..
api/v1 Add nodeinfo endpoint for federation purposes (#16953) 2021-09-28 01:38:06 +02:00
common Move db related basic functions to models/db (#17075) 2021-09-19 19:49:59 +08:00
install Move db related basic functions to models/db (#17075) 2021-09-19 19:49:59 +08:00
private refactor: move from io/ioutil to io and os package (#17109) 2021-09-22 13:38:34 +08:00
utils just add some unit tests (#16291) 2021-06-29 22:00:02 +01:00
web Add nodeinfo endpoint for federation purposes (#16953) 2021-09-28 01:38:06 +02:00
init.go Always emit the configuration path (#17036) 2021-09-13 21:24:57 -04:00