johnandersen777.bsky.social/atlibs-fedproxy
fedproxy and ingress modules for atlibs: SSH public keys on your PDS, did:key ingress; pages and web tiles
0
0
{
"name": "ingress",
"description": "Serve HTTP and XRPC from this module at https://did-key-<key>.xrpc.fedproxy.com, through the fedproxy did:key ingress relay.",
"didkey": {
"services": ["https://xrpc.fedproxy.com"]
},
"actions": [
{
"entry": "serve",
"label": "Serve",
"description": "Registers a did:key with xrpc.fedproxy.com and answers what reaches its host name (and each alias whose _xrpc TXT holds the did:key) until maxRequests are served or lifetimeMs passes. With forward, the host's com.fedfork.exec.ingress.request output {status, body, contentType, headers} is the response; headers: name -> string or [string].",
"fields": [
{
"key": "maxRequests",
"label": "Requests to serve"
},
{
"key": "lifetimeMs",
"label": "Lifetime (ms)"
},
{
"key": "forward",
"label": "Forward every request to the host (true)"
},
{
"key": "aliases",
"label": "Custom host names (space separated; each needs a _xrpc.<host> TXT naming this did:key)"
},
{
"key": "quietMs",
"label": "Quiet (ms): leave keepalives unanswered so the relay evicts, to test reconnect"
}
]
}
],
"config": [
{ "key": "routes", "label": "XRPC methods to route", "type": "array", "description": "NSIDs whose /xrpc/<nsid> requests become calls to that NSID (a composition edge serves each)" },
{ "key": "deadlineMs", "label": "Deadline (ms)", "type": "integer", "description": "How long a routed or forwarded call may take before the request answers 504 (default 8000)" },
{ "key": "maxRequests", "label": "Requests to serve", "type": "integer" },
{ "key": "lifetimeMs", "label": "Lifetime (ms)", "type": "integer" },
{ "key": "forward", "label": "Forward every request to the host", "type": "boolean" },
{ "key": "aliases", "label": "Custom host names", "type": "array", "description": "Each needs a _xrpc.<host> TXT naming this did:key" },
{ "key": "relay", "label": "Relay", "type": "string", "description": "default https://xrpc.fedproxy.com" }
],
"calls": [
"com.fedfork.exec.didkey.getServiceAuth",
"com.fedfork.exec.didkey.sign",
"com.fedproxy.temp.xrpc.getRegistrationNonce",
"com.fedproxy.temp.xrpc.subscribe",
"com.atproto.repo.describeRepo",
"com.fedfork.exec.ingress.request"
],
"anyHooks": true
}