?
para visualizar a lista de atalhos.Certifique-se de ter o Node.js instalado.
Clone o código:
git clone https://github.com/jason5ng32/MyIP.git
Instalar e construir:
npm install && npm run build
Correr:
npm start
O programa será executado na porta 18966.
Clique no botão ‘Implantar no Docker’ na parte superior para concluir a implantação. Ou use o seguinte shell:
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
Você pode usar o programa sem adicionar variáveis de ambiente, mas se quiser usar alguns recursos avançados, você pode adicionar as seguintes variáveis de ambiente:
Nome da variável | Obrigatório | Valor padrão | Descrição |
---|---|---|---|
BACKEND_PORT | Não | "11966" | A porta em execução da parte backend do programa |
FRONTEND_PORT | Não | "18966" | A porta em execução da parte frontend do programa |
SECURITY_RATE_LIMIT | Não | "0" | Controla o número de solicitações que um IP pode fazer ao servidor back-end a cada 60 minutos (definido como 0 sem limite) |
SECURITY_DELAY_AFTER | Não | "0" | Controla as primeiras X solicitações de um IP a cada 20 minutos que não estão sujeitas a limites de velocidade, e após X solicitações o atraso aumentará |
SECURITY_BLACKLIST_LOG_FILE_PATH | Não | "logs/blacklist-ip.log" | Configuração de caminho. Registra a lista de IPs que acionaram o limite após SECURITY_RATE_LIMIT ser habilitado |
BING_MAP_API_KEY | Não | "" | Chave de API para Bing Maps, usada para exibir a localização do IP em um mapa |
ALLOWED_DOMAINS | Não | "" | Domínios permitidos para acesso, separados por vírgulas, usados para evitar uso indevido da API de back-end |
IPCHECKING_API_KEY | Não | "" | Chave de API para IPCheck.ing, usada para obter informações precisas de geolocalização de IP |
IPINFO_API_TOKEN | Não | "" | Token API para IPInfo.io, usado para obter informações de geolocalização de IP através do IPInfo.io |
IPAPIIS_API_KEY | Não | "" | Chave de API para IPAPI.is, usada para obter informações de geolocalização de IP por meio de IPAPI.is |
KEYCDN_USER_AGENT | Não | "" | O nome de domínio ao usar KeyCDN deve conter o prefixo https. Usado para obter informações de endereço IP através do KeyCDN |
CLOUDFLARE_API | Não | "" | Chave de API para Cloudflare, usada para obter informações do sistema AS por meio da Cloudflare |
MAC_LOOKUP_API_KEY | Não | "" | Chave API para MAC Lookup, usada para obter informações de endereço MAC |
VITE_GOOGLE_ANALYTICS_ID | Sim | "" | ID do Google Analytics, usado para rastrear o comportamento do usuário |
VITE_CURL_IPV4_DOMAIN | Não | "" | Fornece o domínio IPv4 para a API CURL aos usuários |
VITE_CURL_IPV6_DOMAIN | Não | "" | Fornece o domínio IPv6 para a API CURL aos usuários |
VITE_CURL_IPV64_DOMAIN | Não | "" | Fornece o domínio de pilha dupla para a API CURL aos usuários |
Observe que se alguma das variáveis de ambiente da série CURL estiver faltando, a API CURL não será habilitada.
Crie variáveis de ambiente:
cp .env.example .env
Modifique .env
e, por exemplo, adicione o seguinte:
BACKEND_PORT=11966
FRONTEND_PORT=18966
BING_MAP_API_KEY= " YOUR_KEY_HERE "
ALLOWED_DOMAINS= " example.com "
IPCHECKING_API= " YOUR_KEY_HERE "
Em seguida, reinicie o serviço de back-end.
Você pode adicionar variáveis de ambiente ao executar o Docker, por exemplo:
docker run -d -p 18966:18966
-e BING_MAP_API_KEY= " YOUR_KEY_HERE "
-e ALLOWED_DOMAINS= " example.com "
-e IPCHECKING_API= " YOUR_TOKEN_HERE "
--name myip
jason5ng32/myip:latest
Se você estiver usando um proxy para acesso à Internet, considere adicionar esta regra à configuração do seu proxy (modifique-a de acordo com o seu cliente). Esta configuração permite verificar seu IP real e o IP ao usar o proxy:
# IP Testing
IP-CIDR,1.0.0.1/32,Proxy,no-resolve
IP-CIDR6,2606:4700:4700::1111/128,Proxy,no-resolve
DOMAIN,4.ipcheck.ing,DIRECT
DOMAIN,6.ipcheck.ing,DIRECT
# Rule Testing
DOMAIN,ptest-1.ipcheck.ing,Proxy1
DOMAIN,ptest-2.ipcheck.ing,Proxy2
DOMAIN,ptest-3.ipcheck.ing,Proxy3
DOMAIN,ptest-4.ipcheck.ing,Proxy4
DOMAIN,ptest-5.ipcheck.ing,Proxy5
DOMAIN,ptest-6.ipcheck.ing,Proxy6
DOMAIN,ptest-7.ipcheck.ing,Proxy7
DOMAIN,ptest-8.ipcheck.ing,Proxy8
Quando a versão 2.0 foi lançada, eu disse que 70% do código deste programa não foi escrito por mim, mas pelo ChatGPT. Após cerca de 90 interações, além de alguns pequenos ajustes manuais, toda a base de código foi concluída.
Claro, a arquitetura e a UI ainda exigiam meu próprio design.
Com o lançamento da versão 3.0 e versões subsequentes, a proporção de código escrito com a ajuda do ChatGPT diminuiu gradualmente, agora estimada entre 40% e 50%. Pelo contrário, neste processo, deixei de ter nenhum conhecimento de JavaScript e Vue para ser capaz de entender a maior parte do código JS, e agora posso escrever alguns sozinho.
Graças à IA, ela deu a mim, um gerente de produto desempregado, uma rápida oportunidade de aprender programação.