From fab878e339aa27ab821a8e677e6854735f532285 Mon Sep 17 00:00:00 2001 From: Demonic Date: Thu, 3 Feb 2022 22:01:39 +0100 Subject: [PATCH] Add files via upload --- SHELL/Peugeot-Update.sh | 145 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 SHELL/Peugeot-Update.sh diff --git a/SHELL/Peugeot-Update.sh b/SHELL/Peugeot-Update.sh new file mode 100644 index 0000000..2c08e8c --- /dev/null +++ b/SHELL/Peugeot-Update.sh @@ -0,0 +1,145 @@ +#!/bin/sh +# Créateur Eric Legigan +# Version 1.0 du 08/04/2020 : Première version +# Version 1.1 du 09/04/2020 : Ajout de l'option de téléchargement des fichiers, correstion après test avec le VIN d'un RCC +# Version 1.2 du 09/04/2020 : Ajout du mode Debug en ajoutant un second paramètre "true" pour afficher plus d'informations, test des versions actuelles GPS et firmware et gestion des mises à jour proposées. + +curlurl="https://api.groupe-psa.com/applications/majesticf/v1/getAvailableUpdate?client_id=1eeecd7f-6c2b-486a-b59c-8e08fca81f54" +curlCookie="PSACountry=FR" +curlContentType="application/json" +curlAccept="application/json, text/plain, */*" + +if [ $# -eq 0 ] + then + echo "Merci de fournir le VIN de véhicule en paramètre." + exit +fi + + +VIN=$1 +debug=$2 +echo "Script de télécharement des mises à jours NAC et RCC" +echo "Traitement du véhicule avec le VIN suivant : "$VIN + +data="{\"vin\":\"$VIN\",\"softwareTypes\":[{\"softwareType\":\"ovip-int-firmware-version\"},{\"softwareType\":\"rcc-firmware\"}]}"; + +reponse=`curl -s -H "Cookie: $curlCookie" -H "Accept: $curlAccept" -H "Content-type: $curlContentType" -X POST -d $data $curlurl` + +case "$reponse" in + *ovip-int-firmware-version* ) model=NAC; data2="{\"vin\":\"$VIN\",\"softwareTypes\":[{\"softwareType\":\"ovip-int-firmware-version\"},{\"softwareType\":\"map-eur\"}]}";; + *rcc-firmware* ) model=RCC; data2="{\"vin\":\"$VIN\",\"softwareTypes\":[{\"softwareType\":\"rcc-firmware\"},{\"softwareType\":\"map-eur\"}]}";; + * ) echo "Erreur...";; +esac + +reponse2=`curl -s -H "Cookie: $curlCookie" -H "Accept: $curlAccept" -H "Content-type: $curlContentType" -X POST -d $data2 $curlurl` +echo "Model : "$model + +echo $reponse2 > result.json + +case "$model" in + NAC ) + GPSversion=`jq ".software[0].currentSoftwareVersion" result.json| sed -r 's/^"|"$//g'` + GPSLicencefile=`jq ".software[0].update[0].licenseURL" result.json| sed -r 's/^"|"$//g'` + GPSupdatetype=`jq ".software[0].softwareType" result.json| sed -r 's/^"|"$//g'` + GPSupdateurl=`jq ".software[0].update[0].updateURL" result.json| sed -r 's/^"|"$//g'` + GPSupdateversion=`jq ".software[0].update[0].updateVersion" result.json| sed -r 's/^"|"$//g'` + Softversion=`jq ".software[1].currentSoftwareVersion" result.json| sed -r 's/^"|"$//g'` + SoftLicencefile=`jq ".software[1].update[0].licenseURL" result.json| sed -r 's/^"|"$//g'` + Softupdatetype=`jq ".software[1].softwareType" result.json| sed -r 's/^"|"$//g'` + Softupdateurl=`jq ".software[1].update[0].updateURL" result.json| sed -r 's/^"|"$//g'` + Softupdateversion=`jq ".software[1].update[0].updateVersion" result.json| sed -r 's/^"|"$//g'` + + case "$debug" in + true ) echo $reponse2 | python -mjson.tool + echo "............................................" + echo "Version actuelle des cartes GPS : "$GPSversion + echo "Type de mise à jour : "$GPSupdatetype + echo "Lien de la mise à jour : "$GPSupdateurl + echo "Lien du fichier de licence : "$GPSLicencefile + echo "Version de la mise à jour : "$GPSupdateversion + echo "............................................" + echo "Version actuelle du firmware :"$Softversion + echo "Type de mise à jour : "$Softupdatetype + echo "Lien de la mise à jour : "$Softupdateurl + echo "Lien du fichier de licence : "$SoftLicencefile + echo "Version de la mise à jour : "$Softupdateversion + echo "............................................" + esac + + if [ -z $GPSupdateversion ] + then + echo "......................................................" + echo "Pas de mise à jour GPS !!!" + echo "......................................................" + else + if [ $GPSupdateversion != $GPSversion ] + then + echo "......................................................" + echo "Une mise à jour GPS est disponible : " $GPSupdateversion" pour la version actuelle : " $GPSversion + echo "......................................................" + fi + fi + + if [ -z $Softupdateversion ] + then + echo "......................................................" + echo "Pas de mise à jour firmware !!!" + echo "......................................................" + else + if [ $Softupdateversion != $Softversion ] + then + echo "......................................................" + echo "Une mise à jour firmware est disponible : " $Softupdateversion" pour la version actuelle : " $Softversion + echo "......................................................" + fi + fi + while true; do + read -p "Voulez-vous télécharger les fichiers ?" on + case $on in + [Oo]* ) wget --continue --content-disposition $SoftLicencefile $Softupdateurl $GPSupdateurl ; break;; + [Nn]* ) exit;; + * ) echo "Svp répondez oui ou non.";; + esac + done;; + + RCC ) + Softversion=`jq ".software[0].currentSoftwareVersion" result.json| sed -r 's/^"|"$//g'` + SoftLicencefile=`jq ".software[0].update[0].licenseURL" result.json| sed -r 's/^"|"$//g'` + Softupdatetype=`jq ".software[0].softwareType" result.json| sed -r 's/^"|"$//g'` + Softupdateurl=`jq ".software[0].update[0].updateURL" result.json| sed -r 's/^"|"$//g'` + Softupdateversion=`jq ".software[0].update[0].updateVersion" result.json| sed -r 's/^"|"$//g'` + + case "$debug" in + true ) echo $reponse2 | python -mjson.tool + echo "............................................" + echo "Version actuelle du firmware :"$Softversion + echo "Type de mise à jour : "$Softupdatetype + echo "Lien de la mise à jour : "$Softupdateurl + echo "Lien du fichier de licence : "$SoftLicencefile + echo "Version de la mise à jour : "$Softupdateversion + echo "............................................" + esac + + if [ -z $Softupdateversion ] + then + echo "......................................................" + echo "Pas de mise à jour firmware !!!" + echo "......................................................" + else + if [ $Softupdateversion != $Softversion ] + then + echo "......................................................" + echo "Une mise à jour firmware est disponible : " $Softupdateversion " pour la version actuelle : " $Softversion + echo "......................................................" + fi + fi + while true; do + read -p "Voulez-vous télécharger les fichiers ?" on + case $on in + [Oo]* ) wget --continue --content-disposition $SoftLicencefile $Softupdateurl ; break;; + [Nn]* ) exit;; + * ) echo "Svp répondez oui ou non.";; + esac + done;; + * ) echo "Modèle non indentifié...";; +esac \ No newline at end of file