🧰 MyIP - Daha İyi Bir IP Araç Kutusu

April 22, 2026 · View on GitHub

IPCheck.ing Banner

jason5ng32%2FMyIP | Trendshift

Mentioned in Awesome Self Hosted

GitHub Repo stars GitHub forks Docker Pulls

Website PWA

CodeQL Docker Build and Push

🇺🇸 English | 🇨🇳 简体中文 | 🇫🇷 Français | 🇹🇷 Türkçe

👉 Demo: https://ipcheck.ing

Demo'yu yer imlerine ekleyebilir veya kendi kurulumunuzu yapabilirsiniz.

Deploy with Docker

👀 Ana Özellikler

  • 🛜 IP'lerinizi Görüntüleyin: Yerel IP'lerinizi tespit eder ve birden fazla IPv4/IPv6 sağlayıcısından alır.
  • 🔍 IP Bilgisi Arama: Herhangi bir IP adresi hakkında sorgu yapma aracı sağlar.
  • 🕵️ IP Bilgileri: Ülke, bölge, ASN, coğrafi konum ve daha fazlasını içeren ayrıntılı IP bilgileri sunar.
  • 🚦 Erişilebilirlik Kontrolü: Google, GitHub, YouTube, ChatGPT ve diğerleri gibi sitelerin erişilebilirliğini test eder.
  • 🚥 WebRTC Tespiti: WebRTC bağlantısında kullanılan IP adresini belirler.
  • 🛑 DNS Leak Testi: VPN veya proxy kullanırken DNS sızıntısı riskini değerlendirmek için DNS uç nokta verilerini gösterir.
  • 🚀 Hız Testi:Edge ağlarıyla ağ hızınızı test edin.
  • 🚏 Proxy Kural Testi: Proxy yazılımlarının kural ayarlarını doğru çalışıp çalışmadığını test edin.
  • ⏱️ Küresel Gecikme Testi: Dünyanın farklı bölgelerindeki sunuculara gecikme testleri yapın.
  • 📡 MTR Testi: Dünya çapındaki sunucular için MTR testleri gerçekleştirin.
  • 🔦 DNS Çözücüsü: Bir alan adının birden fazla kaynaktan DNS çözümlemesini yapar ve gerçek zamanlı çözümleme sonuçları alır.
  • 🚧 Sansür Kontrolü: Bir web sitesinin bazı ülkelerde engellenip engellenmediğini kontrol edin.
  • 📓 Whois Arama: Alan adı veya IP adresi için whois bilgisi sorgulayın.
  • 📀 MAC Sorgulama: Fiziksel adres bilgisi sorgulama.
  • 🖥️ Tarayıcı Parmak İzi:Tarayıcı parmak izini hesaplamak için birden fazla yöntem.
  • 📋 Siber Güvenlik Kontrol Listesi:Toplam 258 madde içeren kapsamlı bir güvenlik kontrol listesi.

💪 Ayrıca

  • 🌗 Karanlık Mod: Sistem ayarlarına göre otomatik olarak gündüz/karanlık mod arasında geçiş yapar; manuel geçiş seçeneği de vardır.
  • 📱 Minimal Mod: Mobil için optimize edilmiş, sayfa uzunluğunu kısaltan hızlı erişim modu.
  • 📲 PWA Desteği:Telefonunuza masaüstü uygulaması olarak veya bilgisayarınızda Chrome uygulaması olarak eklenebilir.
  • ⌨️ Klavye Kısayolları: Tüm işlevler için kısayolları destekler; kısayol listesini görmek için ? tuşuna basın.
  • 🌍 Erişilebilirlik test sonuçlarına göre küresel internet erişiminin şu an mümkün olup olmadığını gösterir.
  • 🇺🇸 🇨🇳 🇫🇷 🇹🇷 İngilizce, Çince, Fransızca ve Türkçe desteği.

📕 Nasıl Kullanılır

Node Ortamında Dağıtım

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.

Docker Kullanımı

Ü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

📚 Ortam Değişkenleri

Aşağıda Evet olarak işaretlenen değişkenler, backend'in düzgün çalışması için mutlaka ayarlanmalıdır. Özellikle MaxMind kimlik bilgileri gereklidir — tabloyu doldurmadan önce aşağıdaki MaxMind yapılandırma notlarını okuyun.

MaxMind Veritabanları (zorunlu)

MyIP, IP coğrafi konumu, ASN / kuruluş araması ve uygulama genelinde görünen ülke kodu rozetleri (IP kartları, WebRTC ICE adayları vb.) için MaxMind'in ücretsiz GeoLite2 veritabanlarına (City + ASN) güvenir. Backend'in tam bir deneyim sunması için çalışan bir MaxMind kurulumu zorunludur.

MaxMind'in GeoLite2 lisansı yeniden dağıtıma izin vermediği için .mmdb dosyaları bu depoda yer almıyor. Kendiniz sağlamanız gerekir. İki yol vardır:

Seçenek A — Otomatik (önerilir, Docker için zorunlu)

  1. maxmind.com/en/geolite2/signup adresinden ücretsiz bir hesap oluşturun.
  2. Hesabınızın "Manage License Keys" sayfasından bir lisans anahtarı oluşturun.
  3. Şu üç ortam değişkenini ayarlayın:
    MAXMIND_ACCOUNT_ID="your-account-id"
    MAXMIND_LICENSE_KEY="your-license-key"
    MAXMIND_AUTO_UPDATE="true"
    
  4. Backend'i başlatın. İlk başlatmadan yaklaşık 60 saniye sonra updater her iki veritabanını da indirir. Sonrasında her 24 saatte bir otomatik olarak yenilenir.

⚠️ Docker dağıtımları Seçenek A'yı kullanmak zorundadır. Yeni bir konteyner boş bir common/maxmind-db/ dizini ile gelir — yukarıdaki üç değişken ayarlanmadan backend başlar, ancak MaxMind tabanlı IP kaynağı ve WebRTC ülke rozetleri çalışmaz ve her başlatma logunda MaxMind API will return 503... hatasını görürsünüz.

Seçenek B — Manuel (izole / Docker dışı ortamlar için)

MaxMind hesabınızdan GeoLite2-City.mmdb ve GeoLite2-ASN.mmdb dosyalarını indirin ve backend'i başlatmadan önce common/maxmind-db/ dizinine bırakın. Bu durumda MAXMIND_AUTO_UPDATE "false" olarak kalabilir, ancak MaxMind yeni sürümler yayınladıkça dosyaları manuel olarak yenilemeniz gerekir.

Ortam değişkenleri listesi

Değişken AdıZorunluVarsayılan DeğerAçıklama
MAXMIND_ACCOUNT_IDEvet""MaxMind hesap ID'si, GeoLite2 veritabanlarını indirmek için MAXMIND_LICENSE_KEY ile birlikte kullanılır. Yukarıdaki MaxMind bölümüne bakın.
MAXMIND_LICENSE_KEYEvet""MaxMind lisans anahtarı, MAXMIND_ACCOUNT_ID ile birlikte kullanılır. Yukarıdaki MaxMind bölümüne bakın.
MAXMIND_AUTO_UPDATEEvet"false""true" yapıldığında GeoLite2 veritabanları başlatmadan yaklaşık 60 saniye sonra otomatik olarak indirilir ve her 24 saatte bir yenilenir. Docker için zorunlu. Yalnızca .mmdb dosyalarını manuel olarak yerleştirdiyseniz "false" olarak kalabilir.
VITE_GOOGLE_ANALYTICS_IDEvet""Google Analytics ID, kullanıcı davranışını izlemek için
BACKEND_PORTHayır"11966"Backend kısmının çalıştığı port
FRONTEND_PORTHayır"18966"Frontend kısmının çalıştığı port
SECURITY_RATE_LIMITHayı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_AFTERHayı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_PATHHayır"logs/blacklist-ip.log"Yol ayarı. SECURITY_RATE_LIMIT etkinleştirildiğinde limit tetikleyen IP'leri kaydeder
LOG_LEVELHayır"info"Minimum log seviyesi (debug / info / warn / error). Daha düşük seviyedeki mesajlar bastırılır.
LOG_FORMATHayırpretty"json" olarak ayarlandığında satır başına bir JSON olayı çıkarır (log toplayıcılar / jq için). Diğer değerler (veya ayarlanmamışsa) dev ortamında ve pm2 log tail sırasında kullanılan renkli güzel biçimli çıktıyı korur.
LOG_HTTPHayır"false""true" yapıldığında /api/* üzerinde istek başı HTTP loglamasını etkinleştirir (metod, URL, durum, yanıt süresi). pm2 loglarını küçük tutmak için varsayılan olarak kapalıdır. Bu bayrak kapalı olsa bile handler düzeyindeki 4xx/5xx hataları her zaman loglanır.
ALLOWED_DOMAINSHayı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
GOOGLE_MAP_API_KEYHayır""IP'nin konumunu haritada göstermek için Google Maps API Anahtarı
IPCHECKING_API_ENDPOINTHayır""IPCheck.ing veritabanı API uç noktası, doğru IP konum bilgisi almak için
IPCHECKING_API_KEYHayır""IPCheck.ing veritabanı API anahtarı, doğru IP konum bilgisi almak için
IPINFO_API_TOKENHayır""IPInfo.io API token'ı, IP konum bilgisi almak için
IPAPIIS_API_KEYHayır""IPAPI.is API anahtarı, IP konum bilgisi almak için
IP2LOCATION_API_KEYHayır""IP2Location.io API anahtarı, IP konum bilgisi almak için
CLOUDFLARE_APIHayır""Cloudflare API anahtarı, AS sistemi bilgisi almak için
MAC_LOOKUP_API_KEYHayır""MAC Lookup API anahtarı, MAC adresi bilgisi almak için
VITE_CURL_IPV4_DOMAINHayır""Kullanıcılara CURL API için IPv4 domain sağlar
VITE_CURL_IPV6_DOMAINHayır""Kullanıcılara CURL API için IPv6 domain sağlar
VITE_CURL_IPV64_DOMAINHayı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.

Node Ortamında Ortam Değişkenleri Kullanma

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
MAXMIND_ACCOUNT_ID="YOUR_ACCOUNT_ID"
MAXMIND_LICENSE_KEY="YOUR_LICENSE_KEY"
MAXMIND_AUTO_UPDATE="true"
GOOGLE_MAP_API_KEY="YOUR_KEY_HERE"
ALLOWED_DOMAINS="example.com"

Ardından backend servisini yeniden başlatın.

Docker'da Ortam Değişkenleri Kullanma

Docker çalıştırırken ortam değişkenleri ekleyebilirsiniz, örneğin:

docker run -d -p 18966:18966 \
  -e MAXMIND_ACCOUNT_ID="YOUR_ACCOUNT_ID" \
  -e MAXMIND_LICENSE_KEY="YOUR_LICENSE_KEY" \
  -e MAXMIND_AUTO_UPDATE="true" \
  -e GOOGLE_MAP_API_KEY="YOUR_KEY_HERE" \
  -e ALLOWED_DOMAINS="example.com" \
  --name myip \
  jason5ng32/myip:latest

👩🏻‍💻 Gelişmiş Kullanım

İ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

😶‍🌫️ Ek Notlar

Sürüm 2.0 yayımlandığında, bu programın kodunun %70'inin AI 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 AI 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.

🌟 Yıldız Geçmişi

Star History Chart

💖 Sponsorlar

Açık kaynak proje olarak, destekleri için aşağıdaki sponsorlarımıza minnettarım:

Cloudflare Project Alexandria