?
para ver la lista de accesos directos.Asegúrate de tener instalado Node.js.
Clona el código:
git clone https://github.com/jason5ng32/MyIP.git
Instalar y construir:
npm install && npm run build
Correr:
npm start
El programa se ejecutará en el puerto 18966.
Haga clic en el botón "Implementar en Docker" en la parte superior para completar la implementación. O utilice el siguiente shell:
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
Puede utilizar el programa sin agregar ninguna variable de entorno, pero si desea utilizar algunas funciones avanzadas, puede agregar las siguientes variables de entorno:
Nombre de la variable | Requerido | Valor predeterminado | Descripción |
---|---|---|---|
BACKEND_PORT | No | "11966" | El puerto en ejecución de la parte backend del programa. |
FRONTEND_PORT | No | "18966" | El puerto en ejecución de la parte frontend del programa. |
SECURITY_RATE_LIMIT | No | "0" | Controla la cantidad de solicitudes que una IP puede realizar al servidor backend cada 60 minutos (establecido en 0 para no tener límite) |
SECURITY_DELAY_AFTER | No | "0" | Controla las primeras X solicitudes de una IP cada 20 minutos que no están sujetas a límites de velocidad, y después de X solicitudes, el retraso aumentará |
SECURITY_BLACKLIST_LOG_FILE_PATH | No | "logs/blacklist-ip.log" | Configuración de ruta. Registra la lista de IP que activaron el límite después de habilitar SECURITY_RATE_LIMIT |
BING_MAP_API_KEY | No | "" | Clave API para Bing Maps, utilizada para mostrar la ubicación de la IP en un mapa |
ALLOWED_DOMAINS | No | "" | Dominios permitidos para el acceso, separados por comas, utilizados para evitar el uso indebido de la API backend |
IPCHECKING_API_KEY | No | "" | Clave API para IPCheck.ing, utilizada para obtener información precisa de geolocalización de IP |
IPINFO_API_TOKEN | No | "" | Token API para IPInfo.io, utilizado para obtener información de geolocalización de IP a través de IPInfo.io |
IPAPIIS_API_KEY | No | "" | Clave API para IPAPI.is, utilizada para obtener información de geolocalización de IP a través de IPAPI.is |
KEYCDN_USER_AGENT | No | "" | El nombre de dominio cuando se utiliza KeyCDN debe contener el prefijo https. Se utiliza para obtener información de la dirección IP a través de KeyCDN |
CLOUDFLARE_API | No | "" | Clave API para Cloudflare, utilizada para obtener información del sistema AS a través de Cloudflare |
MAC_LOOKUP_API_KEY | No | "" | Clave API para búsqueda de MAC, utilizada para obtener información de la dirección MAC |
VITE_GOOGLE_ANALYTICS_ID | Sí | "" | ID de Google Analytics, utilizado para rastrear el comportamiento del usuario |
VITE_CURL_IPV4_DOMAIN | No | "" | Proporciona el dominio IPv4 para la API CURL a los usuarios. |
VITE_CURL_IPV6_DOMAIN | No | "" | Proporciona el dominio IPv6 para la API CURL a los usuarios. |
VITE_CURL_IPV64_DOMAIN | No | "" | Proporciona el dominio de doble pila para la API CURL a los usuarios. |
Tenga en cuenta que si falta alguna de las variables de entorno de la serie CURL, la API CURL no se habilitará.
Crear variables de entorno:
cp .env.example .env
Modifique .env
y, por ejemplo, agregue lo siguiente:
BACKEND_PORT=11966
FRONTEND_PORT=18966
BING_MAP_API_KEY= " YOUR_KEY_HERE "
ALLOWED_DOMAINS= " example.com "
IPCHECKING_API= " YOUR_KEY_HERE "
Luego reinicie el servicio backend.
Puede agregar variables de entorno al ejecutar Docker, por ejemplo:
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
Si está utilizando un proxy para acceder a Internet, considere agregar esta regla a su configuración de proxy (modifíquela según su cliente). Esta configuración le permite verificar tanto su IP real como la IP cuando usa el 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
Cuando se lanzó la versión 2.0, dije que el 70% del código de este programa no lo escribí yo, sino ChatGPT. Después de aproximadamente 90 interacciones, además de algunos ajustes manuales menores, se completó todo el código base.
Por supuesto, la arquitectura y la interfaz de usuario aún requerían mi propio diseño.
Con el lanzamiento de la versión 3.0 y versiones posteriores, la proporción de código escrito con la ayuda de ChatGPT ha disminuido gradualmente, y ahora se estima que está entre el 40% y el 50%. Por el contrario, en este proceso pasé de no tener conocimientos de JavaScript y Vue a poder entender la mayor parte del código JS, y ahora puedo escribir algo por mi cuenta.
Gracias a la IA, me ha brindado a mí, gerente de producto desempleado, una rápida oportunidad de aprender a programar.