New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider options for discovering homeservers on a local network #1444

Open
turt2live opened this Issue Jul 21, 2018 · 6 comments

Comments

Projects
None yet
4 participants
@turt2live
Copy link
Member

turt2live commented Jul 21, 2018

There are some fairly limited use cases where this would apply, therefore whatever discovery mechanism that is chosen should be optional for the homeserver to implement and use.

Some use cases for this would be a common chat server at an event (LAN party, etc) where the server could be anywhere and the devices could be anywhere on the network. For ease of setup, it would be nice to have a way to "discover" homeserver(s) on the network so people can connect more easily. Other use cases include industrial control systems, IoT, etc where the devices may not be easily configured.

There's quite a few discovery mechanisms out there that could be used. One option could be a well-defined format for UDP broadcasts (a suggestion is here), however this may not be the best way. This issue to gauge interest in this functionality, and to come up with alternatives that may be a better fit.

@turt2live turt2live added the feature label Jul 21, 2018

@Half-Shot

This comment has been minimized.

Copy link
Contributor

Half-Shot commented Jul 24, 2018

The idea of being able to go to a a conf/hackathon and finding homeservers by being on the network sound super awesome to me, but I wonder if we can fill this need with existing protocols rather than making a matrix specific solution.

I'd also love for this to work inside a browser, and I guess it could if we defined a common endpoint to request homeservers from.

@turt2live

This comment has been minimized.

Copy link
Member Author

turt2live commented Jul 24, 2018

Where would one request homeservers from though?

@Half-Shot

This comment has been minimized.

Copy link
Contributor

Half-Shot commented Jul 24, 2018

Can we not do some DNS magic that works over the network to point to a source of truth, or perhaps the homeserver itself?

@turt2live

This comment has been minimized.

Copy link
Member Author

turt2live commented Jul 24, 2018

In my experience, people at events tend to disregard the supplied DNS servers in favour of whatever they want, so it wouldn't work too well.

@florianjacob

This comment has been minimized.

Copy link
Contributor

florianjacob commented Jul 24, 2018

Elaborating on the DNS magic: How about using DNS-SD, backed by mDNS for ad-hoc LAN party networks, and backed by regular DNS in more controlled environments? In contrast to a custom UDP broadcast, that would allow to blend in with other services announced over DNS-SD in the local network, reuse the tooling that's already out there and keep the work required on our matrix side at a minimum.

Regarding tooling: On Linux, systemd-resolved has become a much nicer replacement for avahi, Apple invented the protocols, Android supports them since 4.1, and even Windows 10 has gained built-in support for mDNS/DNS-SD these days, at least in Modern UI Apps.

Webclients would still need the user to use a native DNS-SD discovery app like the network neighborhood view of a file manager or a browser add-on for discovering the local servers, though.

@julianfoad

This comment has been minimized.

Copy link

julianfoad commented Jan 12, 2019

Discovery is surely important for any office-based company or organization: nearly all users should register and sign in on their company's server by default.

In a system that's intended to be decentralized, clients suggesting a "default" server at matrix.org should be considered a wart. What would ideal decentralization look like? Every home has a homeserver, usually hosted as a service somewhere else but on this home's domain name. In a home like mine, sign-up and sign-in for my family members has to be dead simple else they won't use it at all.

So I think this feature is not for limited cases but universally needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment