Hlavní navigace

QR kódy v terminálu

12. 5. 2012 11:38 (aktualizováno) Ondřej Caletka

Pokud jste četli dnešní článek, možná vás, stejně jako mě, zaujal způsob, jakým Google Authenticator kreslí QR kódy přímo na textovou konzoli. Možná vás, stejně jako mě, napadlo, zda je to nějaká obecná funkce a zda by se to nedalo využít pro jakékoli QR kódy. A ode dneška odpověď zní: Ano, dalo!

Představuji tímto prográmek ttyqr, jednoduchý generátor QR kódů v textovém terminálu:

Jedná se drobnou úpravu demonstračního programu knihovny libqrencode. Rozdíl spočívá v tom, že zatímco původní verze renderuje QR kód do PNG obrázku, ttyqr používá funkci pro textové renderování vypůjčenou ze zdrojového kódu programu Google Authenticator.

Stahujte zde: GitHub binary amd64 binary x86

Prográmek potřebuje k běhu knihovnu libqrencode (testováno s verzí 3.1.1), pro kompilaci pak také hlavičkové soubory zmíněné knihovny. Pomocí přepínačů je možné volit různé vlastnosti generovaných QR kódů. Renderovací algoritmus také obsahuje možnost zhuštěného záznamu, kdy se na jeden textový řádek zapíšou dva QR moduly na výšku pomocí unicode znaků ▀, ▄ a █. Tato volba se aktivuje přepínačem -b, na mém terminálu však k uspokojivému výsledku nevedla:

Volbu jsem nicméně v programu nechal, stejně jako další volby, které tam zbyly z původního programu qrencode. Třeba pro ně někdo najde využití.

Osobně mám z programu radost, vygenerování QR kódu pro jednorázový přenos adresy nebo textu do telefonu je rychlejší než většina online generátorů, navíc nepotřebuje připojení k internetu a nevyzrazuje potenciálně citlivá data online službám.

Flattr this