josephcz/rqotdd

By josephcz

Updated 10 months ago

Rust Quote Of The Day (QotD) Daemon

Image
Networking
0

101

rqotdd

rqotdd = Rust Quote Of The Day (QotD) Daemon

rqotdd is a simple implementation of RFC 865 and a non-standard SSL/TLS version of it.

rqottd is written in Rust, and linked to MUSL: you can run it on any Linux distribution and macOS (Windows is not supported).

Support Matrix

ProtocolDefault PortStatus
QotD TCP17
QotD UDP17
QotD SSL747
OSx86_64i686aaarch64
Linux
macOS

Database File

rqotdd comes with a sample database file database.txt. It does not comes with GitHub Release. You can download it here.

You can also use database from fortune-mod. To use it, add --db-format "%" to rqotdd argument command line.

Build

TL; DR: Clone the git repository and run make all.

Before you start, there are some prerequisites you have to install on your system:

  • git
  • curl
  • make

A C/C++ Compiler is NOT required.

The program is written in Rust. You can setup Rust development environment by the following command:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Then, clone the git repository and build the program:

git clone https://github.com/baobao1270/rqotdd.git
cd rqotdd
make

The command will build the program for CURRENT TARGET and link to GNU libc.

Cross Building

The program also support cross compilation and static linking with MUSL. However, only Linux target is supported. You can build the program with the following command:

make all

Note: Don't run with -j. It may cause deadlocks.

The command will build the program for target:

PlatformTargetBinary PathRelease Path
Linuxx86_64dist/linux-musl-x86_64/rqotdddist/rqotdd-linux-musl-x86_64.tar.zst
Linuxi686dist/linux-musl-i686/rqotdddist/rqotdd-linux-musl-i686.tar.zst
Linuxaaarch64dist/linux-musl-aaarch64/rqotdddist/rqotdd-linux-musl-aaarch64.tar.zst
macOSx86_64dist/darwin-x86_64/rqotdddist/rqotdd-darwin-x86_64.tar.zst
macOSaaarch64dist/darwin-aaarch64/rqotdddist/rqotdd-darwin-aaarch64.tar.zst

License

The program is licensed under Mozilla Public License 2.0.

Docker Pull Command

docker pull josephcz/rqotdd