![]() |
5 years ago | |
---|---|---|
src | 5 years ago | |
.gitignore | 7 years ago | |
.travis.yml | 6 years ago | |
Cargo.lock | 5 years ago | |
Cargo.toml | 5 years ago | |
LICENSE | 7 years ago | |
README.md | 6 years ago | |
clippy.toml | 7 years ago | |
rustfmt.toml | 7 years ago |
README.md
Matrix IRCd
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