Re: [gull] Trucs et divers propos

2025-04-02 Par sujet Félix Hauri via gull
Avoid SQL injection!

$ sed -e '2{/^case/!i case ${1#+} in *[^0-9]*|\o47\o47) exit 1;;esac' \
-e\} -i.bak /usr/share/asterisk/agi-bin/ntfy.sh

$ diff /usr/share/asterisk/agi-bin/ntfy.sh{.bak,}
1a2
> case ${1#+} in *[^0-9]*|'') exit 1;;esac

Le Wed, Apr 02, 2025 at 11:01:01AM +0200, Félix Hauri via gull a écrit :
> root@asterisk# cat >/usr/share/asterisk/agi-bin/ntfy.sh <   #!/bin/bash
>   ntfyUrl=https://ntfyServ.exemple.com
>   ntfyTopic=mesnotif
>   ntfyToken=tk_dux12ceci3st7otalement6idon34
>   IFS=\| read -r nom < <(
>   printf -v req 'SELECT name FROM tel WHERE nr ~ \47%s\47;' "${1:2}"
>   psql -h pgDbHost -U asterisk -Atc "$req" files )
>   printf -v msg '\U260e\Ufe0f Appel de %s\n %s\n %s' "$*" "$nom"
>   curl -u ":$ntfyToken" -d "$msg" "$ntfyUrl/$ntfyTopic" >/dev/null 2>&1 
> <<<'' &
>   exit 0
> eof

-- 
 Félix Hauri  --  http://www.f-hauri.ch
___
gull mailing list
[email protected]
https://forum.linux-gull.ch/mailman/listinfo/gull

[gull] Trucs et divers propos

2025-04-02 Par sujet Félix Hauri via gull
Salut ici!

1. NTFY
 Pour ceux qui ne connaissent pas encore, allez jetter un oeil sur
   https://ntfy.sh   ## Oui, ".sh"
   Send push notifications to your phone via PUT/POST
   Push notifications made easy

   Un serveur webpush et une appli qui ouvre un websocket et reste
   à l'écoute... Simple et léger.

 J'en mets partout!
  Exempla asterisk: Sur mon serveur ntfy:
root@ntfyServ# ntfy user add asterisk
root@ntfyServ# ntfy token add asterisk
root@ntfyServ# ntfy access asterisk mesnotif rw
  (je crois que juste `w` aurrait suffit). Sur mon PBX:
root@asterisk# cat >/usr/share/asterisk/agi-bin/ntfy.sh /dev/null 2>&1 
<<<'' &
exit 0
eof
root@asterisk# grep ntfy /etc/asterisk/extensions.conf
exten => _,1,AGI(ntfy.sh,${CALLERID(num)})
Du coup, je reçois la notif sur tous mes dispositifs connectés ( mon
navigateur et mon téléphone mobile ) AVANT que mes téléphones ne
sonnent...


2. bash, fzf, utf-8
 Pour le reste, je m'amuse toujours beaucoup en bash...
 - Mon dossier /vrac est désormais trié par date descendant:
   https://f-hauri.ch/vrac
   le petit dernier ``colorPing.sh'' change la couleur de fond (bg)
   en rouge ou vert, fonction de la réponse au ping, et 
   clair ou foncé en fonction de la couleur de fond initiale, du
   terminal. (Remet la couleur initial en quittant.)
   J'ai créé ce petit script en tâchant d'être léger et lisible.

 - En utf-8, j'ai découvert l'utilisation des "VARIATION SELECTOR",
   en particulier du "VARIATION SELECTOR-16" (Il y en a 256, la
   plupart semblent être des réserves, les autre concernent des
   alphabets non latins.)
$ LANG=fr_CH.UTF8 printf '\U26A0 Warning\n\U26A0\UFE0F Warning + vs16\n'
⚠ Warning
⚠️ Warning + vs16
   A noter que la différence n'est PAS visible dans (mon) xterm. Je
   dois utiliser mate-terminal ou gnome-terminal pour voir la différence.
   Cela dit: sur les navigateurs et téléphones mobiles, c'est utile
   pour les notifications.
$ printf '%b vs %b\UFE0F\n' 0 0 1 1 2 2 6 6 9 9 '#' '#' '*' '*' \
'+' '+' 'A' 'A' 'a' 'a' '\U1F'5D{4,5}{,}
   Et donc mon petit UTF-8 browser utilisant fzf:
   https://f-hauri.ch/vrac/fzfShowU8var.sh

 - Afficher `df -i` et `df -h` cote à cote, avec une barre verticale,
   façon remplissage de citerne:
   https://f-hauri.ch/vrac/vbarFmt.sh
   Usage:
$ [envvar=value] vbarFmt.sh [--full] 
   les variables d'environment:
 colSat, bgColSat: Saturation des couleurs avant/arrière plan
 colLevel, bgColLevel: Valeur des couleurs avant/arrière plan
 bwidth, bwidth2: largeur des barres block/inodes
$ colSat=.9 bgColSat=.4 bwidth=4 ./vbarFmt.sh --full .
$ colSat=.9 bgColSat=.91 bwidth=4 bash vbarFmt.sh .

-- 
 Félix Hauri  --  http://www.f-hauri.ch
___
gull mailing list
[email protected]
https://forum.linux-gull.ch/mailman/listinfo/gull