Lab project -1?
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-22 02:44:24 +01:00
cmd . 2026-07-30 17:49:02 +01:00
internal ­ 2026-08-22 02:44:24 +01:00
.gitignore something 2025-09-24 22:54:08 +01:00
COPYING add AGPL license and also sign raw body in /sign 2025-05-19 01:18:04 +01:00
go.mod . 2026-07-30 17:49:02 +01:00
go.sum . 2026-07-30 17:49:02 +01:00
README.md ­ 2026-08-22 02:44:24 +01:00

kusunoki

software you don't need, that i barely use

go away

setup

  1. GOEXPERIMENT=jsonv2 go build -o kusunoki cmd/fed-server.go
  2. ./kusunoki -generate and edit config.json
  3. run it
  4. reverse proxy. ideally only /_matrix/key/v2/server /_matrix/federation/v1/version, in case API auth breaks

usage

use the bearer token in config to authenticate.

POST /_ks/send/{server} - send federation transactions to a server. body matches /_matrix/federation/v1/send

<any method> /_ks/request/{server}/{path} - send any kind of request to server. path is prepended with /_matrix/federation but i'll fix that later.

POST /_ks/sign - returns the JSON body, but signed by the server's federation keys.

POST /_ks/{join|leave|knock}/{room}/{localpart} - join, knock on, or leave a room

name

this is named after yua kusunoki from chaos;head. i forgot the exact reason behind the name.