{"id":325,"date":"2013-11-25T21:19:41","date_gmt":"2013-11-25T20:19:41","guid":{"rendered":"http:\/\/papimigas.wordpress.com\/?p=325"},"modified":"2013-11-25T21:19:41","modified_gmt":"2013-11-25T20:19:41","slug":"dyndns-auto-login","status":"publish","type":"post","link":"https:\/\/blog.papimigas.com\/index.php\/2013\/11\/25\/dyndns-auto-login\/","title":{"rendered":"DynDNS Auto-login"},"content":{"rendered":"<p style=\"text-align:center;\"><span style=\"line-height:1.5;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" alt=\"\" src=\"http:\/\/a.dyndns.com\/images\/kb\/dnsflowchart-static.gif\" width=\"532\" height=\"300\" \/><\/span><\/p>\n<p>J\u00e1 abord\u00e1mos uma vez <a href=\"http:\/\/papimigas.wordpress.com\/2013\/08\/27\/dns-dinamico-num-servidor-ubuntudebian\/\" target=\"_blank\">aqui<\/a>\u00a0a quest\u00e3o do famoso servi\u00e7o DynDNS obrigar as contas gratuitas a terem que se autenticar no site pelo menos uma vez por m\u00eas. At\u00e9 foi apresentada uma alternativa fi\u00e1vel mas&#8230; o problema \u00e9 que o servi\u00e7o DynDNS \u00e9 muito utilizado e a maior parte dos routers para PMEs quase s\u00f3 permitem este servi\u00e7o para se poder configurar o servi\u00e7o de DNS din\u00e2mico. Ent\u00e3o temos duas op\u00e7\u00f5es: ou autenticarmo-nos no site do DyndDNS de 15 em 15 dias (booooring!) ou arranjamos um script que fa\u00e7a isso por n\u00f3s \ud83d\ude42<\/p>\n<p>Parto do princ\u00edpio que tem o programa <a href=\"http:\/\/www.scrounge.org\/linux\/cron.html\" target=\"_blank\">cron <\/a>instalado e com o servi\u00e7o ativo.<\/p>\n<p>Na consola do nosso linux, como root, criamos um documento novo:<\/p>\n<p>nano\u00a0\/etc\/cron.weekly\/dyndnslogin.sh e inserimos o seguinte texto:<\/p>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div><code>#!\/bin\/bash<\/code><\/div>\n<div><code>########################################################################<\/code><\/div>\n<div><code>#<\/code><\/div>\n<div><code># dyndns auto-login<\/code><\/div>\n<div><code>#<\/code><\/div>\n<div><code>#######################################################################<\/code><\/div>\n<div><\/div>\n<div><code>########################################################################<\/code><\/div>\n<div><code># Conta DynDNS (n\u00e3o \u00e9 o email mas sim o username)<\/code><\/div>\n<div><code>USERNAME=<\/code><code>\"<em>username<\/em>\"<\/code><\/div>\n<div><code>PASSWORD=<\/code><code>\"<em>password<\/em>\"<\/code><\/div>\n<div><code>########################################################################<\/code><\/div>\n<div><code># VariaveisIn<\/code><\/div>\n<div><code>PROGNAME=dyndnslogin<\/code><\/div>\n<div><code>COOKIE=`mktemp --tmpdir=<\/code><code>\"\/tmp\"<\/code> <code>-t ${PROGNAME}_cookie_***XXXX`<\/code><\/div>\n<div><code>OUTPUT=`mktemp --tmpdir=<\/code><code>\"\/tmp\"<\/code> <code>-t ${PROGNAME}_output_***XXXX`<\/code><\/div>\n<div><code>USERAGENT=<\/code><code>\"Mozilla\/5.0\"<\/code><\/div>\n<div><\/div>\n<div><code>########################################################################<\/code><\/div>\n<div><code># Main<\/code><\/div>\n<div><\/div>\n<div><code>MULTIFORM=`curl -s -k -A $USERAGENT -c $COOKIE https:<\/code><code>\/\/account<\/code><code>.dyn.com \\ | <\/code><code>awk<\/code> <code>-F\\<\/code><code>' '<\/code><code>\/multiform\/<\/code><code>{ print $6 }'`<\/code><\/div>\n<div><\/div>\n<div><code>curl -s -k --location -A <\/code><code>\"$USERAGENT\"<\/code> <code>-b $COOKIE -c $COOKIE -o $OUTPUT \\--data <\/code><code>\"username=$USERNAME&amp;password=$PASSWORD&amp;iov_id=&amp;sub mit=Log+in&amp;multiform=$MULTIFORM\"<\/code> <code>\\https:<\/code><code>\/\/account<\/code><code>.dyn.com\/<\/code><\/div>\n<div><\/div>\n<div><code>if<\/code> <code>grep<\/code> <code>-E <\/code><code>\"(Welcome|Hi).*$USERNAME\"<\/code> <code>$OUTPUT &gt; <\/code><code>\/dev\/null<\/code> <code>2&gt;&amp;1<\/code><\/div>\n<div><code>then<\/code><\/div>\n<div><code>echo<\/code> <code>Login com sucesso<\/code><\/div>\n<div><code>else<\/code><\/div>\n<div><code>echo<\/code> <code>Login falhou<\/code><\/div>\n<div><code>FAILED=<\/code><code>\"true\"<\/code><\/div>\n<div><code>fi<\/code><\/div>\n<div><\/div>\n<div><code>rm<\/code> <code>$COOKIE<\/code><\/div>\n<div><code>rm<\/code> <code>$OUTPUT<\/code><\/div>\n<div><\/div>\n<div><code>if<\/code> <code>[ <\/code><code>\"$FAILED\"<\/code> <code>= <\/code><code>\"true\"<\/code> <code>]<\/code><\/div>\n<div><code>then<\/code><\/div>\n<div><code>exit<\/code> <code>1<\/code><\/div>\n<div><code>fi<\/code><\/div>\n<div><\/div>\n<div><code># EOF<\/code><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>N\u00e3o esquecer de alterar os dados de <em>username<\/em> e <em>password<\/em> logo no in\u00edcio do script para a conta que pretendemos usar.<\/p>\n<p>Em seguida salvamos e damos permiss\u00e3o de execu\u00e7\u00e3o:<\/p>\n<pre>chmod +x\u00a0\/etc\/cron.weekly\/dyndnslogin.sh<\/pre>\n<p>Podemos testar executando:<\/p>\n<p><span style=\"font-family:Consolas, Monaco, monospace;font-size:12px;line-height:18px;\">sh \/etc\/cron.weekly\/dyndnslogin.sh<\/span><\/p>\n<p>Se tudo correr bem v\u00e3o receber a resposta<\/p>\n<pre>Login com sucesso<\/pre>\n<p>E assim semanalmente o nosso script vai fazer o login por n\u00f3s.<\/p>\n<p>Se isto vai durar muito tempo? N\u00e3o sei&#8230; depende da DynDNS. Mas para j\u00e1 funciona muito bem!<\/p>\n<p><a href=\"http:\/\/www.stoufis.gr\/blog\/topics\/2010\" target=\"_blank\">Fonte<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>J\u00e1 abord\u00e1mos uma vez aqui\u00a0a quest\u00e3o do famoso servi\u00e7o DynDNS obrigar as contas gratuitas a terem que se autenticar no site pelo menos uma vez por m\u00eas. At\u00e9 foi apresentada uma alternativa fi\u00e1vel mas&#8230; o problema \u00e9 que o servi\u00e7o DynDNS \u00e9 muito utilizado e a maior parte dos routers para PMEs quase s\u00f3 permitem &hellip; <a href=\"https:\/\/blog.papimigas.com\/index.php\/2013\/11\/25\/dyndns-auto-login\/\" class=\"more-link\">Continuar a ler<span class=\"screen-reader-text\"> &#8220;DynDNS Auto-login&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[21,54],"class_list":["post-325","post","type-post","status-publish","format-standard","hentry","category-linux","tag-auto-login","tag-dyndns"],"_links":{"self":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/posts\/325","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/comments?post=325"}],"version-history":[{"count":0,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/posts\/325\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/media?parent=325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/categories?post=325"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.papimigas.com\/index.php\/wp-json\/wp\/v2\/tags?post=325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}