• 08-09-2026, 16:12:33
    #1
    Üyeliği durduruldu
    10 tane clodfare hesap açtım
    her siteye 50 tane site belirledim
    ip adres belli
    api token de aldım
    puty üzerinden çalıştıracağım
    yapay zekaya sordum çıkmaza girdim

    sorun çözüldü
  • 08-09-2026, 16:18:45
    #2
    Yapmak istediğiniz işlem sitelerin hesaba eklenmesi mi ? Nedir sorununuz ?
  • 08-09-2026, 16:20:56
    #3
    LINK_SATISI adlı üyeden alıntı: mesajı görüntüle
    10 tane clodfare hesap açtım
    her siteye 50 tane site belirledim
    ip adres belli
    api token de aldım
    puty üzerinden çalıştıracağım
    yapay zekaya sordum çıkmaza girdim
    Whatsapp: https://wa.me/+905350579988
    Merhaba,
    • Token yetkisi. Sadece Zone:Read almışsan zone eklemez. Token'da şunlar olacak: Account > Account Settings > Read, Zone > Zone > Edit, Zone > DNS > Edit. Resource kısmında da o hesabın account'unu seçeceksin, "All accounts" değil.
    • Account ID. Zone eklerken account id şart. Her hesap için farklı, dashboard'dan veya /accounts endpoint'inden alacaksın.
    • Free planda hesap başına 50 zone sınırı var — zaten 10 hesap × 50 demişsin, doğru kurgulamışsın. 51.'de 1117 hatası alırsın, panik yapma, limit odur.
    Klasör kurulumu ;
    /root/cf/ ├── cf.sh ├── hesap01/domains.txt ├── hesap02/domains.txt

    Her domains.txt içine alt alta 50 domain (sadece site.com, başında http/www olmasın).
    cf.sh:


    #!/bin/bash
    # Kullanım: ./cf.sh <token> <account_id> <domains.txt> <ip>
    set -u
    
    TOKEN="$1"
    ACCOUNT="$2"
    LIST="$3"
    IP="$4"
    API="https://api.cloudflare.com/client/v4"
    OUT="ns_$(date +%s).csv"
    
    cf() { curl -s -X "$1" "$API$2" \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      ${3:+--data "$3"}; }
    
    echo "domain,zone_id,ns1,ns2,durum" > "$OUT"
    
    while read -r D; do
      D=$(echo "$D" | tr -d '\r' | xargs)
      [ -z "$D" ] && continue
    
      # 1) Zone ekle
      R=$(cf POST "/zones" "{\"name\":\"$D\",\"account\":{\"id\":\"$ACCOUNT\"},\"type\":\"full\"}")
      OK=$(echo "$R" | jq -r '.success')
    
      if [ "$OK" != "true" ]; then
        # zaten ekliyse id'yi çek, devam et
        ZID=$(cf GET "/zones?name=$D" | jq -r '.result[0].id // empty')
        if [ -z "$ZID" ]; then
          echo "$D,,,,HATA: $(echo "$R" | jq -c '.errors')" >> "$OUT"
          echo "[X] $D -> $(echo "$R" | jq -r '.errors[0].message')"
          sleep 1; continue
        fi
        echo "[!] $D zaten ekli, devam"
      else
        ZID=$(echo "$R" | jq -r '.result.id')
      fi
    
      NS=$(cf GET "/zones/$ZID" | jq -r '.result.name_servers | @csv' | tr -d '"')
    
      # 2) A kayıtları (proxy açık)
      cf POST "/zones/$ZID/dns_records" \
        "{\"type\":\"A\",\"name\":\"$D\",\"content\":\"$IP\",\"ttl\":1,\"proxied\":true}" > /dev/null
      cf POST "/zones/$ZID/dns_records" \
        "{\"type\":\"A\",\"name\":\"www\",\"content\":\"$IP\",\"ttl\":1,\"proxied\":true}" > /dev/null
    
      # 3) SSL ve yönlendirme ayarları
      cf PATCH "/zones/$ZID/settings/ssl" '{"value":"full"}' > /dev/null
      cf PATCH "/zones/$ZID/settings/always_use_https" '{"value":"on"}' > /dev/null
    
      echo "$D,$ZID,$NS,OK" >> "$OUT"
      echo "[✓] $D -> $NS"
      sleep 0.5   # rate limit: 5 dk'da 1200 istek
    done < "$LIST"
    
    echo "Bitti. NS listesi: $OUT"
    #!/bin/bash
    # Kullanım: ./cf.sh <token> <account_id> <domains.txt> <ip>
    set -u
    
    TOKEN="$1"
    ACCOUNT="$2"
    LIST="$3"
    IP="$4"
    API="https://api.cloudflare.com/client/v4"
    OUT="ns_$(date +%s).csv"
    
    cf() { curl -s -X "$1" "$API$2" \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      ${3:+--data "$3"}; }
    
    echo "domain,zone_id,ns1,ns2,durum" > "$OUT"
    
    while read -r D; do
      D=$(echo "$D" | tr -d '\r' | xargs)
      [ -z "$D" ] && continue
    
      # 1) Zone ekle
      R=$(cf POST "/zones" "{\"name\":\"$D\",\"account\":{\"id\":\"$ACCOUNT\"},\"type\":\"full\"}")
      OK=$(echo "$R" | jq -r '.success')
    
      if [ "$OK" != "true" ]; then
        # zaten ekliyse id'yi çek, devam et
        ZID=$(cf GET "/zones?name=$D" | jq -r '.result[0].id // empty')
        if [ -z "$ZID" ]; then
          echo "$D,,,,HATA: $(echo "$R" | jq -c '.errors')" >> "$OUT"
          echo "[X] $D -> $(echo "$R" | jq -r '.errors[0].message')"
          sleep 1; continue
        fi
        echo "[!] $D zaten ekli, devam"
      else
        ZID=$(echo "$R" | jq -r '.result.id')
      fi
    
      NS=$(cf GET "/zones/$ZID" | jq -r '.result.name_servers | @csv' | tr -d '"')
    
      # 2) A kayıtları (proxy açık)
      cf POST "/zones/$ZID/dns_records" \
        "{\"type\":\"A\",\"name\":\"$D\",\"content\":\"$IP\",\"ttl\":1,\"proxied\":true}" > /dev/null
      cf POST "/zones/$ZID/dns_records" \
        "{\"type\":\"A\",\"name\":\"www\",\"content\":\"$IP\",\"ttl\":1,\"proxied\":true}" > /dev/null
    
      # 3) SSL ve yönlendirme ayarları
      cf PATCH "/zones/$ZID/settings/ssl" '{"value":"full"}' > /dev/null
      cf PATCH "/zones/$ZID/settings/always_use_https" '{"value":"on"}' > /dev/null
    
      echo "$D,$ZID,$NS,OK" >> "$OUT"
      echo "[✓] $D -> $NS"
      sleep 0.5   # rate limit: 5 dk'da 1200 istek
    done < "$LIST"
    
    echo "Bitti. NS listesi: $OUT"



    putty ile çalıştırma ;


    apt install -y jq curl        # jq yoksa hiçbir şey çalışmaz
    chmod +x cf.sh
    ./cf.sh "TOKEN_BURAYA" "ACCOUNT_ID_BURAYA" hesap01/domains.txt 1.2.3.4
    10 hesap için tek tek uğraşma, hesaplar.csv yapıp döndür:

    # format: token;account_id;liste_dosyasi;ip
    while IFS=';' read -r t a l i; do
      ./cf.sh "$t" "$a" "$l" "$i"
    done < hesaplar.csv
    Takıldığın yerdeki tam hata çıktısını (.errors kısmını) atarsan daha net bakabilirim. Ücretli destek almak isterseniz whatsapp dan ulaşabilirsiniz
  • 08-09-2026, 16:28:33
    #4
    abi yazsaydın bir hatayı/sonucu ona göre yorumlardık ama neye yorum yapıcam bilemedim
  • 08-09-2026, 16:35:28
    #5