Explicação longa e motivação - [veja este post] (http://tumblr.macaubas.com/post/93930890220/configurando-seu-roteador-do-oi-fibra-technicolor)
Em resumo: script ruby para monitorar configuração do DNS do unblock-us no roteador do Oi Fibra e resetar para a configuração correta toda vez que rolar um renew no DNS.
Dá para não utilizar este script alterando as métricas dos servidores de DNS na hora de reconfigurar o router (como descrito no artigo). Porém, a tabela de forward de DNS vai ficar sempre suja, e isso pode causar comportamentos inesperados. Se você tem como deixar esse script rodando, você garante sempre uma tabela de DNS forwarding saudável e limpinha. Se não der para deixar o script rodando, faça a recomendação que está no artigo acima.
$ git clone git@github.com:macaubas/Oi-Fibra-Unblock-Us.git
$ mv settings-sample.yml settings.yml
$ vim settings.yml
$ chmod +x check_router.rb
$ ./check_router.rb
Configurar o launchd para executar este script a cada 5 minutos é uma boa solução para não ter dor de cabeça com o unblock-us sendo desconfigurado a toda hora pelo renew do DNS.
$ vim ./LaunchAgents/com.macaubas.check_router.plist
E edite as chaves:
<key>Program</key>
<string>/Users/igor/Projects/oi-fibra_unblock-us/check_router.rb</string>
<key>WorkingDirectory</key>
<string>/Users/igor/Projects/oi-fibra_unblock-us</string>
Para refletir o path correto para a aplicação. Depois disso, é necessário copiar e registrar o novo LaunchAgent junto ao launchd:
$ cp ./LaunchAgents/com.macaubas.check_router.plist ~/Library/LaunchAgents/
$ launchctl load ~/Library/LaunchAgents/com.macaubas.check_router.plist
$ launchctl start com.macaubas.check_router.plist
E o script será executado a cada 300 segundos (a cada 5 minutos). Monitore o log.txt no diretorio principal para ver as execuções acontecendo.
Configurar no crontab é bem fácil. Execute:
$ crontab -e
Isso vai abrir as suas configurações atuais de crontab para o seu usuário em questão. Adicione a seguinte linha:
*/5 * * * * ruby /path/para/o/script/check_router.rb
Salve e saia.
Para verificar se está tudo certo, faça:
$ crontab -l
Para desinstalar este scritp no Mac, faça:
$ launchctl stop com.macaubas.check_router.plist
$ launchctl unload ~/Library/LaunchAgents/com.macaubas.check_router.plist
$ rm ~/Library/LaunchAgents/com.macaubas.check_router.plist
E apague o diretório com os demais arquivos.
Remova a linha do crontab referente à execução do script:
$ crontab -e
Salve e saia. E apague o diretório com os demais arquivos.
Caso alguma coisa dê errado (sua Internet ou IPTV parar de funcionar), faça um factory reset no seu router pela interface web do router, e abra uma issue aqui explicando o que houve.