conduit
The Lounge
conduit | The Lounge | |
---|---|---|
18 | 61 | |
- | 5,412 | |
- | 1.1% | |
- | 9.3 | |
- | 8 days ago | |
TypeScript | ||
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
conduit
-
Advice for a small Matrix server
I'd like to suggest Conduit. I found it very easy to install and maintain. https://gitlab.com/famedly/conduit
-
Matrix 2.0: How we’re making Matrix go voom
> "At least as standard" how?
There are 8 people who vote on changes to the Matrix spec (the Spec Core Team), 7 of which are Element employees (including Matthew, Element's CEO). Element also controls the development of clients and servers used by the large majority of users in the public federation.
> A substantial portion of the IRC comunity is actively hostile to the IRCv3 extensions, and in some cases prefer incompatible implementations of the same functionality; Matrix has nothing like that going on.
But any IRC client will work fine on any IRC server, and they can connect to various servers with different implementations.
On Matrix, clients (generally) can only connect to one homeserver at a time; which forces them to converge on following exactly the same spec. And if your server differs ever so slightly from the other ones in how it implements some parts of the spec (room consensus), then it can be split-brained from the rest of the federation. Instead, changes to the room consensus are done by pushing new room versions, and each server implementation needs to explicitly support it or they can't join it. This means Synapse devs (which are a majority of Element employees) get to decide what room versions can get traction.
It is not uncommon for people in the Matrix community to complain about this and Element keeping specs in limbo, and PRs to the flagship clients being stuck in "design review tar".
> And there seem to be more visibly independent implementations of Matrix than IRCv3.
Clients, maybe, at least in the number of implementation. It's hard to find stats of this, but I feel that >95% of people in the public federation use Element even in tech-y rooms; IRC has a healthier mix of major clients (weechat, irssi, IRCCloud, Hexchat, KiwiIRC, The Lounge each have >5% of desktop/web users). But I admit that's just my very subjective point of view.
In terms of servers, Matrix has three open source ones as far as I know: Synapse (controlled by Element), Dendrite (controlled by Element, and almost on par with Synapse according to https://arewep2pyet.com/ ), and Conduit. Based on https://gitlab.com/famedly/conduit/-/milestones/3 , Conduit seems to be far from implementing the spec yet (eg. it doesn't seem to support leaving rooms or respecting history visibility).
> things like: server-side history extensions tended to mess up my client's history implementation (I'd end up with multiple copies of the same messages in my local logs, often with the wrong timestamps)
You can use https://ircv3.net/specs/extensions/message-ids to deduplicate them.
> And if you're in a conversation where people are using embedded gifs, then fundamentally you'll always be a second-class citizen if you're trying to participate in that with a client that can't display embedded gifs.
A conversation where people where people are using embedded gifs will exclude me regardless of client, because they are too distracting. At least on IRC I can expect people not to do it too much, and use words or emojis instead of reaction gifs.
> SSO access control; you just can't do that in a nice way if the client doesn't support it
That's a fair point; IRC is made by hobbyists more than companies, so that's not surprising. There is some discussion around it though: https://github.com/ircv3/ircv3-ideas/issues/74 and Sourcehut is sponsoring implementation (https://emersion.fr/blog/2022/irc-and-oauth2/).
- Matrix conduit server takes forever to join channels
-
Looking to deploy a Conduit Matrix server. Is it possible to make a server which does NOT require a domain?
To start, this will be strictly Non-Federated. Just a few friends will be using this. Here: https://gitlab.com/famedly/conduit/-/blob/next/DEPLOY.md is the documentation I am following. It tells me I must "use my server name", but what is this exactly? What do I put in there? Do I have to go out and buy a domain?
-
Instant Messaging: XMPP or Websocket
Either Tinode (https://github.com/tinode/chat) or Matrix Protocol (https://gitlab.com/famedly/conduit)
-
Planning to make a video on cool Rust apps focused on the end user. Make recommendations!
Matrix Protocol: Fractal (Client), Conduit (Server)
-
Discord-esk encrypted platform?
If self-hosting is an option then I'd say Matrix, you can try Conduit (server) and Elements(client). To simplify deployment you can refer to this repo.
-
anyone using rust in production? what do you do?
You can babble on and on about how its not how you do it, no one needs it, etc... But its a demonstrable need in this space and its caused me great pain trying to write applications that would be used by such people. It's even bit Conduit to the point they have 5+ DB backends coded in now that the user can choose between based on their local system setups.
-
Given my server's specs, can I handle Matrix/Synapse?
Give Conduit a try. It uses way less memory than Synapse. It is still in early stages but works great. I have been running one on a Pi4 for like a year, going great so far.
-
Is there an example app that uses Sled database in Rust?
There's a Rust implementation of a Matrix server that uses sled: https://gitlab.com/famedly/conduit/
The Lounge
-
Simplicity of IRC
IRC as a protocol is indeed incredibly simple and easy to get started with. Years ago did discover this when I was able to make [this atrocity](https://github.com/creesch/discordIRCd) bridging IRC and discord where for IRC I effectively did a simple server implementation.
There is a caveat, though. Like many older protocols (ftp) there is a lot that was not initially written down or left up to clients and server implementations. This, does lead to a lot of edge cases you need to be aware of once you want to actually support a wider user group.
Also, as this is apparently is still a discussion. IRC is not simple from a modern user UX perception. Registration can be complex and confusing, though hidden a bit through clients. Managing channels with various flags is a whole other thing. Then there is also the fact that these days people are no longer used to the fact that they can't see messages from periods where they were not connected. Of course, the latter can be easily handled by a BNC or fancy clients like https://thelounge.chat . But, that is only easy for technically inclined folks.
-
Posthog is closing their Slack community in favor of forum
> It’s 2024, people aren’t going to go out of their way to setup “bouncers” to keep up with conversation that happens when they’re not online or leave their computer running 24/7.
You can just set up something like The Lounge [0].
[0] https://thelounge.chat/
-
Show HN: GodotOS: A Fake Operating System Interface Made in the Godot Engine
Excellent idea! You'll have a mature, open standard protocol under the hood, with no vendor lock-in, excellent extensibility, and great modern frontends like The Lounge (https://thelounge.chat/) or Convos (https://convos.chat/) to choose from (and you can choose).
- IRC Is the Only Viable Chat Protocol
- Show HN: Halloy – A GUI Application in Rust for IRC
- New thelounge Theme: iAnon
- The Lounge 4.4.0 released - the self-hosted web IRC client
-
Matrix 2.0: How we’re making Matrix go voom
For the other layers one can front-end IRC with TheLounge [1][2] or Convos [3][4]. TheLounge only persists history in private mode meaning that users are created in that front-end and chat messages are in Redis. For small networks or groups of friends this is probably fine.
Notably missing is voice chat. I use the Mumble client [5] with the Murmur or uMurmur [6] server which is light-weight enough to run on ones home router. I use it on Alpine Linux, works great. It's not a shiny and attention grabbing as Discord but probably fine for everyone else. For people to create their own voice channels would require the full-blown Murmur server.
[1] - https://github.com/thelounge
[2] - https://thelounge.chat/
[3] - https://github.com/convos-chat/convos/
[4] - https://convos.chat/
[5] - https://www.mumble.info/
[6] - https://github.com/umurmur/umurmur/wiki/Configuration
-
I'm trying to set up a client device that will remain connected to a server that I can remotely log into
As another self-hosted solution, I quite like TheLounge (https://thelounge.chat)
-
Most used selfhosted services in 2022?
TheLounge (https://github.com/thelounge/thelounge) - web IRC client that I set to listen on my vpn/mesh. Works great on desktop and mobile, and supports push notifications.
What are some alternatives?
Synapse - Synapse: Matrix homeserver written in Python/Twisted.
ZNC - Official repository for the ZNC IRC bouncer
dendrite - Dendrite is a second-generation Matrix homeserver written in Go!
Kiwi IRC - 🥝 Next generation of the Kiwi IRC web client
gomuks - A terminal based Matrix client written in Go.
Convos - Convos :busts_in_silhouette: is the simplest way to use IRC in your browser [Moved to: https://github.com/convos-chat/convos]
matrix-rust-sdk - Matrix Client-Server SDK for Rust
Quassel IRC - Quassel IRC: Chat comfortably. Everywhere.
fluffychat
Weechat - The extensible chat client.
matrix.to - A simple stateless privacy-protecting URL redirecting service for Matrix
InspIRCd - A modular C++ IRC server (ircd).