?
pour afficher la liste des raccourcis.Assurez-vous que Node.js est installé.
Clonez le code :
git clone https://github.com/jason5ng32/MyIP.git
Installer et construire :
npm install && npm run build
Courir:
npm start
Le programme fonctionnera sur le port 18966.
Cliquez sur le bouton « Déployer sur Docker » en haut pour terminer le déploiement. Ou utilisez le shell suivant :
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
Vous pouvez utiliser le programme sans ajouter de variables d'environnement, mais si vous souhaitez utiliser certaines fonctionnalités avancées, vous pouvez ajouter les variables d'environnement suivantes :
Nom de la variable | Requis | Valeur par défaut | Description |
---|---|---|---|
BACKEND_PORT | Non | "11966" | Le port en cours d'exécution de la partie backend du programme |
FRONTEND_PORT | Non | "18966" | Le port en cours d'exécution de la partie frontend du programme |
SECURITY_RATE_LIMIT | Non | "0" | Contrôle le nombre de requêtes qu'une IP peut envoyer au serveur backend toutes les 60 minutes (défini sur 0 sans limite) |
SECURITY_DELAY_AFTER | Non | "0" | Contrôle les X premières requêtes d'une IP toutes les 20 minutes qui ne sont pas soumises à des limitations de vitesse, et après X requêtes, le délai augmentera |
SECURITY_BLACKLIST_LOG_FILE_PATH | Non | "logs/blacklist-ip.log" | Paramétrage du chemin. Enregistre la liste des adresses IP qui ont déclenché la limite après l'activation de SECURITY_RATE_LIMIT |
BING_MAP_API_KEY | Non | "" | Clé API pour Bing Maps, utilisée pour afficher l'emplacement de l'IP sur une carte |
ALLOWED_DOMAINS | Non | "" | Domaines d'accès autorisés, séparés par des virgules, utilisés pour empêcher toute utilisation abusive de l'API backend |
IPCHECKING_API_KEY | Non | "" | Clé API pour IPCheck.ing, utilisée pour obtenir des informations précises de géolocalisation IP |
IPINFO_API_TOKEN | Non | "" | Jeton API pour IPInfo.io, utilisé pour obtenir des informations de géolocalisation IP via IPInfo.io |
IPAPIIS_API_KEY | Non | "" | Clé API pour IPAPI.is, utilisée pour obtenir des informations de géolocalisation IP via IPAPI.is |
KEYCDN_USER_AGENT | Non | "" | Le nom de domaine lors de l'utilisation de KeyCDN doit contenir le préfixe https. Utilisé pour obtenir des informations sur l'adresse IP via KeyCDN |
CLOUDFLARE_API | Non | "" | Clé API pour Cloudflare, utilisée pour obtenir des informations sur le système AS via Cloudflare |
MAC_LOOKUP_API_KEY | Non | "" | Clé API pour la recherche MAC, utilisée pour obtenir des informations sur l'adresse MAC |
VITE_GOOGLE_ANALYTICS_ID | Oui | "" | Identifiant Google Analytics, utilisé pour suivre le comportement des utilisateurs |
VITE_CURL_IPV4_DOMAIN | Non | "" | Fournit le domaine IPv4 pour l'API CURL aux utilisateurs |
VITE_CURL_IPV6_DOMAIN | Non | "" | Fournit le domaine IPv6 pour l'API CURL aux utilisateurs |
VITE_CURL_IPV64_DOMAIN | Non | "" | Fournit le domaine double pile pour l'API CURL aux utilisateurs |
Notez que si l'une des variables d'environnement de la série CURL est manquante, l'API CURL ne sera pas activée.
Créez des variables d'environnement :
cp .env.example .env
Modifiez .env
et, par exemple, ajoutez ce qui suit :
BACKEND_PORT=11966
FRONTEND_PORT=18966
BING_MAP_API_KEY= " YOUR_KEY_HERE "
ALLOWED_DOMAINS= " example.com "
IPCHECKING_API= " YOUR_KEY_HERE "
Redémarrez ensuite le service backend.
Vous pouvez ajouter des variables d'environnement lors de l'exécution de Docker, par exemple :
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 vous utilisez un proxy pour accéder à Internet, pensez à ajouter cette règle à votre configuration de proxy (modifiez-la en fonction de votre client). Cette configuration vous permet de vérifier à la fois votre véritable IP et l'IP lorsque vous utilisez le 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
Lors de la sortie de la version 2.0, j'ai dit que 70 % du code de ce programme n'avait pas été écrit par moi, mais par ChatGPT. Après environ 90 interactions, plus quelques ajustements manuels mineurs, l’intégralité de la base de code était terminée.
Bien entendu, l’architecture et l’interface utilisateur nécessitaient toujours ma propre conception.
Avec la sortie de la version 3.0 et des versions ultérieures, la proportion de code écrit avec l'aide de ChatGPT a progressivement diminué, estimée désormais entre 40 % et 50 %. Au contraire, dans ce processus, je suis passé de l'absence de connaissances en JavaScript et Vue à la capacité de comprendre la plupart du code JS, et je peux désormais en écrire moi-même.
Grâce à l'IA, elle m'a donné, à moi, chef de produit au chômage, une opportunité rapide d'apprendre la programmation.