Skip to content

Connect to your Delta Chat using your IRC client of choice.

License

Notifications You must be signed in to change notification settings

deltachat/deltaircd

 
 

Repository files navigation

deltaircd

Minimal IRC server which integrates with Delta Chat

Features

  • support direct messages / private channels
  • auto-join/leave to same channels as on Delta Chat
  • support multiple users (one Delta Chat accounts per IRC user/connection)
  • support channel/direct message backlog (messages when you're disconnected from IRC/Delta Chat)
  • WHOIS, WHO, JOIN, LEAVE, NICK, LIST, ISON, PRIVMSG, MODE, TOPIC, LUSERS, AWAY, KICK, INVITE support
  • support TLS (ssl)
  • support unix sockets
  • &users channel that contains all your contacts for easy messaging
  • support for including/excluding channels from showing up in IRC
  • support multiline pasting
  • support for adding account as second device (importing account from different device)
  • search users (/msg deltachat searchusers query)
  • search messages (/msg deltachat search query)
  • scrollback support (/msg deltachat scrollback #channel limit)
  • prefixcontext option (see https://github.com/deltachat/deltaircd/blob/master/prefixcontext.md)
    • send replies
    • send reactions
    • delete messages

Installing dependencies

To use deltairc first make sure you have deltachat-rpc-server program installed in your PATH, for more info check: https://github.com/deltachat/deltachat-core-rust/tree/master/deltachat-rpc-server

Building

Go 1.17+ is required

go install github.com/deltachat/deltaircd

You should now have deltaircd binary in the bin directory:

$ ls ~/go/bin/
deltaircd

Config file

See deltaircd.toml.example Run with deltaircd --conf deltaircd.toml

Usage

Usage of ./deltaircd:
      --bind string      interface:port to bind to, or a path to bind to a Unix socket. (default "127.0.0.1:6667")
      --conf string      config file (default "deltaircd.toml")
      --debug            enable debug logging
      --tlsbind string   interface:port to bind to. (e.g 127.0.0.1:6697)
      --tlsdir string    directory to look for key.pem and cert.pem. (default ".")
      --version          show version

deltaircd will listen by default on localhost port 6667. Connect with your favorite IRC client to localhost:6667

For TLS support you'll need to generate certificates. You can use this program generate_cert.go to generate key.pem and cert.pem

Delta Chat user commands

Configure a new account with email/pass and login into it

/msg deltachat login <email> <password>

Add account as second device (importing account from different device)

/msg deltachat login DCBACKUP:...

Login into existing previously configured accout

/msg deltachat login <email>

Credits

deltaircd is a port of matterircd for Delta Chat.

About

Connect to your Delta Chat using your IRC client of choice.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.6%
  • Dockerfile 0.4%