Junte -se à Matrix do seu cliente IRC favorito
Matrix2051 (ou M51 para curta) é um servidor IRC apoiado pela Matrix. Você também pode vê -lo como um segurança do IRC que se conecta a Matrix HomeServers em vez de servidores IRC. Em outras palavras:
IRC client
(eg. weechat or hexchat)
|
| IRC protocol
v
Matrix2051
|
| Matrix protocol
v
Your Homeserver
(eg. matrix.org)
Metas:
Não-Goals:
Duas notas nesta captura de tela:
sudo apt install elixir erlang erlang-dev erlang-inets erlang-xmerlmix deps.getmix testmix run matrix2051.exslocalhost:2051 , com a seguinte configuração:user:homeserver.example.org )Veja abaixo as instruções extras para trabalhar com clientes da Web.
Consulte INSTALL.md para um guia mais orientado para a produção.
matrix2051.exs inicia M51.Application, que inicia M51.Supervisor, que supervisiona:config.ex : agente de configuração globalirc_server.ex : Um DynamicSupervisor que recebe conexões de clientes do IRC. Toda vez que irc_server.ex recebe uma conexão, ele gera irc_conn/supervisor.ex , que supervisiona:
irc_conn/state.ex : armazena o estado da conexãoirc_conn/writer.ex : Genserver segurando o soquete e permitindo escrever linhas para ele (e lotes de linhas no futuro)irc_conn/handler.ex : tarefas ocupadas nos comandos que recebem do leitor, responde aos simples e despacha comandos mais complexosmatrix_client/state.ex : mantém o estado da conexão com um Matrix HomeServermatrix_client/client.ex : lida com uma conexão com um Matrix HomeServer, como um único usuáriomatrix_client/sender.ex : envia eventos para o Matrix HomeServer e com tentativas no fracassomatrix_client/poller.ex : pergunta repetidamente ao Matrix HomeServer para novos eventos (incluindo a sincronização inicial)irc_conn/reader.ex : tarefas ocupadas nas linhas de entrada e as envia para o manipuladorUtilitários:
matrix/raw_client.ex : cliente de matriz de baixo nível / wrapper Thin em torno de solicitações HTTPirc/command.ex : Manipulação da linha IRC, incluindo "rebaixá -los" para clientes que não suportam alguns recursos.irc/word_wrap.ex : embalagem de linha genéricaformat/ : converta entre a formatação do IRC e org.matrix.custom.htmlmatrix_client/chat_history.ex : busca histórico de mensagens da Matrix, quando solicitado pelo cliente IRC Existem muitos ótimos clientes do IRC, mas não consigo encontrar um cliente Matrix que eu goste. No entanto, algumas comunidades estão se movendo do IRC para a Matrix, então eu escrevi isso para que eu possa me juntar a eles com um cliente confortável.
Essa também é uma maneira de prototipar os recursos mais recentes do IRCV3 facilmente e para aprender o protocolo Matrix.
Em teoria, qualquer cliente do IRC deve funcionar. Em particular, testo com Gamja, Irccloud, The Lounge e Weechat.
Abra um problema se o seu cliente tiver algum problema.
Em teoria, qualquer, como escrevi isso lendo as especificações da matriz. Na prática, isso é testado apenas com sinapse.
Uma exceção notável é o registro, que usa uma API específica de sinapse, pois a própria matriz não especifica o registro.
Por favor, abra um problema se você tiver algum problema com o seu HomeServer (um login/senha dummy que eu posso usar para conectar -se a ele seria apreciado).
No momento da redação deste artigo, se a matriz e o IRC/IRCV3 os apoiarem, o Matrix2051 provavelmente o fará. Dê uma olhada na lista de problemas abertos de 'aprimoramento'.
Uma exceção notável são mensagens diretas, porque o modelo de Matrix difere significativamente dos IRCs.
Para conectar clientes da Web, você precisa de um gateway do WebSocket. O MATRIX2051 foi testado com o Webircgateway da Kiwiirc (tente este patch se precisar executá -lo nas versões antigas do Go).
Aqui está como você pode configurá -lo para conectar -se ao Matrix2051 com Gamja:
[ fileserving ]
enabled = true
webroot = " /path/to/gamja "
[ upstream . 1 ]
hostname = " localhost "
port = 2051
tls = false
# Connection timeout in seconds
timeout = 20
# Throttle the lines being written by X per second
throttle = 100
webirc = " "
serverpassword = " "Esta é uma referência ao XKCD 1782:
Junte -se a #Matrix2051 em irc.interlinked.me. (Não, eu não estou comendo meu próprio cachorro, ainda prefiro o IRC "nativo".)