A basic low-feature IRC daemon written in Scala.
You can use any IRC client to connect to SmIRCd. SmIRCd also bundles a basic browser hosted IRC client.
The following IRC commands are supported:
- NICK
- QUIT
- AWAY
- MSG
- NOTICE
- JOIN
- LEAVE
- KICK
- TOPIC
The following commands are supported but incomplete:
- LIST
- NAMES
In addition to the commands absent from the above list, notable missing features include:
- Passwords - SmIRCd ignores any password you send when logging in.
- Operators - No permissions checks are applied; anyone can do anything.
- Modes - There are neither user nor channel modes.
- Multi-Server - SmIRCd is stand-alone, it does not connect with other IRC servers.
$ sbt assembly
This creates an executable uberjar.
$ ls target/scala-*/*-assembly-*.jar
target/scala-2.11/smircd-assembly-1.0-SNAPSHOT.jar
$ java -jar target/scala-2.11/smircd-assembly-1.0-SNAPSHOT.jar
This starts SmIRCd listening on port 6667 and blocks until you press Ctrl+C.
Optional command line arguments are:
$ java -jar <jar> [--port p] [--logLevel ALL|TRACE|DEBUG|INFO|WARN|ERROR]
--port Listening port, defaults to 6667
--logLevel Logging verbosity, defaults to INFO
Once SmIRCd is running, point your browser to http://localhost:6667 to use the embedded browser based IRC client. Or, use your favorite dedicated IRC client - SmIRCd uses the same port for IRC traffic and HTTP. Note that the browser client requires Websocket support.
Apache 2.0, see the LICENSE file.