Fais péter ton bashrc !
Qu'avez vous dans votre bashrc ?
Logiciels / Programmation

OPS56 Membre non connecté
-
- Voir le profil du membre OPS56
- Inscrit le : 18/11/2008
- Groupes :
Reprise du message précédent
Voici le mien, j'ai adopté la metéo et la lune
Code BASH :
if [ -f /etc/bashrc ]; then . /etc/bashrc fi alias y2mp3="youtube-dl -t -x --audio-format mp3 --audio-quality 0" alias y2mp4="youtube-dl -t -f mp4" alias Fixe="ssh -XC ops@fixe" alias Cps="ssh -XC cps@CPS" alias Tps="ssh -XC tps@TPS" alias meteo="curl wttr.in/Vannes?lang=fr" alias lune="curl wttr.in/Moon?lang=fr"
J'ai juste youtube-dl pour récupérer des vidéos ou du son.
Plus les connexions SSH vers les machines de la maison.
@+

Dell G3-15 Intel Corei7 - 16Go Ram - Nvidia GTX1660 Ti (Tri boot Mageia 9- 64 bits / Linux Mint 20 Cinamon/ Windows 10)
Core i5 760 - 8Go Ram - Nvidia Gforce 450 - (Triple boot Mageia 9-64 bits - Plasma 5 / Mint 20 Cinamon / Open Suse Tumbleweed - Plasma 5)

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Code BASH :
KEYPASS=UnMotDePasse function DECODE() { if [ 0 -ne ${#} ]; then echo "${*}" | openssl enc -a -aes-192-cbc -d -k "${KEYPASS}" ; else openssl enc -a -aes-192-cbc -d -k "${KEYPASS}" </dev/stdin ; fi ; } function ENCODE() { if [ 0 -ne ${#} ]; then echo "${*}" | openssl enc -a -aes-192-cbc -k "${KEYPASS}" ; else openssl enc -a -aes-192-cbc -k "${KEYPASS}" </dev/stdin ; fi ; }
Exemple d'utilisation :
Code BASH :
[jybz@localhost ~]$ sensors | KEYPASS=SpéMLO ENCODE | nc termbin.com 9999 https://termbin.com/qnr3 [jybz@localhost ~]$ curl -s termbin.com/qnr3 U2FsdGVkX19hH++JJV5B7FaFoKojG2NxyPnDVq8+ZxawVz4ZiS9R1vAZVCnQz5Ly 0l/6b6QylpmGHmni4Q5ul5Trzua7chA99NnaZrmWHTlQ73+p/0wqhaZMbDkwvhVo Wv+QpqBEQsPArAzEGfaHGkpC/uaO2qZGwm5J8+jLCg3FDIUrkbuDSlGh9CscBfof xvS6KdgkHajmrWdTsRV+DDTjo0AX3D77Tz7hxCPV/tcswyD8De4hhX2b0TC915lU Sz1pubm704QqB0Bb72J3atSQxu2YIUUv3DZ2cZWSHB2Bwi8MqawbiK5U2NvPGwXs uWXB9wBV2Xco2p+C4QfZxv9uE1D+1NC7tTJc16DVQJu41se9PClVEpjCu/k5WaYS CDkS6+kSRhdKhY+0MCH1QGAyRXevL1747rO2BDl+N+JB2hwl0mxWCMglT6urXGQl c2R9ir8sNXH/AHUIO3l4OwIqutFxtc9qS4oGsUi+mYQzlOTuKzE5AFdPtR3YfYZG WW3rpCYXQ+6dYxvMxFJvsV9iGCYV0q0HuTmWe3YNHiub4HmISa2zV6B1qcninSne 404wbl+IIc22OjpdXgzKjrB4utsQmmXhNthWpWMOelfqYK/ubQnFmd9zUKPxuE2x Fo3P8eHh47JwtwFGrojLOtlWrRWM62LhgUzY0+NiPLH7VeouNRjFzez47s3ZG1wX Jhzvhf88PhHoGQBV92utzHCIk1pnVZ94i+pNDppHrR7X3V9Vldl9tDfSxPfxde6+ jveBF437SVvCUCF1W00Bwf1DQ5rHhGC1H/X1d5k0l2V4jO09qDqQZjD1e9hT3eH9 //PZ/1aa+cOUNGy97bGmJx8LU1Q3IHWK5HmV9ngv9PGOmD6dbXQMon0/bZ6yba4N Qc6E/YjHA9iqIBT3NX8xW0U2i/nOe32xv8Zji1NXcT4gXA50a1Nzg2mLA3iGo3mF LCq5k/5iHuuvZRZ0CiBj89NMQ7DpZ/uDdN5KAz1Etwzlr4bpZAdnGYZgTUh3vd/m OTm5cQDqG0YGSeX+IFWGYM54NL4KyDZH7qZhOS1SX/DXYThxvoNxwI8kKSazQn9I X/zjRX+55N56uEjNBXRhQ5dFr5TGOe5uTsLrkdYX8Wo9UO5UT4gzYHDm82GpsyvN [jybz@localhost ~]$ curl -s termbin.com/qnr3 | DECODE bad decrypt 139815402866496:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:536: [jybz@localhost ~]$ curl -s termbin.com/qnr3 | KEYPASS=SpéMLO DECODE iwlwifi_1-virtual-0 Adapter: Virtual device temp1: +50.0°C thinkpad-isa-0000 Adapter: ISA adapter fan1: 4137 RPM temp1: +45.0°C temp2: +0.0°C temp3: +0.0°C temp4: +0.0°C temp5: +0.0°C temp6: +0.0°C temp7: +0.0°C temp8: +0.0°C pch_wildcat_point-virtual-0 Adapter: Virtual device temp1: +49.0°C BAT0-acpi-0 Adapter: ACPI interface in0: +12.31 V coretemp-isa-0000 Adapter: ISA adapter Package id 0: +46.0°C (high = +105.0°C, crit = +105.0°C) Core 0: +47.0°C (high = +105.0°C, crit = +105.0°C) Core 1: +46.0°C (high = +105.0°C, crit = +105.0°C) acpitz-acpi-0 Adapter: ACPI interface temp1: +45.0°C (crit = +128.0°C) BAT1-acpi-0 Adapter: ACPI interface
Second exemple :
Code BASH :
[jybz@localhost ~]$ KEYPASS=SpéMLO ENCODE "Voici un second test pour MLO !" | nc termbin.com 9999 https://termbin.com/ojlz [jybz@localhost ~]$ curl -s termbin.com/ojlz U2FsdGVkX184dPJAxCkkH397SipT0rTHgoM9aGQ0TlKR1rSMwv4QliZSTQRD+WdE HDMrvJ4cv2EXrzbPzbyouQ== [jybz@localhost ~]$ curl -s termbin.com/ojlz | DECODE bad decrypt 139972709439296:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:536: [jybz@localhost ~]$ curl -s termbin.com/ojlz | KEYPASS=SpéMLO DECODE Voici un second test pour MLO !
La mise à jour :
La fonction ne pouvait être qu'utilisée seule (ex : ENCODE "message à coder" ) et maintenant elle peut en plus être utilisée à travers un pipe (ex : echo "message à coder" | ENCODE )
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Bon, ce n'est pas dans le bashrc, mais on pourrait l'y ajouter, tiens d'ailleurs, je vous fais la modification en live !
Préalablement, il faut avoir préalablement (activer l'option et copier ses identifiants sur son compte free) sauvegarder ce fichier texte :
~/.config/FreeMobileSMSID
Code TEXT :
{ "ID" : "01234567", "key" : "0a1b2c3d4e5f6g7" }
Puis, copier ses lignes dans le bashrc
Code BASH :
ID=$(cat ${HOME}/.config/FreeMobileSMSID | jq -r .ID) PASS=$(cat ${HOME}/.config/FreeMobileSMSID | jq -r .key) function freesms() { if [ 0 -ne ${#} ]; then MESSAGE="$(echo ${*} | sed -e 's/"/\\"/g' )" ; else MESSAGE="$(cat /dev/stdin | sed -e 's/"/\\"/g' )" ; fi ; JSON="$(echo "{ \"user\" : \"${ID}\", \"pass\" : \"${PASS}\", \"msg\" : \"${MESSAGE}\" }")" ; curl -s -H "Content-Type: application/json; charset=UTF-8" -X POST -d "${JSON}" https://smsapi.free-mobile.fr/sendmsg ; }
Son utilisation est simple et en deux versions :
Code BASH :
freesms "Coucou ! Voici un sms !"
Code BASH :
echo "Une sortie de commande redirigée." | freesms
Quelle utilisation en ai-je ?
J'ai une tâche cron sur mon Pi qui, chaque heure, vérifie mon adresse IPv4. Dès que l'ip change, je reçois un SMS me prévenant que l'adresse IP à changé.
PS : il faut installer jq ! J'utilise jq pour "parser" le fichier de configuration json. urpmi jq

Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Cette fois si, je trouve qu'il y a trop de ligne pour le mettre dans le bashrc, alors ça sera un script dans ~/bin/ on le nommera mailme
Préalablement, il faut avoir un fichier avec les identifiants mails qu'on souhaite :
cat ~/.config/email_cred.conf
Code TEXT :
{ "email": "AdresseDuCompteEmail@provider.tld", "password": "AAAaaaBBBbbbCCCccc==", "SMTP": "smtp://smtp.free.fr:587" }
Ici, le mot de passe n'est pas a inscrire en clair, mais en base64.
Autrement, on peut générer le fichier en une ligne de commande :
Code BASH :
echo -e "{\n \"email\": \"monEmail@provider.fr\",\n \"password\": \"$(echo "mon mot de passe en clair" | basenc --base64)\",\n \"SMTP\": \"smtp://smtp.provider.fr:587\"\n} >>~/.config/email_cred.conf
Puis, le script ~/bin/mailme
Code BASH :
#!/bin/bash export PATH="${PATH}:/usr/local/bin:/usr/local/games:/usr/games:${HOME}/.local/bin:${HOME}/bin" export LC_ALL="UTF-8" CONF_FILE="${HOME}/.config/email_cred.conf" function send_mail() { echo "${MESSAGE}" | mailx -n -s "${SUBJECT}" -S sendcharsets="UTF-8" -S ttycharset="UTF-8" -S from=${EMAIL} -S ${SMTP_STARTTLS} -S smtp=${SMTP_SERVER} -S ${SMTP_AUTH} -S smtp-auth-user="${SMTP_USER}" -S smtp-auth-password="${SMTP_PASS}" ${DESTINATAIRE} } CONFIG=$(cat ${CONF_FILE} | jq . ) if [ 0 -ne ${?} ]; then echo -e "The configuration file is not proper formated." >&2 exit 1 fi EMAIL=$(echo "${CONFIG}" | jq --raw-output '.email') DESTINATAIRE="${DESTINATAIRE:=${EMAIL}}" SUBJECT="${SUBJECT:="Untitle..."}" SMTP_STARTTLS="smtp-use-starttls" SMTP_SERVER=$(echo "${CONFIG}" | jq --raw-output '.SMTP') SMTP_AUTH="login" SMTP_USER="$(echo "${EMAIL}" | sed 's/@.*$//' )" SMTP_PASS="$(echo "${CONFIG}" | jq --raw-output '.password' | basenc -d --base64 )" if [ 0 -ne ${#} ]; then MESSAGE="$(echo ${*} | sed -e 's/"/\\"/g' )" else MESSAGE="$(cat /dev/stdin | sed -e 's/"/\\"/g' )" fi send_mail exit 0
Son utilisation peut être très simple :
Code BASH :
mailme message
qui envoi un message sur la même boite email duquel est envoyé le message, avec comme sujet "Untitle..."
Code BASH :
DESTINATAIRE="jeanvaljean@miserable.fr" mailme message
Une variante précisant un destinataire,
Code BASH :
DESTINATAIRE="jeanvaljean@miserable.fr" SUBJECT="Un autre sujet" mailme "message"
Une variante précisant le destinataire et le sujet
Code BASH :
top | head -n 20 | DESTINATAIRE="toto@poney.fr" SUBJECT="Resultat de top" mailme
Une variante montrant l'utilisation avec comme message le retour d'une commande.
Pourquoi la variable PATH est redéfinie ?
Car je commence à utiliser cron, et aucune variable n'est défini, ni même le PATH, et tous les scripts perso deviennent introuvable, je prends habitude de les ajouter. Même si ici, ça semble inutile.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Code BASH :
function TRACK_PACK () { curl -s https://global.cainiao.com/detail.htm?mailNoList=${1} | grep waybill_list_val_box | sed -e 's|^.*id="waybill_list_val_box">||' -e 's|</textarea>||' -e 's|& quot;|"|g' | jq ; }
Edit : le forum transforme & quot; (lorsqu'il n'y a pas d'espace) en guillemet et le remplacement d'une guillemet par une guillemet ne fait pas de sens. Il faut supprimer l'espace
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

tux Membre non connecté
-
- Voir le profil du membre tux
- Inscrit le : 27/08/2007
- Site internet
- Groupes :
Dans le mien, il y a ces deux lignes magnifiques :
figlet "HAL prend les commandes de cet ordinateur".
neofetch

Édité par tux Le 25/01/2021 à 21h57
Configuration logicielle : GNU/Linux Debian 13 Trixie 64bits
Noyau 6.12 – KDE Plasma 6.3.6 Wayland
Firefox – LibreWolf – Falkon – Ungoogled Chromium – Tor Browser
qBittorrent – Thunderbird – Element – Nheko – LibreOffice – Tenacity
Configuration matérielle :
Carte-mère Asus ROG Crosshair VIII Hero (Wifi) (Socket AM4 – Chipset X570)
Processeur AMD Ryzen 7 2700 + Mémoire 2x16Go
Carte graphique Asus AMD Radeon RX6400 Dual 4Gb
2 écrans 4K : Iiyama G-Master GB2888UHSU (Gold Phoenix) + Samsung F32TU870
Alimentation Seasonic Focus PX-650
2 Disques durs : Samsung 970 EVO NVMe (500Go) + Corsair MP600 Pro XT NVMe (8To)
Lecteur/Graveur Blu-Ray/DVD/CD Asus BW-16D1HT
Clavier Logitech K200 personnalisé en Azerty AFNOR (USB)
Souris Logitech MX Master 3S (Bluetooth)
Webcam Logitech C920 – Carte audio M-Audio M-Track 2x2 – Enceintes Logitech Z623
Casque AKG K702 – Micro Shure 55SH – Micro USB Sennheiser Profil
Imprimante/Scanneur HP Envy 5530
Noyau 6.12 – KDE Plasma 6.3.6 Wayland
Firefox – LibreWolf – Falkon – Ungoogled Chromium – Tor Browser
qBittorrent – Thunderbird – Element – Nheko – LibreOffice – Tenacity
Configuration matérielle :
Carte-mère Asus ROG Crosshair VIII Hero (Wifi) (Socket AM4 – Chipset X570)
Processeur AMD Ryzen 7 2700 + Mémoire 2x16Go
Carte graphique Asus AMD Radeon RX6400 Dual 4Gb
2 écrans 4K : Iiyama G-Master GB2888UHSU (Gold Phoenix) + Samsung F32TU870
Alimentation Seasonic Focus PX-650
2 Disques durs : Samsung 970 EVO NVMe (500Go) + Corsair MP600 Pro XT NVMe (8To)
Lecteur/Graveur Blu-Ray/DVD/CD Asus BW-16D1HT
Clavier Logitech K200 personnalisé en Azerty AFNOR (USB)
Souris Logitech MX Master 3S (Bluetooth)
Webcam Logitech C920 – Carte audio M-Audio M-Track 2x2 – Enceintes Logitech Z623
Casque AKG K702 – Micro Shure 55SH – Micro USB Sennheiser Profil
Imprimante/Scanneur HP Envy 5530
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie