Giter Site home page Giter Site logo

matrix-ircd's Introduction

Matrix IRCd

Build Status

An IRCd implementation backed by Matrix. Inspired by PTO!

Join the discussion on the Matrix channel: #matrix-ircd:matrix.org

Status

This is a work in progress. Matrix IRCd should be stable enough to hack on and test, but has not been tested in production or for any length of time.

See the GitHub issues page for a more detailed breakdown of what is left to do.

Building

Matrix IRCd currently requires using a nightly compiler of rust1. Building and installing uses the standard cargo commands.

To run a plain debug version:

cargo run -- --url "https://matrix.org"

To build with trace logging:

cargo build --features trace_logging

1 It is recommended to use a tool such as rustup.rs to manage the rust compiler toolchains. See "Working with nightly Rust" for instructions on how to do so with rustup.

Usage

IRC Matrix Daemon 0.1.0

USAGE:
    matrix-ircd [OPTIONS] --url <MATRIX_HS>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -b, --bind <BIND>            Sets the address to bind to. Defaults to 127.0.0.1:5999
        --url <MATRIX_HS>        The base url of the Matrix HS
        --password <PASSWORD>    The password of the PKCS#12 file
        --pkcs12 <PKCS12>        Sets the PKCS#12 file to read TLS cert and pkeyfrom

The MATRIX_HS URL should be of the form: https://matrix.org. Plain HTTP is also supported but should only be used for testing and development.

Supplying both pkcs12 and password arguments will cause Matrix IRCd to listen on TLS, otherwise it will use plain TCP.

The credentials for the matrix account are taken from the user name and server password specified by the IRC connection.

Development

Matrix IRCd aims to build with zero standard warning and no clippy warnings.

To run clippy use (after install clippy):

cargo clippy --features clippy

The feature flag disables certain spurious warnings related to third party crates.

Some high level development documentation can be generated by:

cargo doc --open

To generate the full documentation, including private APIs, use:

cargo rustdoc -- --no-defaults --passes "collapse-docs" --passes "unindent-comments" --open

matrix-ircd's People

Contributors

erikjohnston avatar ara4n avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.