matrix-org / matrix-org/matrix-spec

Support for running "ad-hoc" servers (SPEC-122)

Open
#28 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-S2S feature
Dominant language
HTML
Stars
330
Forks
150
Avg merge
2h 21m
Merged PRs (30d)
3

Description

Lots of people have said they'd love to run a matrix server, but it'd cost too much to maintain a VPS.

It'd be fun to do the thought experiment to work out really what's needed to run a server clientside, e.g. on a phone. Obvious things that come to mind are:
- A dialect of the s-s API which lets a firewalled server always initiate connections (be it long-poll or websockets or TURN or whatever), whilst somehow handling new invites?
- .well-known URIs (#433) or dyndns SRV or whatever for discovering where the server currently is (if folks are discovering it)

(Imported from https://matrix.org/jira/browse/SPEC-122)

(Reported by @ara4n)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the s-s API ideas in this issue and the related .well-known URIs issue (#433). Compare long-polling, WebSockets, TURN, and dynamic DNS/SRV discovery as possible approaches for firewalled, clientside servers. Done would be a settled protocol design and specification for server connectivity and invite handling.

Written by the indexing model from the issue text.

Assessment

Domain
backend-api-design, distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.