UEFIRC is a graphical UEFI IRC client. Connect to an IRC server, chat and read messages, all from the comfort of your motherboard's pre-boot environment.
50 years of computing, yet no solution for IRC software that can also fry your motherboard. Until now.
UEFIRC is written in Rust and leverages uefi-rs.
The GUI toolkit comes from axle OS. I think that this is the first time anyone has put TrueType in UEFI.
NO kernel. NO scheduler. NO memory protection. Just you, the motherboard firmware, and all your pals across the internet.
screenshot-2024-04-05-10.23.10.mp4
UEFIRC comes with keyboard and mouse support by leveraging UEFI's Simple Text Protocol and Simple Pointer Protocol.
Most notably, UEFIRC implements a memory-safe wrapper around UEFI's TCP implementation.
Here's me saying hello to the UEFI development chat from UEFI itself.
UEFIRC comes with a blog post with fun animations showing some of the tricky bits it took to get this working. Check it out!
The IRC server, and the identity of the user, are controlled by a configuration file in the EFI filesystem.
Modify config.toml
to change these values.
NOTE: If you are not running macOS, you'll be unable to use QEMU's vmnet network backend, and will need to set up a network backend that can bridge packets into the guest.
Download the latest release. Run this command:
qemu-system-x86_64 -bios ./OVMF_with_mouse_support.fd -monitor stdio -m 4G -vga virtio -device virtio-rng-pci -device virtio-mouse-pci -usb "device usb-mouse" -drive format=raw,file=fat:rw:./efi_filesystem/
UEFIRC uses a small (no-dependency) Python 3.7+ script to coordinate the build. Build and run:
$ python3 scripts/build.py
This should not exist.
MIT license.