Obtendo o IP público (Internet) usando o Ruby
Publicado por Daniel Vinciguerra (última atualização em 24/08/2016)
[ Hits: 3.560 ]
Homepage: http://bivee.com.br
Algumas vezes nós precisamos saber qual é o nosso endereço de IP público (que é diferente do de rede) e uma das formas de fazer isso é acessando serviços online que mostram seu IP.
Este script segue o mesmo modelo do script que fiz a tempos atrás mas desta vez em Ruby.
PRÉ-REQUISITOS:
- ruby
- módulo open-uri
REFERÊNCIAS:
http://ruby-doc.org/stdlib-2.2.0/libdoc/open-uri/rdoc/OpenURI.html
EXECUTANDO:
Para executar o script:
$ ruby public-ip.rb
#!/usr/bin/env ruby
# 2016 (c) Daniel Vinciguerra
require 'open-uri'
# sites fonte
source_list = %w[ http://ipinfo.io/ip http://checkip.dyndns.org ];
source_list.each do |site|
open site do |html|
# parseando o ip
/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/.match(html.readlines.to_s);
next unless $1
# retorna o ip
puts $1; exit
end
end
Exemplo de utilização de métodos em Ruby
Shoes - GUIfique scripst em ruby
Postmon - Consumindo uma API com Ruby
Crivo de Eratóstenes Simples em Ruby
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Tem como instalar o Untapped no Linux? [RESOLVIDO] (3)
Servidor Ubuntu 24.04 HD 500 não tenho espaço na \home\adminis... (0)
Servidor de DNS BIND Ubuntu server (4)
Como programar um sistema de controle para distribuições linux em c? (2)









