CLI QR code generator and reader written in rust
QRrs is a simple, cross-platform, command-line utility written in rust for working with qr codes (what actually follows from the name).
qrrs "Your input here"
qrrs "Something" /tmp/qr.png
$ qrrs --read /tmp/qr.png
Something
qrrs -t "Something" /tmp/qr.png
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █▄ █▄▄█ ▄▄▄▄▄ ████
████ █ █ █▀▄████ █ █ ████
████ █▄▄▄█ █ ▄█▀▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀ ▀ █▄▄▄▄▄▄▄████
████▄███ █▄▄ ▄▀ ▀▄▄▄ █▀▄████
████▄ ▀█▀▄▄▀▄▀▀▄█▀▄█ █▄ ▀████
████▄█▄██▄▄▄▀▀▀█ ▄▀█ ▀█▄ ████
████ ▄▄▄▄▄ █▄▀▄▀ ▄▄▀ ██ █████
████ █ █ █▄█▀ ▀▄▄█ ▀▀ ▀████
████ █▄▄▄█ ██▀ ▄█▀ ▀ ████████
████▄▄▄▄▄▄▄█▄▄▄█▄▄▄▄█▄██▄████
█████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
qrrs --read --terminal /tmp/qr.png
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █▄ █▄▄█ ▄▄▄▄▄ ████
████ █ █ █▀▄████ █ █ ████
████ █▄▄▄█ █ ▄█▀▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀ ▀ █▄▄▄▄▄▄▄████
████▄███ █▄▄ ▄▀ ▀▄▄▄ █▀▄████
████▄ ▀█▀▄▄▀▄▀▀▄█▀▄█ █▄ ▀████
████▄█▄██▄▄▄▀▀▀█ ▄▀█ ▀█▄ ████
████ ▄▄▄▄▄ █▄▀▄▀ ▄▄▀ ██ █████
████ █ █ █▄█▀ ▀▄▄█ ▀▀ ▀████
████ █▄▄▄█ ██▀ ▄█▀ ▀ ████████
████▄▄▄▄▄▄▄█▄▄▄█▄▄▄▄█▄██▄████
█████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
qrrs --read --terminal /tmp/qr.png /tmp/qr1.png
Almost the same result will be without terminal flag, but now instead of QrCode printed in terminal we will see text from it.
qrrs --read /tmp/qr.png /tmp/qr1.png
Use "-" to signalize passing data via stdin.
$ echo "something" | qrrs - /tmp/something.png
$ qrrs -r /tmp/something.png
something
nix run github:Lenivaya/qrrs -- "your input"
Add this repository as an input to your flake:
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
qrrs = {
url = "github:lenivaya/qrrs";
inputs.nixpkgs.follows = "nixpkgs";
};
Then use the overlay somewhere in your config:
{inputs, pkgs, ...}: {
nixpkgs.overlays = [inputs.qrrs.overlays.default];
environment.systemPackages = with pkgs; [qrrs];
}
pkgin install qrrs
cargo install qrrs
cargo install --git https://github.com/Lenivaya/qrrs.git