você está aqui: Home  → Arquivo de Mensagens

Domínio livre / ip dinâmico com curl e crontab (dy*dns sucks!)

Colaboração: Márcio C. M. Rezende

Data de Publicação: 15 de maio de 2014

Recentemente o site dy*dns fez "o favor" de começar a cobrar pelos seus serviços.

Sempre usei os serviços do dy*dns. Desde 2005.

No início eles "deram" um bom conjunto de domínios para você escolher e, quendo bem escolhidos, ficavam bem legais. Eu utilizava um que gostava muito: homelinux.net.

E você tinha 3 domínios gratuitos para usar. Era uma maravilha.

Mas, como na vida, tudo que é bom dura pouco (neste caso nem tanto... Quase 10 anos usando), ano passado reduziram os nomes para incluir a "propaganda" dy*dns-server.com e reduziram para 2 domínios apenas.

Sempre oferecendo a possibilidade de migrar para o plano vip, com direito aos "docinhos" do passado.

Não... Muito obrigado, revisei meus scripts e lá estava eu, usando o serviço gratuitamente de novo.

Um belo dia, pelo fim do ano passado ou início deste, mudaram a regra de novo. Você teria agora que entrar pelo menos uma vez ao mês para manter tudo ok. Senão desativavam seus domínios e toma refazer o trabalho de recriar os seus domínios... Tudo bem, contornei, coloquei um alarme no meu j-pilot e pronto, entrava e saia no dia do alarme a vida seguiu normalmente.

Aí no mês passado, apelaram! Avisaram que iriam cancelar o serviço e eu tinha 30 dias para migrar e não perder "a promoção". Ótimo!!!

Criaram uma legião de usuários orfãos depois de catequisarem fabricantes para incluir o dyndns.org no firmware dos roteadores e... Puxaram a toalha.

Bando de fi%#$%@... Usam software livre e não respeitam mais o compromisso inicial com a comunidade! >:-(

Eu usava os domínios deles para acesso remoto e backup e simplesmente não precisaria pagar por isto, afinal meu uso é puramente hobbista. Usava o "jeito fácil", configurava um aplicativo, o ddclient - um script perl - que sincronizava o processo e a vida era linda e fácil até então.

Agora... Me vi forçado a mudar e como a necessidade é a mãe da invenção. Procurei por outros redirecionadores livres e achei o hopper.pw, que por enquanto, é livre e muito simples de usar.

Você cria seu domínio e ele gera um número mágico.

Bom lá vou eu tentar usar no meu roteador Inte*brás e ... Não deu! Li*ksys, também não... Tho*pson... Nem pensar!

Tentei reconfigurar o ddclient... Putz, analisei o código, tentei subverter os parâmetros. Nada saia. O ddclient evoluíra e agora é cheio de lenga-lenga para tudo que é tipo de roteador e serviço... Menos o hopper.pw!

Me perguntando: afinal o que este script ddclient tem de "tão sensacional" além de pingar um endereço e atualizar um servidor. Trabalho simples que complicaram ao extremo para "flexibilizar". É... O linux sofre disto também!

Quando enfim tive a feliz idéia de voltar à base: CURL !

Apontei o curl para a url com o número mágico e pronto retornava a informação em html. Simples assim.

Daí, usando o bom e confiável crontab. Foi só ajustar e, de cinco em cinco minutos, revalido o site. Já está rodando há mais de um mês, sem falhas!

Então vamos lá, a dica, depois da triste história:

Acesse o site hopper.pw e crie a sua conta.

(nota .pw é um local muito estranho, mas segundo a wikipedia pw - é um local chamado Palau, na Micronésia entretanto... Dizem alguns que pw é um acrônimo para "professional web")

Eles vão gerar um um domínio que tem um número mágico associado.

Então acesse o domínio fornecido com o curl:

  curl -s http://marzvix.hopper.pw:JmjKPkr58L@ipv4.www.hopper.pw/nic/update 

(Não, nem adianta tentar usar este link/chave, pois eu posso trocá-lo facilmente de tempos em tempos usando o gerador do site)

E a resposta é good ou nochg (quando o seu ip foi atualizado ou não)

Você deve então configurar o seu crontab para atualizar á cada xx:05 (cinco minutos das horas cheias) ou no intervalo de tempo que desejar.

  5  *    * * *   root    curl -s http://marzvix.hopper.pw:JmjKPkr58L@ipv4.www.hopper.pw/nic/update 

Simples assim, o seu ip dinâmico é atualizado no domínio do hopper.

  • Sem scripts
  • Sem aplicativos
  • Sem pagar taxa anual, mensal, etc
  • Sem se preocupar com os "aproveitadores" da comunidade de software livre e de código aberto.

Note que usando um sed e mais algumas linhas de código, dá para fazer um scriptzinho besta para tratar o retorno... Mas, no meu caso, apenas o curl e o cron foram suficientes para os meus serviços.

E a saída disto fica, de "graça", no syslog, assim:

  May 14 12:05:01 pistache /USR/SBIN/CRON[12860]: (root) CMD (curl -s http://marzvix.hopper.pw:JmjKPkr58L@ipv4.www.hopper.pw/nic/update) 
  May 14 13:05:01 pistache /USR/SBIN/CRON[14609]: (root) CMD (curl -s http://marzvix.hopper.pw:JmjKPkr58L@ipv4.www.hopper.pw/nic/update) 
  May 14 13:05:01 pistache /USR/SBIN/CRON[14611]: (root) CMD (curl -s http://mdexintegra.hopper.pw:3Lq9gmG8ka@ipv4.www.hopper.pw/nic/update) 
  May 14 14:05:01 pistache /USR/SBIN/CRON[16397]: (root) CMD (curl -s http://mdexintegra.hopper.pw:3Lq9gmG8ka@ipv4.www.hopper.pw/nic/update) 
  May 14 14:05:01 pistache /USR/SBIN/CRON[16396]: (root) CMD (curl -s http://marzvix.hopper.pw:JmjKPkr58L@ipv4.www.hopper.pw/nic/update) 


Veja a relação completa dos artigos de Márcio C. M. Rezende