Aller au contenu

Jojo (BE)

Membres
  • Compteur de contenus

    419
  • Inscription

  • Dernière visite

  • Jours gagnés

    2

Jojo (BE) a gagné pour la dernière fois le 1 avril 2019

Jojo (BE) a eu le contenu le plus aimé !

À propos de Jojo (BE)

  • Date de naissance 08/25/1967

Mon Profil

  • Sex
    Male
  • Pays / Ville
    Nivelles (Belgique)

Visiteurs récents du profil

3165 visualisations du profil

Jojo (BE)'s Achievements

Newbie

Newbie (1/14)

  • Dedicated Rare
  • First Post Rare
  • Collaborator Rare
  • Reacting Well Rare
  • Week One Done

Recent Badges

4

Réputation sur la communauté

  1. voici donc une mise à jour du post/script basée sur : le fait que ça ne fonctionnait pas du tout chez moi je ne recevais pas les mails Pour régler le premier souci : - dans Notepad ++ mes fins de ligne affichaient CRLF au lieu de LF (si on affiche les caractères spéciaux) - en fait il faut LF, et pour cela (dans Notepad++) il faut Edition -> Convertir les sauts de ligne -> Convertir en format UNIX (LF) Ensuite les mails ne partaient pas, et là j'ai du changer dans le code du script. J'en ai profité pour faire d'autres adaptation (log : 1 ligne au lien de> 5 lignes à chaque changement de WAN, ...) voici donc le code qui va bien (chez moi) pour DSM 7.2 #!/bin/bash # NotifWanChange.sh # https://www.nas-forum.com/forum/topic/63653-tuto-envoi-de-mail-de-changement-de-ip-pour-dsm-et-srm/ # 25/03/2025 by Jojo (BE) : compatibility with DSM 7.2 # & various optimisations (v0.1.0) # 25/07/2019 by PPJP, Supertxt & unPixel : original numbering (v0.0.2) ##################### ### CONFIGURATION ### ##################### # Mail MAIL_TO="destinataire@ndd.tld" MAIL_FROM="${HOSTNAME} <expediteur@ndd.tld>" MAIL_SUBJECT="[${HOSTNAME}] Votre adresse IP publique (WAN) a changé !" # fichiers de memo de l'IP et des logs MEMOIPFILE="/volume1/ScriptsUnix/ip.txt" LOGFILE="/volume1/ScriptsUnix/ip.log" # listes de sites retournant l'IP WAN SITES=("http://checkip.amazonaws.com" "https://api.ipify.org/" "http://ipecho.net/plain" "http://icanhazip.com/" "http://ipinfo.io/ip" "https://wtfismyip.com/text" "http://whatismyip.akamai.com/" "https://ipv4bot.whatismyipaddress.com" "https://www.dsfc.net/ipinfo.php" "http://api.ipaddress.com/myip") ################# ### FONCTIONS ### ################# memoriser_IP() { echo $new_ip > $MEMOIPFILE } lire_old_ip() { if test -f "$MEMOIPFILE"; then old_ip=`cat $MEMOIPFILE` #lecture ancienne IP si fichier ip.txt existe fi } lire_ip_wan() { nbTest=0 ip_lue_valide=1 # boucle sur les sites pour en trouver un retournant une IP valide until [[ $ip_lue_valide -eq 0 || $nbTest -eq $nbSites ]];do ip_lue=`curl -s -L ${SITES[($[($1 + $nbTest) % $nbSites])]}` if [[ $ip_lue =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then # test si reponse est une IP ip_lue_valide=0 else ((nbTest++)) sleep 1 #utile? fi # repositine pointeur sur le suivant du dernier consulté idSite=($[($1 + $nbTest) % $nbSites + 1]) done } envoi_mail() { MAIL_BODY=`printf "Bonjour,\nVotre adresse IP publique (WAN) a changé !\n\nAncienne IP : $old_ip\nNouvelle IP : $new_ip\n\nSynology DiskStation\n\nFrom ${HOSTNAME}"` /usr/bin/php -r "mail('${MAIL_TO}', '${MAIL_SUBJECT}', '${MAIL_BODY}', 'From: ${MAIL_FROM}');" } inscription_log() { echo "$(date +'%d/%m/%Y-%H:%M:%S') : WAN $old_ip -> $new_ip" >> $LOGFILE } ############### ### SCRIPT ### ############### nbSites=${#SITES[@]} idSite=$(( $RANDOM % $nbSites )) lire_old_ip lire_ip_wan $idSite if [ $ip_lue_valide -eq 0 ]; then # si IP lue valide if [ "${old_ip}" != "${ip_lue}" ]; then # si IP changée new_ip=$ip_lue # IP à confirmer ip_lue_valide=1 bcl=0 # recherche autre site fournissant une IP valide until [[ $ip_lue_valide -eq 0 || $bcl -eq $nbSites ]];do ((bcl++)) lire_ip_wan $idSite done if [ "${ip_lue}" == "${new_ip}" ]; then # si nouvelle IP confirmée memoriser_IP inscription_log envoi_mail fi fi fi #for testing rm $MEMOIPFILE exit 0
  2. j'ai trouvé la solution pour mes CRLF : Dans Notepad++ : Edition -> Convertir les sauts de ligne -> Convertir en format UNIX (LF) et je n'ai plus l'erreur 🙂 => merci @PiwiLAbruti de m'avoir mis sur la piste. Maintenant, je dois regarder pourquoi rien ne se passe ... (on y arrivera ...)
  3. j'ai continué d'investigué suivant tes instructions, et TOUS les scripts qui fonctionnent, ont à la fin de chaque ligne des LF et pas des CR LF comme ce script MAIS je ne sais pas détruire uniquement le CR : un del détruit le CR LF, comme si ce n'était qu'un seul charactère. Une piste ?
  4. Merci de ta réponse rapide En effet, j'édite avec Notepad++ L'encodage était UTF-8, et je j'ai changé, mais ça ne change rien. J'affiche tous les caractères spéciaux, et voici ce que vois
  5. ni connaissant rien en scripts batch, j'exécute votre script sur mon DSM 7.2, et il me retourne l'erreur suivante que je ne sais pas interpréter /bin/bash: /volume1/ScriptsUnix/NotifWanChange.sh: /bin/bash^M: bad interpreter: No such file or directory une piste ? => Merci
  6. faut 😄, je suis également intéressé au superlatif, c'ailleurs merci qu passage à tous les 2/3 pour vos contributions et partages
  7. 100GBperso, j'enregistre en continu (j'ai réservé un espace de 100GB), et ainsi si qu'un fait qqch de "pas bien" et non détecté, il est filmé
  8. leur gamme est très étendue, et c'est du matos de bonne qualité. https://www.hikvision.com/fr/Products/PTZ/DF-line-Network-Smart-PTZ/8-Megapixel-series
  9. je suis très content de la game Hikvision
  10. si la caméra n'est pas reprise dans la liste des caméras préconfigurées par SS (as-tu la dernière version de SS ?), essaye avec une caméra générique et les url que tu peux trouver ici : http://www.ispyconnect.com/sources.aspx
  11. selon moi, tout est ok du point de vue sécurité
  12. il y a une option sur la caméra qui permet d'ouvrir les ports automatiquement (UPnP) qui ne doit pas être activée. Ainsi la caméra n'est pas exposée directement sur internet, mais uniquement via le Syno. Change également le mdr admin, car il y a moyen de trouver des listes avec les mdr standard de tous les modèles de caméras
  13. la réponse que j'ai fête juste avant devrait t'aider, car avec IFTTT et les WebHooks, tu peux exécuter des url, donc piloter comme tu veux tes caméras, où si elles sont alimentées en 220V, couper leur alimentation avec une prise WiFi (tu es entrain d'utiliser IFTTT comme une box démotique ...)
  14. je n'ai pas lu toutes les réponses, mais avec ceci (vois la dernière version sur Git), tu devrais faire ce que tu veux.
  15. cool pour le PoE en C ! Cette caméra à l'air sympa. (Pur elle également tu auras des prix le 29/11 ?)
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.