Eu uso um aplicativo proxy (como Psiphon ou ProtonVPN) para me conectar à internet. Quero obter meu endereço IP com o qual estou conectado à Internet.
Preciso usar o CMD ou o PowerShell porque, posteriormente, quero usar o endereço IP no Autohotkey.
Há muito tempo que procuro maneiras de fazer isso e cheguei à conclusão de que não é possível. Mas resolvi fazer essa pergunta porque poderia estar faltando alguma coisa. Além disso, qualquer solução alternativa ou aplicativo é apreciado.
Aqui está o que eu tentei até agora:
CMD:
for /F "tokens=2" %i in ('"nslookup myip.opendns.com resolver1.opendns.com | find /i "address" | find /v "208.67.222.222""') do echo %i
Este comando imprimirá meu endereço IP real, não passa pelo proxy.
E a razão pela qual não funciona, descobri, é esta: Windows, não admin: Proxy funcionando no Firefox, mas não no cmd, por quê?
Portanto, a resposta à pergunta acima afirma que uma conexão TCP seria proxy, então encontrei isto:
PowerShell:
Resolve-DnsName -Name myip.opendns.com -Server resolver1.opendns.com -TcpOnly
Mas isso também não funciona.
Você pode usar o seguinte comando do PowerShell para obter seu IP público via HTTP usando um serviço Web RESTful:
É provável que esse método não funcione em alguns casos, dependendo das configurações da tabela de roteamento, etc.
Neste caso, fico feliz que tenha ajudado você.
Se a compilação do Windows 10 for 17063 ou posterior, usar
cUrl.exe
também funcionará.C:\windows\system32\cUrl.exe
[√] fontes