Crates.io | simple-irc-server |
lib.rs | simple-irc-server |
version | 0.1.8 |
source | src |
created_at | 2022-05-15 18:36:26.914464 |
updated_at | 2024-07-17 14:40:01.410602 |
description | Simple IRC server |
homepage | |
repository | https://github.com/matszpk/simple-irc-server |
max_upload_size | |
id | 587263 |
size | 906,081 |
This is a simple IRC server written in the Rust languange. This server supports basic set of IRC commands and basic user's mode and channel's modes. This server have following features:
Because it is simple IRC server, unfortunatelly some commands have not been supported like: CONNECT, REHASH, RESTART, AUTHENTICATE. This server should be used to simple installation only with local IRC environment.
A server can be easily build with Cargo package system. Following features can be enabled:
A tls_openssl should be used in old machines that doesn't support SSE2 instructions. A rustls uses 'ring' crate that need newer instruction set in X86 processors.
To build server with full support just enter:
cargo build --release --features=dns_lookup,tls_rustls
or
cargo build --release --features=dns_lookup,tls_openssl
You can build server without DNS lookup and TLS support by using simple command:
cargo build --release
To increase security you can specify environment variable PASSWORD_SALT during building to provide own salt for Argon2 password hashing. It can be just some text.
The sample configuration is in config-example.toml that describes any field configuration. Passwords should be filled by password hashes generated by using command:
simple-irc-server -g
or
simple-irc-server -g -P password
Text after Password hash:
should be put into password field.
You can run server by using command:
simple-irc-server -c your-config-file.toml
An IRC server can prints some logs to terminal output if no log file specified in configuration.