All Projects β†’ nilsding β†’ AgentSmith

nilsding / AgentSmith

Licence: MIT license
πŸ•΄ An IRC server that is actually a Matrix client. Use your favourite IRC client to communicate with the Matrix.

Programming Languages

crystal
512 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to AgentSmith

chooj
Matrix chat app for KaiOS supporting voice calls
Stars: ✭ 44 (+25.71%)
Mutual labels:  matrix-client, matrix-org
signaller
The lightweight (but full-featured) Matrix server, written in Go language
Stars: ✭ 44 (+25.71%)
Mutual labels:  matrix-org
bahamut
The Bahamut IRC Daemon
Stars: ✭ 47 (+34.29%)
Mutual labels:  irc-server
Dendrite
Dendrite is a second-generation Matrix homeserver written in Go!
Stars: ✭ 2,758 (+7780%)
Mutual labels:  matrix-org
rubircd
πŸ’¬ An IRC server written in Ruby
Stars: ✭ 23 (-34.29%)
Mutual labels:  irc-server
twitter
A Matrix-Twitter DM puppeting bridge
Stars: ✭ 48 (+37.14%)
Mutual labels:  matrix-org
transform
No description or website provided.
Stars: ✭ 13 (-62.86%)
Mutual labels:  matrix-org
matrix-php
PHP library for Matrix (https://matrix.org/) API.
Stars: ✭ 17 (-51.43%)
Mutual labels:  matrix-org
telegram
A Matrix-Telegram hybrid puppeting/relaybot bridge
Stars: ✭ 914 (+2511.43%)
Mutual labels:  matrix-org
IRC-Server
IRC server based on TCP/IP protocol to rfc1459 standard
Stars: ✭ 27 (-22.86%)
Mutual labels:  irc-server
anyfesto
Low cost Raspberry Pi /Linux based access point with audio, education and communications local content server. Inspired by the ideas of sharing with others. Anyfesto - a platform from which to speak.
Stars: ✭ 66 (+88.57%)
Mutual labels:  irc-server
etcdircd
An ircd backed by etcd
Stars: ✭ 76 (+117.14%)
Mutual labels:  irc-server
matrix-utils
Random matrix-related scripts.
Stars: ✭ 23 (-34.29%)
Mutual labels:  matrix-org
python
A Python 3 asyncio Matrix framework.
Stars: ✭ 115 (+228.57%)
Mutual labels:  matrix-org
instagram
A Matrix-Instagram DM puppeting bridge
Stars: ✭ 69 (+97.14%)
Mutual labels:  matrix-org
telegramircd
Control Telegram user account with IRC
Stars: ✭ 64 (+82.86%)
Mutual labels:  irc-server
Morpheus
A Matrix client written in Go-QT
Stars: ✭ 20 (-42.86%)
Mutual labels:  matrix-client
swift-nio-irc-server
A Internet Relay Chat (IRC) server for SwiftNIO
Stars: ✭ 30 (-14.29%)
Mutual labels:  irc-server
matrix-registration
a token based matrix registration api
Stars: ✭ 182 (+420%)
Mutual labels:  matrix-org
matrix-pstn-bridge
☎️ A Matrix Puppet bridge for the public telephone network that supports a number of VoIP providers (Twillo, Vonage, etc.). Sends and receives voice and SMS.
Stars: ✭ 25 (-28.57%)
Mutual labels:  matrix-org

πŸ•΄ AgentSmith

AgentSmith allows you to communicate with the Matrix using your favourite IRC client (or bot).

This is just a silly proof of concept for now, but it looks promising. It is not yet recommended to use this in production.

Screenshot of KVIrc displaying a conversation within a Matrix room

Features

  • Communicate with rooms which have set a main alias
  • Annoy Delight others with colours
  • File attachments are expanded as a HTTP link, ready to be opened by a browser

Features that still need to be done/would be nice to have

  • Rooms without main aliases (this perhaps also covers private messages)
  • Maybe support multiple homeservers at once
  • A nicer way to log in to your homeserver
  • Several IRC commands (e.g. WHO, NAMES, LIST)
  • Map permissions to IRC channel modes (e.g. Admin (100) -> +o, Moderator (50) -> +h etc.)
  • File uploads (DCC?)
  • TLS

Installation

Install crystal using your favourite package manager as guided by the Crystal docs. After that, building AgentSmith should be as easy as:

shards build

The resulting binary is then located in ./bin/AgentSmith.

macOS Mojave note: You may run into an error saying the compiler could not find OpenSSL. To fix that, install openssl from Homebrew and point PKG_CONFIG_PATH to OpenSSL's pkgconfig directory:

# zsh, bash:
export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig

# tcsh:
setenv PKG_CONFIG_PATH /usr/local/opt/openssl/lib/pkgconfig

Usage

After building (see Installation section above), run it:

# Authenticate with your home server for the first time
./bin/AgentSmith -s https://your_homeserver_url

# Once you got your access token and exported the MATRIX_ACCESS_TOKEN variable,
# run it again to start the IRC server:
./bin/AgentSmith -s https://your_homeserver_url

Once the server is running, you can point your favourite IRC client to it and connect to the Matrix!

mIRC server options

Development

Basically:

  1. Write new code
  2. (optionally) Write specs for your code
  3. Make sure it compiles and the specs work: shards build + crystal spec
  4. And, of course, make sure it starts up like it should (see Usage section above)

Contributing

  1. Fork it (https://github.com/nilsding/AgentSmith/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Run the Crystal formatter (crystal tool format)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request

Contributors

Code of Conduct

Everyone interacting in the AgentSmith project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].