Skip to content
/ qrrs Public

CLI QR code generator and reader written in rust

License

Notifications You must be signed in to change notification settings

Lenivaya/qrrs

Repository files navigation

QRrs

CLI QR code generator and reader written in rust

CI License: MIT codecov Version info

image

Info

QRrs is a simple, cross-platform, command-line utility written in rust for working with qr codes (what actually follows from the name).

Usage

Quickly generate qr code

qrrs "Your input here"

Generate code, than read it

qrrs "Something" /tmp/qr.png
$ qrrs --read /tmp/qr.png
Something

Print generated code to term

qrrs -t "Something" /tmp/qr.png
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █▄ █▄▄█ ▄▄▄▄▄ ████
████ █   █ █▀▄████ █   █ ████
████ █▄▄▄█ █ ▄█▀▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀ ▀ █▄▄▄▄▄▄▄████
████▄███ █▄▄ ▄▀ ▀▄▄▄  █▀▄████
████▄ ▀█▀▄▄▀▄▀▀▄█▀▄█ █▄ ▀████
████▄█▄██▄▄▄▀▀▀█ ▄▀█ ▀█▄ ████
████ ▄▄▄▄▄ █▄▀▄▀ ▄▄▀ ██ █████
████ █   █ █▄█▀ ▀▄▄█ ▀▀ ▀████
████ █▄▄▄█ ██▀ ▄█▀ ▀ ████████
████▄▄▄▄▄▄▄█▄▄▄█▄▄▄▄█▄██▄████
█████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

Show code as text in terminal

qrrs --read --terminal /tmp/qr.png
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █▄ █▄▄█ ▄▄▄▄▄ ████
████ █   █ █▀▄████ █   █ ████
████ █▄▄▄█ █ ▄█▀▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀ ▀ █▄▄▄▄▄▄▄████
████▄███ █▄▄ ▄▀ ▀▄▄▄  █▀▄████
████▄ ▀█▀▄▄▀▄▀▀▄█▀▄█ █▄ ▀████
████▄█▄██▄▄▄▀▀▀█ ▄▀█ ▀█▄ ████
████ ▄▄▄▄▄ █▄▀▄▀ ▄▄▀ ██ █████
████ █   █ █▄█▀ ▀▄▄█ ▀▀ ▀████
████ █▄▄▄█ ██▀ ▄█▀ ▀ ████████
████▄▄▄▄▄▄▄█▄▄▄█▄▄▄▄█▄██▄████
█████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

Save it into another file

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

Create code using pipeline

Use "-" to signalize passing data via stdin.

$ echo "something" | qrrs - /tmp/something.png
$ qrrs -r /tmp/something.png
something

Invert colors

image

Create code specifying it's margin

image image

Install

Nix

nix run github:Lenivaya/qrrs -- "your input"

Using last version through overlay in nixos config

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];
}

NetBSD

pkgin install qrrs

From crates.io

cargo install qrrs

From github

cargo install --git https://github.com/Lenivaya/qrrs.git