10 ms·
Conduit Beta – Matrix chat server
- infogulch 5y agoCongrats! I've been watching conduit for a while and I'm glad to see it progressing so much. Matrix is moving towards a model where the 'homeserver' can be embedded in each device in order for users to fully own their identity. A lean implementation that uses an embedded database is a big enabler of that vision.
- curryst 5y agoWhat's the upside of that? Each device being it's own homeserver sounds like a huge increase in the number of federation requests. It will simultaneously make it possible to run on every device, but impractical to do because of the huge increase in federation requests. The domain name also seems more important. I can already migrate my identity to any host I want because I own the domain. If I didn't own the domain, I don't see how I could migrate "myuser@matrix.org" to my own homeserver. You don't own your identity unless you can migrate it. I still love Matrix, I just don't see who wins in an "everyone runs a homeserver on each device" scenario.
- chrismorgan 5y agoIf you can’t have everyone running their own homeserver, I’d count Matrix as having failed at federation.
- capableweb 5y agoWell, if everyone is running their own homeserver Matrix wouldn't be "federated" anymore, it would be "distributed" instead. You seem to argue for Matrix to go in two different directions :) The following graph is helpful in this context: https://networkcultures.org/unlikeus/wp-content/uploads/sites/2/2013/03/networktypes.png https://networkcultures.org/unlikeus/wp-content/uploads/site... Matrix is aiming for (B) here while you're arguing they should go all the way to (C). As long as it isn't (A), I'm personally happy.
- fragileone 5y agoThey've already stated their goal is to enable P2P Matrix in the midterm.
- capableweb 5y agoMakes it a lot of sense, and P2P is exactly what we're discussing here. But P2P can take a lot of shapes, two of those shapes are "federated" and "distributed". My issue is not that Matrix is moving towards P2P, but this particular user saying "unless everyone is running a server it's not federation" which is strictly false.
- infogulch 5y agoThe way Matrix is doing it blurs the line between "federated" and "distributed" into a continuum which is really the best of both worlds imo. The existing concept of federation as a bunch of dedicated servers constantly synchronizing with each other 24/7 will continue to work just fine. But now each individual client device will be a full federated node itself, though perhaps a bit more flaky than a normal node might be; but this isn't a problem because the matrix protocol was designed from the ground up to be robust to such issues. Based on your diagram, the system can seamlessly blend between (B) and (C) based on the needs of users. Eventually the default would become (C) while being backwards compatible with existing systems, but it might blend down to (B) if a user sets up a homeserver for friends and family, or an organization may want to have a homeserver for continuity or legal reasons etc.
- chrismorgan 5y agoI’m not saying everyone will run their own homeserver (setup/maintenance costs, maintenance skills required, and economies of scale combined guarantee some considerable degree of consolidation, as with email), but that if it should be capable of it. If it’s not capable of it, it won’t be capable of even limited federation at sufficient scale.
- feanaro 5y agoThe Matrix team is working on making identities portable, that is, not tied to a particular MXID and domain. See https://github.com/matrix-org/matrix-doc/blob/neilalexander/identities/proposals/2787-portable-identities.md https://github.com/matrix-org/matrix-doc/blob/neilalexander/...
- the_duke 5y agoVector is working on Dendrite, a new Go server implementation that is also targeting P2P, so they are definitely planning for this ise case.
- southerntofu 5y ago> 'homeserver' can be embedded in each device There's pros and cons for that. In a stateless "message passing" model having many different servers has little cost, but in a "state resolution" (consensus) model having many different servers can have a cost because servers may be offline at times (and then need to reconcile history) or have their connections blocked to other nodes. There's also the "backup" problem. You wouldn't want a user loosing their phone to lose their digital identity completely. It should be possible to craft some "social recovery" protocol using Shamir's secret sharing, but we're not quite there yet. That was for the cons, since i'm sure we're all convinced of the pros :)
- grishka 5y ago> Matrix is moving towards a model where the 'homeserver' can be embedded in each device This can't possibly be reliable, especially with mobile devices and especially with the kind of NATs that cellular carriers put up.
- genewitch 5y agoI'd be more inclined to want to check this out if there was a "click here if you already have synapse running" sort of thing. My synapse and coturn server has been running since the end of last year without any issues at all, not sure I want to: collide the name (DNS) and possibly collide the @user:homeserver stuff either, as I do have issues with people on Samsung devices and managed IT devices that delete state at the end of the day. These show up as red shields in matrix clients regardless of doing the verification.
- infogulch 5y agoI think a transition guide from synapse would be good. But I wonder if it's a good idea to make that leap for live usersright now, the title of the post is "Announcing Conduit beta" after all.
- driminicus 5y agoThere is currently no transition path from synapse to conduit. That's not to say it's impossible, there is just no work put into it, yet.
- ashton314 5y agoLiterally trying this out on a raspberry pi right before I saw this. I wanted to try building from scratch. 0 issues with compiling. Still trying to talk to it—probably just some issues with my local DNS. Very impressive to see this kind of thing though! This looks like an excellent candidate for a p2p implementation! UPDATE: It is running! I just need to get nginx set up. It was really easy to get everything else running, (really nice to not have to configure a db!) and that I think will be a boon to those interested in starting up their own home servers.
- 1MachineElf 5y agoGood luck! Please let us know how it goes.
- nucleardog 5y agoNot the guy you replied to, but I'd had my eye on Conduit for a while--after going deep down the rabbit hole dealing with Synapse, I'd given up on self-hosting Matrix for the time being and waiting for Conduit or something similar to get far enough along. After seeing the announcement, went and got it deployed out in like an hour (would've been less but I spent 45 minutes compiling because I'm running FreeBSD). The whole process was super easy. I'll have to play a bit more tomorrow--if I can figure out how to get stickers or something working I can probably convince at least my wife to move our conversations off of Telegram.
- ashton314 5y agoHere's how it went: - acquired DO droplet running FreeBSD (minimum build = $5/mo) [5 mins] - install Rust with `pkg` [2 mins] - install other important tools (git, nginx, certbot, etc.) [3 mins] - compile conduit from source [idk, something like 40 mins] Yes, building conduit takes a long time. - meanwhile, configure nginx, get certificates, etc. [concurrent with compile step] - set up daemon to run conduit [5 mins; took me more like 50 mins because this is the first daemon I've set up in rc.d–I'm a FreeBSD admin newbie, so I had to learn a bunch] - ??? - profit! All in all, remarkably slick with near-zero hiccups. Most issues result from quirks of FreeBSD that the install instructions don't cover specifically, as they're targeted for a Debian-based install. (In that case, things will go very, very fast because they hold your hand through everything. Way to go Conduit team!) Federation is working. It's largely just working. Mind flippin' blown. You do have to register on the web client https://app.element.io https://app.element.io because something is broken with the mobile SDKs I guess. Once you create an account through the web, you can sign in on Element, Fluffychat, whatever on mobile without a problem. Again, remarkably smooth setup. This is fantastic work.
- rendaw 5y agoI was trying dendrite a month back and there were some big features missing: expiring messages, message notifications. Additionally the user management endpoints were still in flux. This says the only important features missing are: * E2EE verification over federation * Outgoing read receipts, typing, presence over federation Does this mean it's more complete than dendrite?
- ashton314 5y agoQuestion about E2EE verification: that means encryption over federation works, but you can't verify the encryption over federation, yes? Like, no green checkmarks? Update: I found their burn-down chart here: https://gitlab.com/famedly/conduit/-/milestones/3 https://gitlab.com/famedly/conduit/-/milestones/3 Looks like there's a bunch of features on their roadmap that are still not yet implemented. Not sure how it shapes up to dendrite specifically.
- rendaw 5y agoIt'd be nice to see what beta means here in the announcement.
- timokoesters 5y agoCorrect, E2EE over federation works, but you can't verify the users yet
- timokoesters 5y agoExpiring messages were proposed but are not in the Matrix spec yet, see https://github.com/matrix-org/matrix-doc/pull/2228 https://github.com/matrix-org/matrix-doc/pull/2228 Message notifications work in Conduit. Another thing I forgot to mention is that Conduit only supports room versions 5 and above while Dendrite supports all of them.
- rendaw 5y agoAh sorry, I meant like only keeping messages/files around for so long on the server: https://matrix-org.github.io/synapse/v1.40/message_retention_policies.html https://matrix-org.github.io/synapse/v1.40/message_retention... I'm hosting this on a server with a small disk, and there are rooms which are lots of noise - I'd want clients to archive it if they really want to but not the server.
- tonyoconnell 5y agoThis looks wonderful and very important. In 1995, when I started working with the Internet I believed that it was going to bring freedom and equality - to allow anyone (big or small, rich or poor) to communicate with the rest of the world. It never crossed my mind the Internet would become the primary tool for corrupt governments and enterprises to censor and spy on us. In 2015 the number of users who use messaging overtook the number of users who use social media. “Messaging is the one thing people do more than anything else on their phone… this is where it’s happening. And it’s a once in a generation opportunity to build it,” said David Marcus, VP of Messaging Products. I've been building Messenger apps and using Google's conversational AI engine, Dialogflow, to listen to and respond to messages and sometimes I feel like I'm selling my soul. By 2020 AI-powered insights businesses stole $1.2 trillion for their less-informed peers according to Forrester Research. "… by understanding customers more deeply and using that insight to steal them from their competition." "Customer service and support is the most augmented business process with AI ... sales and marketing are high on the priority list," says Gartner. All this is centred around messaging, the channel where your customers spend their time. The reason I said all this is to stress how important messaging is to both businesses and individuals. I believe that messaging is the next generation of the internet. In the last few weeks, Facebook has been shown to secretly censor links sent on Messenger and Apple, as a first step to listen to our messages, announced they are going to save our children from paedophiles. I am as worried as any parent about protecting my children, from pedos and crazy people who will use secure messaging to organise terrorist attacks. But I'm more worried that my children will grow up in a world without freedom of speech and privacy. I am worried that they will live in a world where they are frightened to speak their mind because they understand that everything they say is being permanently recorded. I am worried that someday, for what they said, they may be penalised by a corrupt government, corporation or an AI. For me, the Matrix (since it sends encrypted messages directly from person to person) is one of the most important technologies that may allow my kids to grow up in a world where humans are free and safe to speak freely. The First Amendment says "Congress shall make no law ... abridging the freedom of speech, or of the press; or the right of the people peaceably to assemble..." These laws have been bent and broken and will continue to be, so that the people who break them can silence their opposition, to remain in control. It's very sad that most people in the US are not fighting to keep the very foundations that their country was built on alive. I'd like to thank the developers of Conduit and the Matrix for their efforts to keep freedom and privacy in our world. Conduit with its small footprint is a great step forward. I hope someday it will enable anyone and everyone who owns a phone to provide the infrastructure needed to communicate freely. In the meantime, I will install it on my Raspberry Pi. I suppose I should volunteer to help you guys in some way and put action to my words. I am not an engineer but if you are interested in assistance with your strategy, marketing, design, UI, website, or messaging feel free to reach out to @t0c:matrix.org I will have a look on GitHub anyway and find something to do.
- avnigo 5y agoHere's some information on Matrix too, I've only heard about it, but never looked into it or used it: https://matrix.org/docs/guides/introduction https://matrix.org/docs/guides/introduction
- ducktective 5y agoI hope Telegram adopts Matrix (alongside or instead of their own protocol). Their clients (on linux/windows/android) are really an exemplar of how should a refined snappy cross-platform app should be written.
- southerntofu 5y agoJust for reference, gitter.im did just that a while back. It's really nice to be able to join a gitter channel using a client of my choice and not a crappy web interface.
- detaro 5y ago(Although gitter.im isn't really a "third-party" adopting it, given they were aquired by Matrix developers: https://blog.gitter.im/2020/09/30/gitter-element-acquisition/ https://blog.gitter.im/2020/09/30/gitter-element-acquisition...)
- southerntofu 5y agoOh, that's interesting. I did not see any amount of money in those blogposts, do you have an idea how much it cost? Also it appears Gitter is actually not operating a matrix server, but is instead bridged with https://www.matrix.org/docs/projects/bridge/native-gitter-bridge https://www.matrix.org/docs/projects/bridge/native-gitter-br... ? Does that mean gitter.im is only reachable from matrix.org? Personally when i had to join a gitter room, i would join from my XMPP account using the @matrix.org gateway (which despite being unreliable is very nice) so i have no clue.
- detaro 5y agoSome of the Matrix folks are active on HN, maybe they mentioned something in the discussions back then? But I wouldn't be surprised if it wasn't much if anything - my impression was that Gitlab didn't really know what to do with gitter, so giving it to messaging-focused project would make some sense. No, bridged rooms generally are reachable from any instance. It's just that the bridge talks to matrix.org and matrix.org "hosts" (that's not 100% accurate afaik to how Matrix works, but close enough for this) the room just like any other matrix.org room, that is also reachable from other instances.
- southerntofu 5y agoCongratulations on the beta! Excited to try it!
- dengolius 5y agoIs it really free to all or this code have some holes for Germany government? There are many interesting news about getting access to scan private messaging for child porn detection... What are the guarantees that your code will not provide access to private correspondence?
- nynx 5y agoUh, it’s open source dude. If you’re worries, just read the source code.
- ducktective 5y agoThat(implementation) and Matrix protocol itself.
- mxuribe 5y agoI had used synapse in its early days (and really like it), and then eventually had to spin down my homeserver (not due to any synapse issues, I just didn't have bandwidth at the time to maintain host and synapse plus other experimental servers and services i was playing with)...Anyway, i recently started planning to spin up another homeserver, and was on the fence on whether to play with synapse again, try dendrite, or conduit...well, now having read the deploy readme file, i think i will give conduit a try! Kudos to the conduit contributors and maintainers!! Kudos also to all folks contributing to the greater matrix homeservers and clients, as we need plenty of solid choices!