Aller au contenu

Messages recommandés

Posté(e)

Bravo Dyndns !!!

Encore une societe qui passe d'un compte limite et gratuit Ă  "tout faire pour passer le client en payant" !

Se connecter Ă  leur site une fois par mois et non plus par la mise Ă  jour du client dyndns : Comment virer les clients gratuits.

Heureusement qu'il reste d'autres fournisseurs de service gratuit comme no-ip ou changeip !

Bon vent Ă  Dyndns mais sans moi !

Posté(e) (modifié)

les clients gratuits

Bel oxymore. :P

Apparemment, il est possible de créer une tùche planifiée dans le... planificateur de tùches pour exécuter le script (merci pour le lien d'ailleurs).

http://forum.synology.com/enu/viewtopic.php?f=226&t=65363

Je m'y attelle Ă©galement, pour continuer Ă  bĂ©nĂ©ficier de la fonctionnalitĂ© de contrĂŽle parental Internet Guide de Dyn, qui m'allait trĂšs bien comme ça. On imagine que Dyn fait dĂ©jĂ  bon usage des requĂȘtes effectuĂ©es via ses serveurs DNS pour se payer.

:ph34r:

Edit : avancement des travaux.

Une version du script qui fonctionne lorsque lancée en telnet via le compte root :

#!/bin/sh
LOGIN="lelogindefoksaduresurdyn.com"
PASSWORD="lemotdepassedefoksaduresurdyn.com"
COOKIES="dynsdns.cookies.txt"
#UA="Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/0.0.0 (KHTML, like Gecko) Version/0.0.0 Safari/0.0.0"
LOGINURL="https://account.dyn.com/"
POSTURL="$LOGINURL"
CHKURL="https://account.dyn.com/"
DST="-" || DST="/dev/null"
# Ensure no broken session caching...
[[ -s "$COOKIES" ]] && rm "$COOKIES"
echo >&2 "DEBUG: Fetching initial headers to pre-load cookies..."
curl -b $COOKIES -c $COOKIES -Ikso "$DST" -A "$UA" --url "$LOGINURL"
echo >&2 "DEBUG: Fetching UID..."
VALUE="$( curl -b $COOKIES -c $COOKIES -kso - -A "$UA" --url "$LOGINURL" | grep -m 1 "multiform" | cut -d"'" -f 6 )"
echo >&2 "DEBUG: Read UID as '$VALUE' - posting data..."
curl -b $COOKIES -c $COOKIES -d "username=$LOGIN" -d "password=$PASSWORD" -d "iov_id" -d "multiform=$VALUE" -e "$LOGINURL" -kso "$DST" -A "$UA" --url "$POSTURL"
echo >&2 "DEBUG: Response received - verifying result..."
curl -b $COOKIES -c $COOKIES -e "$POSTURL" -kso - -A "$UA" --url "$CHKURL" | grep -q "<span>Welcome&nbsp;<b>$LOGIN</b></span>" && echo "Login successful" || echo >&2 "Login failed"

On récupÚre bien le fichier dynsdns.cookies.txt dans le dossier du script.

Par contre, avec le planificateur de tùches, script toujours lancé en root via la commande "sh /volume1/scripts/dyndns-login.sh" dans l'interface de configuration de la tùche, cela ne fonctionne pas. Si on regarde l'état des tùches planifiées sur le syno :

DiskStation> cd /
DiskStation> cd /temp
DiskStation> synoschedtask --get
               ID: [2]
             Name: [dyn-login]
            State: [enabled]
            Owner: [root]
             Type: [weekly]
       Start date: [2013/5/20]
     Days of week: [Sat]
         Run time: [20]:[30]
          Command: [sh /volume1/scripts/dyndns-login.sh]
    Last Run Time: Mon May 20 16:11:30 2013
           Status: [Error(2)]

Je soupçonne un problÚme de chemin dans le script, en supposant que le code Status corresponde à la liste des codes retours de cron.

Bref, mes maigres compĂ©tences m'empĂȘchent d'aller plus loin. Help ! :(

Modifié par Foksadure
Posté(e)

Salut Foksadure

Tout d'abord merci pour ton script, c'est effectivement une trÚs bonne idée pour éviter de voir son compte dyndns supprimé.

Voici les quelques modifications que j'ai apportĂ© Ă  ton scripts (peut ĂȘtre que tes soucis ne viennent pas de lĂ  mais bon ..) et il fonctionne parfaitement dans mon cas par l'appel de la tĂąche planifiĂ©e que j'ai crĂ©e :

synoschedtask --get
               ID: [3]
             Name: [dyndns]
            State: [enabled]
            Owner: [root]
             Type: [daily]
       Start date: [0/0/0]
         Run time: [17]:[30]
          Command: [/volume1/homes/user/dyndns-login.sh >/root/dyndns-login.log 2>&1]
    Last Run Time: Wed May 22 17:30:02 2013
           Status: [Success]

J'ai tout d'abord mis un chemin complet vers /tmp/ pour le fichier de cookies et j'ai aussi mis le chemin complet des commandes appelés dans ton script :

#!/bin/sh
LOGIN="lelogindefoksaduresurdyn.com"
PASSWORD="lemotdepassedefoksaduresurdyn.com"
COOKIES="/tmp/dynsdns.cookies.txt"
LOGINURL="https://account.dyn.com/"
POSTURL="$LOGINURL"
CHKURL="https://account.dyn.com/"
DST="-" || DST="/dev/null"
# Ensure no broken session caching...
[[ -s "$COOKIES" ]] && rm "$COOKIES"
echo >&2 "DEBUG: Fetching initial headers to pre-load cookies..."
/usr/syno/bin/curl -b $COOKIES -c $COOKIES -Ikso "$DST" -A "$UA" --url "$LOGINURL"
echo >&2 "DEBUG: Fetching UID..."
VALUE="$( /usr/syno/bin/curl -b $COOKIES -c $COOKIES -kso - -A "$UA" --url "$LOGINURL" | grep -m 1 "multiform" | cut -d"'" -f 6 )"
echo >&2 "DEBUG: Read UID as '$VALUE' - posting data..."
/usr/syno/bin/curl -b $COOKIES -c $COOKIES -d "username=$LOGIN" -d "password=$PASSWORD" -d "iov_id" -d "multiform=$VALUE" -e "$LOGINURL" -kso "$DST" -A "$UA" --url "$POSTURL"
echo >&2 "DEBUG: Response received - verifying result..."
/usr/syno/bin/curl -b $COOKIES -c $COOKIES -e "$POSTURL" -kso - -A "$UA" --url "$CHKURL" | grep -q "<span>Welcome&nbsp;<b>$LOGIN</b></span>" && echo "Login successful" || echo >&2 "Login failed"

Ensuite, afin de récupérer les potentielles erreurs lors de l'exécution du script dans la crontab, j'ai mis la ligne de commande suivante dans la partie "Script défini par l'utilisateur " du planificateur de tùches :

/volume1/homes/user/dyndns-login.sh >/root/dyndns-login.log 2>&1

ce qui permet d'avoir le retour du script dans le fichier de log "/root/dyndns-login.log"

J'espÚre t'avoir aidé autant que tu nous a aidé pour la création de ton script ;-)

Posté(e) (modifié)

Bonjour,

Ce script n'est pas le mien mais celui que Stuart SHELDON a créé et posté sur son blog, et que tahitibub nous a linké dans son post, puisqu'il est l'auteur de ce fil. En clair : http://blog.stuart.shelton.me/archives/1024

Ceci rendu à César, merci loli71 pour ces modifications et pour avoir pris le temps de nous les détailler : c'est exactement ce que je voulais obtenir en plus (un fichier de log).

Edit : Ça marche ! :wub:

Modifié par Foksadure
Posté(e)

Merci Ă  vous pour nous aider !!

j'ai essayé mais j'ai à priori un problÚme de login. Voici un cat du fichier log :

DEBUG: Fetching initial headers to pre-load cookies...
HTTP/1.1 200 OK
Date: Thu, 23 May 2013 06:41:08 GMT
Server: Apache
Cache-control: no-cache
Content-Type: text/html; charset=ISO-8859-1
Expires: Thu, 23 May 2013 06:41:08 GMT
Set-Cookie: id=JVnFw29ptwywee+klWPLagoCpWw; domain=account.dyn.com; path=/; expires=Wed, 21-Aug-2013 06:41:08 GMT
Set-Cookie: s1=q3c8tlw7j2q67k1g; domain=.dyn.com; path=/
Set-Cookie: s2=9_%3d2zvv71skt4c6%3d; domain=account.dyn.com; path=/; secure
Accept-Ranges: none
Vary: Accept-Encoding
DEBUG: Fetching UID...
DEBUG: Read UID as '7139F84C6181229A3C7AA8F85C11BF5FA8' - posting data...
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>302 Found</TITLE>
</HEAD><BODY>
<H1>Found</H1>
The document has moved <A HREF="https://account.dyn.com/">here</A>.<P>
</BODY></HTML>
DEBUG: Response received - verifying result...
Login failed

Ca vous dit quelquechose ???

Quand je me connecte chez dyndns, ce n'est pas sur https://account.dyn.com/ mais sur https://account.dyn.com/entrance/ pour avoir la fenetre de login. Mais j'ai essayé les deux adresses dans le script sans résultat.

J'ai aussi fait un CHMOD u+x dyn... pour le rendre exécutable.

Le script est dans /volume1/homes/admin.

J'ai raté quelquechose ? Merci

  • 2 semaines aprĂšs...
Posté(e)

bonjour,

ça m'interesse également de mettre en place ce script mais j'avoue que je ne comprend pas bien ce qu'il faut faire exactement.

quelqu'un peut il m'expliquer étape par étape la procédure car pour l'instant, c'est du chinois pour moi.

Ă  quel moment, je met mon pass et login?

merci.

Posté(e)

salut,

j'ai mis à jour mon syno et j'ai maintenant le menu planification de taches mais je n'arrive pas à faire fonctionner ce script, il me faudrait un peu plus d'infos sur la façon de faire.

Posté(e)

Hello PAT77,

Tout d'abord merci aux différents contributeurs, ça marche bien :)

J'ai repris le script du site http://blog.stuart.shelton.me/archives/1024

Ajouter le chemin absolu pour la variable COOKIES

Dans un premier temps tu testes en ligne de commande le script sh /volume1/scripts/dyndns-login.sh ( endroit ou se trouve ton script )

Ne pas oublier de rendre ton script exécutable avec la commande du type : chmod +x nom_du_script

@]+

Posté(e)

Merci Ă  vous pour nous aider !!

j'ai essayé mais j'ai à priori un problÚme de login. Voici un cat du fichier log :

DEBUG: Fetching initial headers to pre-load cookies...
HTTP/1.1 200 OK
Date: Thu, 23 May 2013 06:41:08 GMT
Server: Apache
Cache-control: no-cache
Content-Type: text/html; charset=ISO-8859-1
Expires: Thu, 23 May 2013 06:41:08 GMT
Set-Cookie: id=JVnFw29ptwywee+klWPLagoCpWw; domain=account.dyn.com; path=/; expires=Wed, 21-Aug-2013 06:41:08 GMT
Set-Cookie: s1=q3c8tlw7j2q67k1g; domain=.dyn.com; path=/
Set-Cookie: s2=9_%3d2zvv71skt4c6%3d; domain=account.dyn.com; path=/; secure
Accept-Ranges: none
Vary: Accept-Encoding
DEBUG: Fetching UID...
DEBUG: Read UID as '7139F84C6181229A3C7AA8F85C11BF5FA8' - posting data...
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>302 Found</TITLE>
</HEAD><BODY>
<H1>Found</H1>
The document has moved <A HREF="https://account.dyn.com/">here</A>.<P>
</BODY></HTML>
DEBUG: Response received - verifying result...
Login failed

Ca vous dit quelquechose ???

Quand je me connecte chez dyndns, ce n'est pas sur https://account.dyn.com/ mais sur https://account.dyn.com/entrance/ pour avoir la fenetre de login. Mais j'ai essayé les deux adresses dans le script sans résultat.

J'ai aussi fait un CHMOD u+x dyn... pour le rendre exécutable.

Le script est dans /volume1/homes/admin.

J'ai raté quelquechose ? Merci

Pour ma part, j'ai bien le Login successful malgrĂšs la redirection de page :

DEBUG: Fetching initial headers to pre-load cookies...
HTTP/1.1 200 OK
Date: Wed, 05 Jun 2013 09:08:03 GMT
Server: Apache
Cache-control: no-cache
Content-Type: text/html; charset=ISO-8859-1
Expires: Wed, 05 Jun 2013 09:08:03 GMT
Set-Cookie: id=UHwlDqRUAHGk8k; domain=account.dyn.com; path=/; expires=Tue, 03-Sep-2013 09:08:03 GMT
Set-Cookie: s1=f5a713puh3pv; domain=.dyn.com; path=/
Set-Cookie: s2=rzd0igu%3du; domain=account.dyn.com; path=/; secure
Accept-Ranges: none
Vary: Accept-Encoding

DEBUG: Fetching UID...
DEBUG: Read UID as '9020D96FFD49976E8E6D2' - posting data...
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>302 Found</TITLE>
</HEAD><BODY>
<H1>Found</H1>
The document has moved <A HREF="https://account.dyn.com/">here</A>.<P>
</BODY></HTML>
DEBUG: Response received - verifying result...
Login successful

Je pense donc que tu dois avoir un problÚme de définition de LOGIN et PASSWORD dans le script, si vous avez des caractÚres spéciaux dans votre mot de passe, pensez bien à utiliser les simple quotes pour encadrer le mot de passe plutÎt que les doubles quotes :

Par exemple :

PASSWORD='M$N_M@tdePASSE!'

au lieu de

PASSWORD="M$N_M@tdePASSE!"

Posté(e) (modifié)

Hello,

2 petites modifs pour avoir un fichier de log plus propre :

Ajout de la date et de l'heure dans le script :

curl -b $COOKIES -c $COOKIES -e "$POSTURL" -kso - -A "$UA" -H "Accept-Language: $AL" --url "$CHKURL" |
grep -qE "<span>(Welcome|Hi)&nbsp;<b>$LOGIN</b></span>"
&& echo "`date +%Y%m%d_%H%M%S`: Login successful"
|| { echo >&2 "`date +%Y%m%d_%H%M%S`: Login failed" ; exit 1 ; }

Au niveau de la planification des tùches : incrémentation dans le fichier de log :

sh /volume1/homes/user/dyndns-login.sh 2>&1 >> /volume1/homes/user/dyndns-login.log

@+

Modifié par artrox
Posté(e)

merci mais tu parles chinois pour moi :blink: . Tu fais comment concretement pour ajouter ce script dans le ds? j'ai un ds110 avec derniere version.

Il me faut la façon d'inserer le script pour debutant, je pars de loin... :unsure:

merci en tout cas pour l'aide.



je ne comprend pas comment tu fais pour savoir que c'est bon.

Posté(e) (modifié)

Hello,

Dans un premier temps, il faut te connecter en mode terminal.

Pour se faire, tu vas sur l'interface du NAS et tu actives SSH :

Panneau de configuration / Service réseau / Terminal / Activer le service SSH.

Pour transférer ton script, le plus simple est de le copier sur une clé USB et d'utiliser File Station pour le mettre dans le

répertoire de ton choix.

Tu peux ensuite suivre le tuto pour utliser une web console.

Une fois le script lancé, il te donne l'info suivante :

DEBUG: Response received - verifying result...Login successful

@+

Modifié par artrox
Posté(e)

aprùs 18.3€ par ans c'est pas non plus excessif, depuis bientît 3 ans que je suis chez eux je n'est jamais eu de problùme, apres je peux comprendre que vous ne vouliez pas payer mais bon. en tous cas bonne chance pour votre script

  • 4 semaines aprĂšs...
  • 2 semaines aprĂšs...
Posté(e) (modifié)

Merci Ă  tous pour vos contributions.

Voici donc ce que j'ai mis dans mon fichier sh :

#!/bin/sh
LOGIN="xxxxxxxxxx"
PASSWORD="xxxxxxxxxx"
COOKIES="/tmp/dynsdns.cookies.txt"
LOGINURL="https://account.dyn.com/"
POSTURL="$LOGINURL"
CHKURL="https://account.dyn.com/"
DST="-" || DST="/dev/null"
# Ensure no broken session caching...
[[ -s "$COOKIES" ]] && rm "$COOKIES"
echo >&2 "DEBUG: Fetching initial headers to pre-load cookies..."
/usr/syno/bin/curl -b $COOKIES -c $COOKIES -Ikso "$DST" -A "$UA" --url "$LOGINURL"
echo >&2 "DEBUG: Fetching UID..."
VALUE="$( /usr/syno/bin/curl -b $COOKIES -c $COOKIES -kso - -A "$UA" --url "$LOGINURL" | grep -m 1 "multiform" | cut -d"'" -f 6 )"
echo >&2 "DEBUG: Read UID as '$VALUE' - posting data..."
/usr/syno/bin/curl -b $COOKIES -c $COOKIES -d "username=$LOGIN" -d "password=$PASSWORD" -d "iov_id" -d "multiform=$VALUE" -e "$LOGINURL" -kso "$DST" -A "$UA" --url "$POSTURL"
echo >&2 "DEBUG: Response received - verifying result..."
/usr/syno/bin/curl -b $COOKIES -c $COOKIES -e "$POSTURL" -kso - -A "$UA" --url "$CHKURL" | grep -q "<span>Welcome&nbsp;<b>$LOGIN</b></span>" && echo "Login successful" || echo >&2 "Login failed"

Pour info, le prénommé "Dirk" a modifié le script de façon à gérer plusieurs comptes Dyndns et à envoyer un mail (voir Post 34 du blog stuart).

Voici ce que ça donne chez lui :

#!/usr/bin/env bash

LOGIN=(     'account1'   'account2'   'accountn' )
PASSWORD=(  'password1'  'password2'  'passwordn' )
#UA="Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/0.0.0 (KHTML, like Gecko) Version/0.0.0 Safari/0.0.0"

EMAIL='myemail@example.com'

COOKIES="/tmp/.dynsdns.cookies.txt"

LOGINURL="<a href="https://account.dyn.com/entrance/&quot" rel="nofollow">https://account.dyn.com/entrance/&quot</a>;
POSTURL="$LOGINURL"
CHKURL="<a href="https://account.dyn.com/&quot" rel="nofollow">https://account.dyn.com/&quot</a>;

(( DEBUG )) && DST="-" || DST="/dev/null"

for i in ${!LOGIN[*]};
do (
        # Ensure no broken session caching...
        [[ -s "$COOKIES" ]] && rm "$COOKIES"

        (( DEBUG )) && echo >&2 "DEBUG: Fetching initial headers to pre-load cookies..."
        curl -b $COOKIES -c $COOKIES -Ikso "$DST" -A "$UA" --url "$LOGINURL"
        (( DEBUG )) && echo >&2 "DEBUG: Fetching UID..."
        VALUE="$( curl -b $COOKIES -c $COOKIES -kso - -A "$UA" --url "$LOGINURL" | grep -m 1 "multiform" | cut -d"'" -f 6 )"
        (( DEBUG )) && echo >&2 "DEBUG: Read UID as '$VALUE' - posting data..."
        curl -b $COOKIES -c $COOKIES -d "username=${LOGIN[$i]}" -d "password=${PASSWORD[$i]}" -d "iov_id" -d "multiform=$VALUE" -e "$LOGINURL" -kso "$DST" -A "$UA" --url "$POSTURL"
        (( DEBUG )) && echo >&2 "DEBUG: Response received - verifying result..."
        curl -b $COOKIES -c $COOKIES -e "$POSTURL" -kso - -A "$UA" --url "$CHKURL" | grep -qE "<span>(Welcome|Hi)&nbsp;<b>${LOGIN[$i]}</b></span>" && (echo "Login successful" | mutt -s "DynDNS ${LOGIN[$i]} successful" -- $EMAIL) || (echo "Login failed" | mutt -s "DynDNS ${LOGIN[$i]} failed" -- $EMAIL)
        sleep 5$i.$RANDOM );
done

Sinon, Artrox pourrait-il publier son code complet, avec les modifs pour le fichier log ?

Merci

Modifié par tahitibub
  • 8 mois aprĂšs...
Posté(e)

Bon bah fin de la partie.

To our Dyn free hostname users:
For the last 15 years, all of us at Dyn have taken pride in offering you and millions of others a free version of our Dynamic DNS Pro product. What was originally a product built for a small group of users has blossomed into an exciting technology used around the world.
That is why with mixed emotions we are notifying you that in 30 days, we will be ending our free hostname program. This change in the business will allow us to invest in our customer support teams, Internet infrastructure, and platform security so that we can continue to strive to deliver an exceptional customer experience for our paying customers.
We would like to invite you to upgrade to VIP status for less than $20 -- a 25% discount good for any package of Remote Access (formerly DynDNS Pro). By doing so, you'll have access to customer support, additional hostnames, and more.

Avoir eu gratuitement Internet Guide - et accessoirement un nom de domaine dynamique - aussi longtemps, c'Ă©tait quand mĂȘme chouette, mĂȘme si finalement je me passerai sans pb des deux.

Merci Ă  eux quand mĂȘme. :mellow:

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet


×   CollĂ© en tant que texte enrichi.   Coller en tant que texte brut Ă  la place

  Seulement 75 Ă©moticĂŽnes maximum sont autorisĂ©es.

×   Votre lien a Ă©tĂ© automatiquement intĂ©grĂ©.   Afficher plutĂŽt comme un lien

×   Votre contenu prĂ©cĂ©dent a Ă©tĂ© rĂ©tabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insĂ©rez-les depuis une URL.

×
×
  • 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.