
🇺🇸 English | 🇨🇳 简体中文 | 🇫🇷 Français | 🇹🇷 Türkçe
👉 Demo: https://ipcheck.ing
Demo'yu yer imlerine ekleyebilir veya kendi kurulumunuzu yapabilirsiniz.
? tuşuna basın.Node.js yüklü olduğundan emin olun.
Kodu klonlayın:
git clone https://github.com/jason5ng32/MyIP.git
Kurun ve derleyin:
npm install && npm run build
Çalıştırın:
npm start
Uygulama 18966 portunda çalışacaktır.
Üstteki 'Deploy to Docker' butonuna tıklayarak dağıtımı tamamlayabilirsiniz. Veya şu komutu kullanın:
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
Programı ortam değişkeni eklemeden kullanabilirsiniz, ancak bazı gelişmiş özellikler için aşağıdaki değişkenleri ekleyebilirsiniz:
| Değişken Adı | Zorunlu | Varsayılan Değer | Açıklama |
|---|---|---|---|
BACKEND_PORT | Hayır | "11966" | Backend kısmının çalıştığı port |
FRONTEND_PORT | Hayır | "18966" | Frontend kısmının çalıştığı port |
SECURITY_RATE_LIMIT | Hayır | "0" | Bir IP'nin backend sunucusuna 60 dakikada yapabileceği istek sayısını kontrol eder (sınır yok için 0) |
SECURITY_DELAY_AFTER | Hayır | "0" | 20 dakikada bir IP'den gelen ilk X isteğin hız sınırına tabi olmadığını kontrol eder; X'ten sonra gecikme artar |
SECURITY_BLACKLIST_LOG_FILE_PATH | Hayır | "logs/blacklist-ip.log" | Yol ayarı. SECURITY_RATE_LIMIT etkinleştirildiğinde limit tetikleyen IP'leri kaydeder |
GOOGLE_MAP_API_KEY= | Hayır | "" | IP'nin konumunu haritada göstermek için Google Maps API Anahtarı |
ALLOWED_DOMAINS | Hayır | "" | Erişime izin verilen alan adları, virgülle ayrılmış; backend API kötüye kullanımını önlemek için kullanılır |
IPCHECKING_API_KEY | Hayır | "" | IPCheck.ing API anahtarı, doğru IP konum bilgisi almak için |
IPINFO_API_TOKEN | Hayır | "" | IPInfo.io API token'ı, IP konum bilgisi almak için |
IPAPIIS_API_KEY | Hayır | "" | IPAPI.is API anahtarı, IP konum bilgisi almak için |
IP2LOCATION_API_KEY | Hayır | "" | IP2Location.io API anahtarı, IP konum bilgisi almak için |
CLOUDFLARE_API | Hayır | "" | Cloudflare API anahtarı, AS sistemi bilgisi almak için |
MAC_LOOKUP_API_KEY | Hayır | "" | MAC Lookup API anahtarı, MAC adresi bilgisi almak için |
IPCHECKING_API_ENDPOINT | Evet | "" | IPCheck.ing API uç noktası |
VITE_GOOGLE_ANALYTICS_ID | Evet | "" | Google Analytics ID, kullanıcı davranışını izlemek için |
VITE_CURL_IPV4_DOMAIN | Hayır | "" | Kullanıcılara CURL API için IPv4 domain sağlar |
VITE_CURL_IPV6_DOMAIN | Hayır | "" | Kullanıcılara CURL API için IPv6 domain sağlar |
VITE_CURL_IPV64_DOMAIN | Hayır | "" | Kullanıcılara CURL API için dual-stack domain sağlar |
CURL serisi ortam değişkenlerinden herhangi biri eksikse, CURL API etkinleştirilmeyecektir.
Ortam değişkenlerini oluşturun:
cp .env.example .env
.env dosyasını düzenleyin, örneğin şu şekilde ekleyin:
BACKEND_PORT=11966
FRONTEND_PORT=18966
GOOGLE_MAP_API_KEY="YOUR_KEY_HERE"
ALLOWED_DOMAINS="example.com"
IPCHECKING_API="YOUR_KEY_HERE"
Ardından backend servisini yeniden başlatın.
Docker çalıştırırken ortam değişkenleri ekleyebilirsiniz, örneğin:
docker run -d -p 18966:18966 \
-e GOOGLE_MAP_API_KEY="YOUR_KEY_HERE" \
-e ALLOWED_DOMAINS="example.com" \
-e IPCHECKING_API="YOUR_TOKEN_HERE" \
--name myip \
jason5ng32/myip:latest
İnternet erişimi için proxy kullanıyorsanız, istemcinize göre düzenleyebileceğiniz aşağıdaki kuralı eklemeyi düşünün. Bu yapılandırma hem gerçek IP'nizi hem de proxy kullanırken görünen IP'nizi kontrol etmenizi sağlar:
# IP Testing
IP-CIDR,1.0.0.2/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
Sürüm 2.0 yayımlandığında, bu programın kodunun %70'inin ChatGPT tarafından yazıldığını söylemiştim. Yaklaşık 90 etkileşim ve bazı küçük manuel düzeltmeler sonrasında, tüm kod tabanı tamamlandı.
Elbette, mimari ve kullanıcı arayüzü hâlâ benim tasarımım oldu.
Sürüm 3.0 ve sonrasıyla birlikte ChatGPT yardımıyla yazılan kod oranı giderek azaldı; şimdi tahmini %40–50 aralığında. Bu süreçte JavaScript ve Vue hakkında hiç bilgim yokken, çoğu JS kodunu anlayacak seviyeye geldim ve artık biraz da yazabiliyorum.
Yapay zekâ sayesinde, işsiz bir ürün yöneticisi olarak programlamayı hızlıca öğrenme imkânı buldum.
Açık kaynak proje olarak, destekleri için aşağıdaki sponsorlarımıza minnettarım: