34 lines
874 B
Bash
Executable file
34 lines
874 B
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e -o pipefail
|
|
|
|
PASS_ROOT="$HOME/.password-store"
|
|
|
|
pass_path=$(find "$PASS_ROOT/sci/wifi" -type f -name "*.gpg" \
|
|
| sed -e "s:^$PASS_ROOT/::" -e 's:.gpg$::' \
|
|
| fzf)
|
|
|
|
wifi_pass=$(pass $pass_path)
|
|
wifi_ssid=$(echo $pass_path | cut -d/ -f4)
|
|
wifi_qr="WIFI:T:WPA;S:$wifi_ssid;P:$wifi_pass;;"
|
|
wifi_qr_svg="/tmp/wifi_$wifi_ssid.svg"
|
|
wifi_qr_png="/tmp/wifi_$wifi_ssid.png"
|
|
qrencode -t svg --output=$wifi_qr_svg "$wifi_qr"
|
|
convert -resize 576x576 $wifi_qr_svg $wifi_qr_png
|
|
|
|
echo "ssid: $wifi_ssid"
|
|
echo "pass: $wifi_pass"
|
|
|
|
# print QR code on escpos printer
|
|
python3 <<EOF
|
|
# from escpos.constants import QR_MICRO
|
|
from escpos.printer import Network
|
|
p = Network('192.168.0.26')
|
|
# p.image("$wifi_qr_png")
|
|
p.set(align='center')
|
|
p.qr("$wifi_qr", size=16)
|
|
p.set(align='left', width=2, height=2)
|
|
p.text(" ssid: $wifi_ssid\n")
|
|
p.text(" pass: $wifi_pass")
|
|
p.cut()
|
|
EOF
|