vcvixhdtv

Untitled

Jul 24th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 KB | None | 0 0
  1. # significa COMENTÁRIO e não é executado pelo processador do mikrotik
  2.  
  3. # Crie e defina valores para as variaveis locais. Para atualizar subdomain.example.com, coloque a expressao "subdomain" na variavel subdomain e "example.com" na variavel domain. Para atualizar apenas example.com sem subdominio, coloque "@" na variável subdomain.
  4.  
  5.  
  6. #Declarando e setando as variáveis
  7. :local password "4873dc93ae69_sua_senha_00e0a7ff46f"
  8. # :local subdomain "subdomain" ou
  9. :local subdomain "@"
  10. :local domain "example.com"
  11.  
  12. #Gerando mensagem no log
  13. :log info "=================================================="
  14. :log info "ATUALIZAÇÃO DE IP"
  15.  
  16. # Capturando o IP Publico (IP de internet) e gerando um arquivo texto "pubIP.txt" na flash do mikrotik. Esse arquivo pode ser visto em Files (usando o Winbox).
  17.  
  18. /tool fetch url="http://bot.whatismyipaddress.com/" mode=http dst-path=pubIP.txt
  19.  
  20. # Setando o conteudo do arquivo pubIP.txt previamente gravado para a variavel local "currentIP"
  21. :local currentIP [/file get pubIP.txt contents]
  22.  
  23. # Setando para a variavel "prevIP" (ip anterior) o conteudo do arquivo prevIP.txt que DEVE SER COLOCADO NA FLASH DO SEU MIKROTIK PREVIAMENTE. Para fazer isso, crie um arquivo com o nome prevIP.txt no bloco de notas, com o conteudo 0.0.0.0 e envie através do botão UPLOAD na sessão FILES do seu Mikrotik. Isso é fundamental para o funcioamento do script.
  24. :local prevIP [/file get prevIP.txt contents]
  25.  
  26. # Comparando o IP Anterior (prevIP) com o IP Atual (currentIP). Se forem diferentes, faz a atualização
  27. :if ($prevIP != $currentIP) do={
  28. # exibe mensagem com o Ip anterior e o Ip Atual
  29. :log info "IP Anterior:$prevIP"
  30. :log info "IP Atual:$currentIP"
  31.  
  32. # busca novamente o Ip publico e grava no arquivo prevIP.txt
  33. /tool fetch url="http://bot.whatismyipaddress.com/" mode=http dst-path=prevIP.txt
  34.  
  35. # seta para a variável url1 a url que faz a atualização do IP junto ao namecheap
  36. :local url1 "http://dynamicdns.park-your-domain.com/update\3Fhost=$subdomain&domain=$domain&password=$password&ip=$currentIP"
  37.  
  38. # atualiza o ip no dominio registrado no namecheap
  39. /tool fetch url=($url1) mode=http
  40.  
  41. # escreve uma mensagem no log
  42. :log info "IP Atualizado com sucesso."
  43. }
  44.  
  45. # Pergunta se o IP atual é igual ao IP anterior. Se for, escreve a mensagem que não precisa atualizar. Como eu não sabia como fazer IF -- ELSE no script, fiz assim. Não é a forma mais bonita, mas funciona.
  46. :if ($prevIP = $currentIP) do={
  47. :log info "Atualização não é necessária.(IP: $currentIP)"
  48. }
  49.  
  50. # escreve mais uma mensagem no log
  51. :log info "=================================================="
  52.  
  53. # remove o arquivo criado para processar a atualização. Se não excluir, corre-se o risco de ficar um monte de arquivos perdidos na flash do mikrotik, acumulando-se a cada vez que o ip muda. Isso acontece muito em conexões ADSL que são menos estáveis e tendem a mudar o ip com mais frequencia.
  54. /file remove "update?host=$subdomain&domain=$domain&password=$password&ip=$currentIP"
Add Comment
Please, Sign In to add comment