scripts/track/track.sh
2024-01-08 14:38:13 +01:00

250 lines
6 KiB
Bash
Executable file

#!/bin/bash
V="\e[92m"
B="\e[1m"
N="\e[0m"
S="\e[4m"
# Detection systeme
if [ -f /c/Windows/explorer.exe ]; then cmdurl=start; fi # MSYS2
if [ -f ../usr/bin/termux-open ]; then cmdurl=termux-open; fi # Termux
if [ -f /usr/bin/xdg-open ]; then cmdurl=xdg-open; fi # GNU/Linux
if [ -z $cmdurl ]; then echo Aucun lanceur trouvé !; read; exit; fi
# Logo (Ajouter logo MuX..)
logo() {
clear
echo
echo -e " ${S}Outil de suivi de colis$N - MuXtrack"
echo
}
# Fonction help
help() {
echo "MuXtrack - Syntaxe :"
echo " ./muxtrack.sh <ch,dhl,lp,lpc,tnt,mr> <numéro colis>"
echo
exit
}
# Debut de la "grande boucle"
while : ; do {
# Une fonction par société
chrono() {
while : ; do {
if [ -z $1 ] # Si pas de num colis donné en argument
then
logo
echo -e "Taper q puis entrée pour revenir\n"
read -p "Numéro de colis Chronopost : " num
if [ $num = q ] || [ $num = Q ]; then break ;fi
else # Si num colis donné en argument
num=$1
fi
$cmdurl "https://www.chronopost.fr/fr/chrono_suivi_search?listeNumerosLT=${num}&lang=fr"
if [ ! -z $1 ]; then exit; fi # Si num colis en argument, fermer.
}
done
}
dhl() {
while : ; do {
if [ -z $1 ]
then
logo
echo -e "Taper q puis entrée pour revenir\n"
read -p "Numéro de colis DHL : " num
if [ $num = q ] || [ $num = Q ]; then break ;fi
else
num=$1
fi
$cmdurl "http://www.dhl.fr/fr/dhl_express/suivi_expedition.html?AWB=${num}&brand=DHL"
if [ ! -z $1 ]; then exit; fi
}
done
}
dpd() {
while : ; do {
if [ -z $1 ]
then
logo
echo -e "Taper q puis entrée pour revenir\n"
read -p "Numéro de colis DPD : " num
if [ $num = q ] || [ $num = Q ]; then break ;fi
else
num=$1
fi
$cmdurl "https://tracking.dpd.de/status/fr_FR/parcel/${num}"
if [ ! -z $1 ]; then exit; fi
}
done
}
lp() {
while : ; do {
if [ -z $1 ]
then
logo
echo -e "Taper q puis entrée pour revenir\n"
read -p "Numéro de colis Laposte : " num
if [ $num = q ] || [ $num = Q ]; then break ;fi
else
num=$1
fi
$cmdurl "https://www.suivre-des-colis.fr/la-poste/tracking/?trackingcode=${num}&provider=la-poste"
if [ ! -z $1 ]; then exit; fi
}
done
}
lpc() {
while : ; do {
if [ -z $1 ]
then
logo
echo -e "Taper q puis entrée pour revenir\n"
read -p "Numéro de colis Colissimo : " num
if [ $num = q ] || [ $num = Q ]; then break ;fi
else
num=$1
fi
$cmdurl "https://www.laposte.fr/outils/suivre-vos-envois?code=${num}"
if [ ! -z $1 ]; then exit; fi
}
done
}
mr() {
while : ; do {
if [ -z $1 ]
then
logo
echo -e "Taper q puis entrée pour revenir\n"
read -p "Numéro de colis Mondial Relay : " num
if [ $num = q ] || [ $num = Q ]; then break ;fi
else
num=$1
fi
$cmdurl "https://www.mondialrelay.fr/suivi-de-colis?codeMarque=CC&numeroExpedition=${num}&language=fr"
if [ ! -z $1 ]; then exit; fi
}
done
}
tnt() {
while : ; do {
if [ -z $1 ]
then
logo
echo -e "Taper q puis entrée pour revenir\n"
read -p "Numéro de colis TNT : " num
if [ $num = q ] || [ $num = Q ]; then break ;fi
else
num=$1
fi
$cmdurl "https://www.tnt.fr/public/suivi_colis/recherche/visubontransport.do?bonTransport=${num}&radiochoixrecherche=BT&radiochoixtypeexpedition=NAT"
if [ ! -z $1 ]; then exit; fi
}
done
}
# Possibilité d'appeler directement une fonction avec un argument
if [ ! -z $1 ]; then
case "$1" in
ch)
if [ -z $2 ]; then help; fi
chrono $2
;;
dhl)
if [ -z $2 ]; then help; fi
dhl $2
;;
dpd)
if [ -z $2 ]; then help; fi
dpd $2
;;
lp)
if [ -z $2 ]; then help; fi
lp $2
;;
lpc)
if [ -z $2 ]; then help; fi
lpc $2
;;
tnt)
if [ -z $2 ]; then help; fi
tnt $2
;;
mr)
if [ -z $2 ]; then help; fi
mr $2
;;
*)
help
;;
esac
fi
logo
echo " 1) Chronopost"
echo " 2) DHL"
echo " 3) DPD"
echo " 4) Laposte"
echo " 5) Laposte Colissimo"
echo " 6) TNT"
echo " 7) Mondial Relay"
echo
echo " Q) Quitter"
echo
read -n1 -p "Choix > " ch
case "$ch" in
1)
chrono
;;
2)
dhl
;;
3)
dpd
;;
4)
lp
;;
5)
lpc
;;
6)
tnt
;;
7)
mr
;;
q|Q)
echo&&exit 1
;;
*)
echo "mauvais choix"
;;
esac
}
done