Já abordámos uma vez aqui a questão do famoso serviço DynDNS obrigar as contas gratuitas a terem que se autenticar no site pelo menos uma vez por mês. Até foi apresentada uma alternativa fiável mas… o problema é que o serviço DynDNS é muito utilizado e a maior parte dos routers para PMEs quase só permitem este serviço para se poder configurar o serviço de DNS dinâmico. Então temos duas opções: ou autenticarmo-nos no site do DyndDNS de 15 em 15 dias (booooring!) ou arranjamos um script que faça isso por nós 🙂
Parto do princípio que tem o programa cron instalado e com o serviço ativo.
Na consola do nosso linux, como root, criamos um documento novo:
nano /etc/cron.weekly/dyndnslogin.sh e inserimos o seguinte texto:
#!/bin/bash ######################################################################## # # dyndns auto-login # ####################################################################### ######################################################################## # Conta DynDNS (não é o email mas sim o username) USERNAME= "username" PASSWORD= "password" ######################################################################## # VariaveisIn PROGNAME=dyndnslogin COOKIE=`mktemp --tmpdir= "/tmp" -t ${PROGNAME}_cookie_***XXXX` OUTPUT=`mktemp --tmpdir= "/tmp" -t ${PROGNAME}_output_***XXXX` USERAGENT= "Mozilla/5.0" ######################################################################## # Main MULTIFORM=`curl -s -k -A $USERAGENT -c $COOKIE https: //account .dyn.com \ | awk -F\ ' ' /multiform/ { print $6 }'` curl -s -k --location -A "$USERAGENT" -b $COOKIE -c $COOKIE -o $OUTPUT \--data "username=$USERNAME&password=$PASSWORD&iov_id=&sub mit=Log+in&multiform=$MULTIFORM" \https: //account .dyn.com/ if grep -E "(Welcome|Hi).*$USERNAME" $OUTPUT > /dev/null 2>&1 then echo Login com sucesso else echo Login falhou FAILED= "true" fi rm $COOKIE rm $OUTPUT if [ "$FAILED" = "true" ] then exit 1 fi # EOF |
Não esquecer de alterar os dados de username e password logo no início do script para a conta que pretendemos usar.
Em seguida salvamos e damos permissão de execução:
chmod +x /etc/cron.weekly/dyndnslogin.sh
Podemos testar executando:
sh /etc/cron.weekly/dyndnslogin.sh
Se tudo correr bem vão receber a resposta
Login com sucesso
E assim semanalmente o nosso script vai fazer o login por nós.
Se isto vai durar muito tempo? Não sei… depende da DynDNS. Mas para já funciona muito bem!