segunda-feira, 27 de maio de 2013

Como sobreviver às mudanças das regras do DynDNS.

Desde da época da Internet Discada, a cada conexão, seja via dial-up ou via banda larga os ips mudam. Daí, de um outro lugar, você quer conectar na sua máquina, seja para pegar um documento ou realizar uma outra tarefa como um download que ficará pronto assim que chegar em casa. Mas o que fazer para conectar já que precisa saber qual o seu ip previamente. É aí que entram os serviços de DNS Dinâmico. Com o software especifico você define um nome e, a cada conexão, o software atualiza a entrada de dns com este nome específico e não precisa mais se preocupar em decorar o ip. Os mais conhecidos são o DynDNS e o no-ip. O primeiro era gratuito até algum tempo atrás quando removeram esta opção. Mas, para quem é usuário permanecia com a opção gratuita só que, a alguns dias atrás, recebi este e-mail.

Essa notícia não é boa.

Se não entendeu, vai a versão traduzida.

Essa notícia não é boa - em português.

Resumindo, mesmo usando um cliente do DynDNS, ele não será suficiente para manter a conta ativa. É obrigatório se logar no site, pelo menos, uma vez por mês. Se esquecer em 30/31/28(em fevereiro) dias, a conta expira e a sua única reação será essa:


Existe duas soluções viaveis.

1- Migrar para outro serviço tipo o no-ip, que continua gratuito.
2- Criar um script capaz de se logar no account.dyn.com  automaticamente.

 A primeira opção dá muito trabalho reconfigurar mas já surgiu a opção 2 criada por Stuart Shelton que mostrou que é possível deixar tudo no automático e manter a conta do DynDNS ativa.

O script criado é o seguinte.

#!/usr/bin/env bash

LOGIN="substitua pelo seu login"
PASSWORD="substitua pela sua senha"
#UA="Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/0.0.0 (KHTML, like Gecko) Version/0.0.0 Safari/0.0.0"

COOKIES="/tmp/.dynsdns.cookies.txt"
LOGINURL="https://account.dyn.com/entrance/"
POSTURL="$LOGINURL"
CHKURL="https://account.dyn.com/"

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

# 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" -d "password=$PASSWORD" -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 -q "Welcome $LOGIN" && echo "Login successful" || echo >&2 "Login failed"


Deixe no crontab ou no gerenciador de tarefas do Windows(caso tenha instalado o Cygwin) para rodar a cada 15 dias ou, no meu caso, deixe no /etc/cron.weekly que o anacron execute a cada semana. Esta última opção é boa para máquinas que não ficam ligadas 24 horas já que o anacron executa o comando na sua primeira oportunidade após 7 dias.

Espero que isso seja útil até a hora que o pessoal do dyn.com resolver mudar a página.

Tenham uma boa semana.

sábado, 25 de maio de 2013

Resolvendo o problema do microfone da webcam no Google Chrome para Linux

Faz pouco tempo que o Google liberou a última versão do Google Chrome que permite fazer a busca usando a voz. Então resolvi fazer um teste em casa que não deu certo no Linux. Parece que o Chrome está surdo.



Alterei as configurações do microfone, que fica na webcam, setei o Google Chrome para usar o mesmo mas, toda tentativa, dava nesta mensagem:


Cheguei a testar na máquina do serviço, que usa Ubuntu, e funcionou normal. Se bem que a configuração dele é um pouco diferente daqui de casa. Então imaginei que deveria ser algo relativo ao ALSA usado no meu Debian. Isso era muito estranho já que todo mundo está testando a ferramenta menos eu e resolvi pesquisar a fundo sobre isso.

Numa dessas pesquisas encontrei esta página: http://wiki.audacityteam.org/index.php?title=USB_mic_on_Linux. Apesar de ser para o Audacity, o link mostrou uma solução que foi perfeito para o Google Chrome.

Para fazer essa brincadeira, basta criar um arquivo no seu home chamado .asoundrc e que deve ter o seguinte conteúdo:

pcm.!default {
         type asym
         playback.pcm {
                 type plug
                 slave.pcm "hw:0,0"
         }
         capture.pcm {
                 type plug
                 slave.pcm "hw:1,0"
         }
 }

Explicando com calma esse código, ele faz o seguinte, ele pega a saida de audio padrão(playback.pcm) e direciona para a primeira placa de som principal, neste caso, o hw:0,0. Já o capture.pcm, que usa o microfone, é direcionado para o hw:1,0 que se refere a webcam que está instalado.

Salvando o arquivo, deslogando e logando novamente, fiz um teste novamente e a busca funcionou, ou seja, o Google Chrome considerou que a entrada padrão do microfone é o que está indicado no .asoundrc, ou seja, passou a usar o microfone da webcam sem maiores problemas.


Mas isso apenas foi testado no Debian Sid 64 bits usando dois dispositivos de áudio (Placa de som e Webcam com microfone). Pode ser que, em outra máquina com uma configuração parecida, a busca funcione de primeira ou não funcionar. Neste caso, só precisa alterar o capture.pcm para usar o hw: com a configuração correta para o microfone.

Tenha um bom final de semana.

sábado, 4 de maio de 2013

Lançado o Debian Wheezy


Depois de vários meses de preparação. Foi lançado, agora a pouco, a versão 7.0 da distribuição Debian conhecida como Wheezy.

Dentre várias novidades incluem o suporte a multiarch,  que possibilitam que pacotes 64 bits sejam instalados juntamente com os de 32 bits. Melhorias no instalador e muito mais que é mostrado em http://www.debian.org/News/2013/20130504

Para baixar os cds é só acessar o site http://www.debian.org

Tenham um bom domingo.

Atualização 07/05/2013: Corrigi a formatação da publicação. No dia eu estava em um evento em Belo Horizonte quando recebi o email com o anúncio oficial do lançamento do Wheezy e não foi fácil escrever este texto via celular. Então me desculpe, mais uma vez pela bagunça inicial.