İçindekiler
GetDNS Kullanım Kılavuzu
Adım adım kurulum ve kullanım rehberi
1. Başlangıç
Ücretsiz Dinamik DNS Hizmeti
Neler Yapabilirsiniz?
- Ev sunucunuza dışarıdan erişin
- IP kameranızı uzaktan izleyin
- VPN bağlantınızı sabit bir adrese taşıyın
- Oyun sunucunuzu arkadaşlarınıza açın
- Ev otomasyon sisteminizi yönetin
- Raspberry Pi'nize her yerden bağlanın
Ne Kadar Sürede?
- Kayıt: 1 dakika
- Subdomain oluşturma: 30 saniye
- API entegrasyonu: 5-10 dakika
- Otomatik güncelleme: 15 dakika
Ön Gereksinimler
- Geçerli bir e-posta adresi
- İnternet bağlantısı olan bir cihaz
- Temel komut satırı bilgisi (API kullanımı için)
2. Kayıt ve Giriş
1 Hesap Oluşturun
Ana sayfadaki "Kayıt Ol" butonuna tıklayın. Aşağıdaki bilgileri doldurun:
- Kullanıcı Adı: 3-20 karakter, sadece harf, rakam ve alt çizgi (_)
- E-posta: Geçerli bir e-posta adresi (şifre sıfırlama için)
- Şifre: En az 8 karakter, büyük-küçük harf ve rakam içermeli
2 E-posta Doğrulama
Kayıt olduktan sonra e-posta adresinize bir doğrulama bağlantısı gönderilecektir. (İsteğe bağlı, ayarlara bağlı)
3 Giriş Yapın
Kullanıcı adı/e-posta ve şifrenizle giriş yaparak dashboard'a ulaşın.
Kullanıcı Adı: kullaniciadiniz
Şifre: ********
3. Subdomain Oluşturma
1 Dashboard'a Gidin
Giriş yaptıktan sonra otomatik olarak dashboard sayfasına yönlendirileceksiniz.
2 "Yeni Subdomain" Butonuna Tıklayın
Sayfanın sağ üst köşesindeki "Yeni Subdomain" butonuna tıklayın.
3 Bilgileri Doldurun
- Domain: getdns.me (tek seçenek)
- Subdomain Adı: Örn:
pi5,kamera-ev,oyun-sunucu - Hedef IP: Şu anki dış IP adresiniz (örn:
82.123.45.67)
curl ifconfig.me yazın.
4 Oluştur'a Tıklayın
Formu doldurduktan sonra "Subdomain Oluştur" butonuna tıklayın. Subdomaininiz hemen oluşturulacaktır.
Başarılı!
Artık subdomaininiz.getdns.me adresine girerek cihazınıza ulaşabilirsiniz. (DNS propagasyonu 5-30 dakika sürebilir)
4. API Kullanımı
API, IP adresiniz değiştiğinde otomatik güncelleme yapmanızı sağlar. Dashboard'da her subdomain için hazır CURL komutu bulunur.
Temel API Kullanımı
curl "http://getdns.me/api/update?api_key=ANAHTARINIZ&hostname=subdomaininiz"
Not: IP adresi belirtmenize gerek yok! Sistem, isteğin geldiği IP'yi otomatik olarak algılar.
API Parametreleri
| Parametre | Zorunlu | Açıklama |
|---|---|---|
api_key |
Evet | Dashboard'dan alacağınız API anahtarınız |
hostname |
Evet | Güncellemek istediğiniz subdomain adı (örn: pi5 veya pi5.getdns.me) |
ip |
Hayır | Belirtilmezse isteğin geldiği IP otomatik kullanılır |
API Yanıtları
Başarılı yanıt:
{
"status": "success",
"message": "IP adresi otomatik olarak güncellendi",
"hostname": "pi5.getdns.me",
"ip": "82.123.45.67",
"last_updated": "2026-02-17T10:30:00"
}
Hata yanıtı:
{
"error": "Geçersiz API anahtarı",
"status": "error"
}
API Test Endpoint'i
curl "http://getdns.me/api"
Subdomain Listeleme API'si
curl "http://getdns.me/api/list?api_key=ANAHTARINIZ"
5. Otomatik Güncelleme
IP adresiniz değiştiğinde otomatik güncelleme yapması için cihazınıza bir zamanlanmış görev eklemeniz gerekir.
Linux (Cron Job)
Crontab dosyasını düzenleyin:
crontab -e
Her 30 dakikada bir güncelleme yapmak için şu satırı ekleyin:
*/30 * * * * curl "http://getdns.me/api/update?api_key=ANAHTARINIZ&hostname=subdomaininiz" > /dev/null 2>&1
Linux (Systemd Servisi)
Daha profesyonel bir çözüm için systemd servisi oluşturabilirsiniz:
sudo nano /etc/systemd/system/ozgurhome-ddns.service
[Unit]
Description=GetDNS DDNS Updater
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/curl "http://getdns.me/api/update?api_key=ANAHTARINIZ&hostname=subdomaininiz"
Restart=on-failure
RestartSec=1800
[Install]
WantedBy=multi-user.target
sudo systemctl enable ozgurhome-ddns.service
sudo systemctl start ozgurhome-ddns.service
Windows (Görev Zamanlayıcı)
- Başlat menüsünde "Görev Zamanlayıcı"yı açın
- "Yeni Görev Oluştur"a tıklayın
- Tetikleyiciler sekmesinde "Yeni"ye tıklayın, "Günlük" seçin ve "Her 30 dakikada bir tekrarla"yı işaretleyin
- Eylemler sekmesinde "Yeni"ye tıklayın:
- Eylem: Program başlat
- Program:
C:\Windows\System32\curl.exe - Argümanlar:
"http://getdns.me/api/update?api_key=ANAHTARINIZ&hostname=subdomaininiz"
Windows (PowerShell Script)
# ddns-update.ps1
$apiKey = "ANAHTARINIZ"
$hostname = "subdomaininiz"
$domain = "getdns.me"
$url = "http://$domain/api/update?api_key=$apiKey&hostname=$hostname"
while ($true) {
try {
Invoke-WebRequest -Uri $url -UseBasicParsing
Write-Host "$(Get-Date) - Güncelleme yapıldı"
} catch {
Write-Host "$(Get-Date) - Hata: $_"
}
Start-Sleep -Seconds 1800
}
macOS (Launchd)
Bir plist dosyası oluşturun:
nano ~/Library/LaunchAgents/com.ozgurhome.ddns.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.ozgurhome.ddns</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/curl</string>
<string>http://getdns.me/api/update?api_key=ANAHTARINIZ&hostname=subdomaininiz</string>
</array>
<key>StartInterval</key>
<integer>1800</integer> <!-- 30 dakika -->
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
launchctl load ~/Library/LaunchAgents/com.ozgurhome.ddns.plist
6. Yönlendirici (Router) Ayarları
Birçok modern yönlendirici, DDNS desteğine sahiptir. Yönlendiricinizin arayüzünden DDNS ayarlarını yapabilirsiniz.
ASUS Router
- Yönlendirici arayüzüne girin (http://192.168.1.1)
- Gelişmiş Ayarlar → WAN → DDNS sekmesine gidin
- "Özel" veya "Custom" seçeneğini seçin
- Sunucu:
getdns.me - Kullanıcı adı: API anahtarınız
- Şifre: (boş bırakın)
- Hostname:
subdomaininiz
TP-Link Router
- Yönlendirici arayüzüne girin
- Gelişmiş → Ağ → DDNS'ye gidin
- "Özel DDNS" seçeneğini seçin
- Servis Sağlayıcı:
ozgurhome - Kullanıcı adı: API anahtarınız
- Hostname:
subdomaininiz.getdns.me
MikroTik Router
/tool dns-update
set name=subdomaininiz.getdns.me address=0.0.0.0 key=API_ANAHTARINIZ
DD-WRT Router
nvram set ddns_enable=1
nvram set ddns_service=custom
nvram set ddns_custom="http://getdns.me/api/update?api_key=API_ANAHTARINIZ&hostname=subdomaininiz"
nvram commit
7. Linux Kurulumu (Python Script)
Linux sunucunuzda otomatik güncelleme yapacak bir Python script'i oluşturalım.
Adım 1: Script'i Oluşturun
nano /usr/local/bin/ozgurhome-ddns.py
Adım 2: Script İçeriği
#!/usr/bin/env python3
import requests
import time
import socket
import os
# KONFİGÜRASYON - Ortam değişkenlerinden al (daha güvenli)
API_KEY = os.environ.get('OZGURHOME_API_KEY', 'API_ANAHTARINIZ')
HOSTNAME = os.environ.get('OZGURHOME_HOSTNAME', 'subdomaininiz')
DOMAIN = os.environ.get('OZGURHOME_DOMAIN', 'getdns.me')
CHECK_INTERVAL = int(os.environ.get('OZGURHOME_INTERVAL', 1800)) # 30 dakika
def get_current_ip():
"""Güncel dış IP adresini al"""
try:
response = requests.get('https://api.ipify.org', timeout=10)
return response.text.strip()
except Exception as e:
print(f"IP alınamadı: {e}")
return None
def update_ddns(ip):
"""DDNS kaydını güncelle"""
url = f"http://{DOMAIN}/api/update"
params = {
'api_key': API_KEY,
'hostname': HOSTNAME
}
try:
response = requests.get(url, params=params, timeout=10)
data = response.json()
if data.get('status') == 'success':
print(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] IP güncellendi: {ip}")
return True
else:
print(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] Hata: {data.get('error')}")
return False
except Exception as e:
print(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] Bağlantı hatası: {e}")
return False
def main():
print(f"🚀 GetDNS DDNS İzleyici Başlatıldı")
print(f"📡 Hostname: {HOSTNAME}.{DOMAIN}")
print(f"⏱️ Kontrol aralığı: {CHECK_INTERVAL} saniye")
last_ip = None
while True:
current_ip = get_current_ip()
if current_ip and current_ip != last_ip:
print(f"🔄 IP değişti: {last_ip} -> {current_ip}")
if update_ddns(current_ip):
last_ip = current_ip
elif not current_ip:
print("❌ IP alınamadı, tekrar deneniyor...")
time.sleep(CHECK_INTERVAL)
if __name__ == "__main__":
main()
Adım 3: Script'i Çalıştırılabilir Yapın
chmod +x /usr/local/bin/ozgurhome-ddns.py
Adım 4: Servis Olarak Çalıştırın
Systemd servisi oluşturun:
sudo nano /etc/systemd/system/ozgurhome-ddns.service
[Unit]
Description=GetDNS DDNS Updater
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/ozgurhome-ddns.py
Restart=always
RestartSec=10
Environment="OZGURHOME_API_KEY=API_ANAHTARINIZ"
Environment="OZGURHOME_HOSTNAME=subdomaininiz"
[Install]
WantedBy=multi-user.target
sudo systemctl enable ozgurhome-ddns
sudo systemctl start ozgurhome-ddns
sudo systemctl status ozgurhome-ddns
8. Windows Kurulumu (PowerShell Script)
Windows için PowerShell script'i oluşturalım.
Adım 1: Script'i Oluşturun
notepad C:\ozgurhome-ddns.ps1
Adım 2: Script İçeriği
# ozgurhome DDNS Güncelleme Script'i
$apiKey = "API_ANAHTARINIZ"
$hostname = "subdomaininiz"
$domain = "getdns.me"
function Get-PublicIP {
try {
$ip = (Invoke-WebRequest -Uri "https://api.ipify.org" -UseBasicParsing).Content.Trim()
return $ip
} catch {
return $null
}
}
function Update-DDNS {
param($ip)
$url = "http://$domain/api/update?api_key=$apiKey&hostname=$hostname"
try {
$response = Invoke-WebRequest -Uri $url -UseBasicParsing
$data = $response.Content | ConvertFrom-Json
if ($data.status -eq "success") {
Write-Host "$(Get-Date) IP güncellendi: $ip"
return $true
} else {
Write-Host "$(Get-Date) Hata: $($data.error)"
return $false
}
} catch {
Write-Host "$(Get-Date) Bağlantı hatası: $_"
return $false
}
}
# Sonsuz döngü
while ($true) {
$currentIP = Get-PublicIP
if ($currentIP) {
Update-DDNS -ip $currentIP
}
Start-Sleep -Seconds 1800 # 30 dakika
}
Adım 3: Görev Zamanlayıcı'ya Ekleyin
Script'i her 30 dakikada bir çalışacak şekilde ayarlayın.
9. Docker Kurulumu
Docker ile kolay kurulum.
docker-compose.yml
version: '3'
services:
ddns:
image: alpine:latest
container_name: ozgurhome-ddns
restart: unless-stopped
environment:
- API_KEY=API_ANAHTARINIZ
- HOSTNAME=subdomaininiz
- DOMAIN=getdns.me
command: |
sh -c "
apk add --no-cache curl
while true; do
curl -s \"http://$DOMAIN/api/update?api_key=$API_KEY&hostname=$HOSTNAME\"
sleep 1800
done
"
Çalıştırın:
docker-compose up -d
Dockerfile ile
FROM alpine:latest
RUN apk add --no-cache curl
ENV API_KEY="API_ANAHTARINIZ"
ENV HOSTNAME="subdomaininiz"
ENV DOMAIN="getdns.me"
ENV INTERVAL=1800
CMD while true; do \
curl -s "http://$DOMAIN/api/update?api_key=$API_KEY&hostname=$HOSTNAME"; \
sleep $INTERVAL; \
done
10. Sorun Giderme
- Dashboard'da subdomaininizin durumunu kontrol edin (engellenmiş olabilir).
- API ile manuel güncelleme yapın:
curl "http://getdns.me/api/update?api_key=...&hostname=..." - DNS propagasyonunu bekleyin (5-30 dakika).
- Farklı bir ağdan (mobil veri) erişmeyi deneyin.
- Yönlendiricinizde port yönlendirme ayarlarını kontrol edin.
ping subdomaininiz.getdns.meile çözümlenip çözümlenmediğini kontrol edin.
- API anahtarınızın doğru olduğundan emin olun
- Hostname parametresini kontrol edin (subdomain adı veya tam domain)
- İnternet bağlantınızı kontrol edin
- Güvenlik duvarı ayarlarınızı kontrol edin
- Hata mesajını okuyun ve ona göre işlem yapın
- API çağrılarınızın düzenli yapıldığından emin olun
- Dashboard'da güncel IP'nin doğru olduğunu kontrol edin
- API anahtarınızın geçerli olduğunu kontrol edin
- Çok sık API çağrısı yapıyorsanız, rate limiting'e takılmış olabilirsiniz
- Dashboard'da API anahtarınızı kontrol edin
- Yakın zamanda anahtar yenilediyseniz, eski anahtarı kullanıyor olabilirsiniz
- Yeni bir API anahtarı oluşturup deneyin
- API anahtarınızda fazladan boşluk veya karakter olmadığından emin olun
DNS propagasyonu genellikle 5-30 dakika arasında tamamlanır. Ancak:
- TTL değerine bağlı olarak 24 saate kadar uzayabilir
- Farklı DNS sağlayıcıları farklı hızlarda güncellenir
- Coğrafi konuma göre değişiklik gösterebilir
- whatsmydns.net gibi sitelerle kontrol edebilirsiniz
11. İpuçları ve Püf Noktaları
Güvenlik
- API anahtarınızı düzenli olarak değiştirin (ayda bir)
- Anahtarınızı asla GitHub'da paylaşmayın
- Güçlü şifreler kullanın
- 2FA kullanın (yakında)
Performans
- API çağrılarını 30 dakikada bir yapın
- Çok sık çağrı rate limiting'e takılmanıza neden olabilir
- DNS TTL değerini düşük tutun (60 saniye)
Kullanım
- Subdomain adlarınızı anlamlı seçin (pi5, kamera, vpn)
- Limitinizi doldurduysanız, kullanmadıklarınızı silin
- Hedef IP ile güncel IP farklıysa güncelleme yapın
Yardım
- SSS sayfasını okuyun
- Destek talebi oluşturun
- E-posta ile iletişime geçin: destek@getdns.me
Bu kılavuz size yardımcı oldu mu? Geri bildirim gönderin
Son güncelleme: 17 Şubat 2026