IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Hazır Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   İp adresi konum sorgulama (Güncel) (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/1064161-ip-adresi-konum-sorgulama-guncel.html)

Bozkurt- 03 Temmuz 2025 23:26

İp adresi konum sorgulama (Güncel)
 
Kod:

alias sorgula {
  if (!$1) { echo -a Lütfen bir IP giriniz. Örnek: /sorgula 1.2.3.4 | return }
  set %ipaddr $1
  set %ipdata $null
  echo -a IP: %ipaddr Bilgileri Sorgulanıyor...
  sockopen -e iplookup ipwho.is 443
}

on *:SOCKOPEN:iplookup: {
  if ($sockerr) {
    echo -a Sunucuyla Bağlantı Kurulamıyor.
    sockclose $sockname
    return
  }
  sockwrite -n $sockname GET $+(/,%ipaddr) HTTP/1.1
  sockwrite -n $sockname Host: ipwho.is
  sockwrite -n $sockname User-Agent: mIRC
  sockwrite -n $sockname Connection: close
  sockwrite -n $sockname $crlf
}

on *:SOCKREAD:iplookup: {
  if ($sockerr) {
    echo -a Sunucuyla Bağlantı Kurulamıyor.
    sockclose $sockname
    return
  }
  var %temp
  sockread %temp
  if (%temp != $null) {
    ; HTTP headerları atla
    if (!$regex(%temp, /^HTTP\/|^[A-Za-z\-]+:/i)) {
      set %ipdata %ipdata $+ %temp
    }
  }
}

on *:SOCKCLOSE:iplookup: {
  timer 1 1 showdata
}
alias showdata {
  if (%ipdata == $null) {
    echo -a  Gösterilecek Veri Yok.
    unset %ipaddr
    unset %ipdata
    return
  }

  var %type = Bulunamadı
  var %asn = Bulunamadı
  var %country = Bulunamadı
  var %region = Bulunamadı
  var %city = Bulunamadı
  var %org = Bulunamadı

  if (*"type":* iswm %ipdata) {
    if ($regex(%ipdata, /"Domain":"([^"]+)"/i)) { set %domain  $regml(1) }
  }
  if (*"type":* iswm %ipdata) {
    if ($regex(%ipdata, /"type":"([^"]+)"/i)) { set %type  $regml(1) }
  }
  if (*"type":* iswm %ipdata) {
    if ($regex(%ipdata, /"continent":"([^"]+)"/i)) { set %continent  $regml(1) }
  }
  if (*"connection":* iswm %ipdata) {
    if ($regex(%ipdata, /"asn":\s*([0-9]+)/i)) { set %asn $regml(1) }
    if ($regex(%ipdata, /"isp":"([^"]+)"/i)) { set %org  $regml(1) }
  }
  if (*"country":* iswm %ipdata) { if ($regex(%ipdata, /"country":"([^"]+)"/i)) { set %country  $regml(1) } }
  if (*"region":* iswm %ipdata) { if ($regex(%ipdata, /"region":"([^"]+)"/i)) { set %region  $regml(1) } }
  if (*"city":* iswm %ipdata) { if ($regex(%ipdata, /"city":"([^"]+)"/i)) { set %city  $regml(1) } }

  echo -a 3,1[ K U L L A N I C I B İ L G İ L E R İ ]   9ASN  : 10 $utf2tr(%asn) 9Ülke  : 10 $utf2tr(%country) 9Kıta  : 10 $utf2tr(%continent) 9Bölge  : 10 $utf2tr(%region) 9Şehir  : 10 $utf2tr(%city) 9ISP  : 10 $utf2tr(%org) 9IP TÜRÜ  : 10 $utf2tr(%type) 9Alan Adı  : 10 $utf2tr(%domain)

  unset %ipaddr
  unset %ipdata
}
alias utf2tr {
  var %text = $1-
  %text = $replace(%text,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,\u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç)
  return %text
}

Kullanım şekli :

/sorgula ipadresi ÖRN : /sorgula 8.8.8.8

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Çalışması için 6.35 ve üzeri ssl destekli bir mirc kullanıyor olmanız gerekiyor. https prorokolü üzerinden 443 portundan veri çekmektedir. Mirciniz ssl değilse ssl yapmanız gerekiyor.

silenger 08 Temmuz 2025 13:04

Cevap: İp adresi konum sorgulama (Güncel)
 
Eline sağlık kod mükemmel calisio

BeReLi 09 Temmuz 2025 17:17

Cevap: İp adresi konum sorgulama (Güncel)
 
Gösterilecek Veri Yok. sürekli bunu diyor hangi ip adresine baksam !!

Bozkurt- 09 Temmuz 2025 17:19

Cevap: İp adresi konum sorgulama (Güncel)
 
Alıntı:

BeReLi Nickli Üyeden Alıntı (Mesaj 1043041063)
Gösterilecek Veri Yok. sürekli bunu diyor hangi ip adresine baksam !!

mirc versionunuz nedir?

ZaLiM1979 17 Kasım 2025 17:45

Cevap: İp adresi konum sorgulama (Güncel)
 
ben mirc 7.81 ile denedim Gösterilecek veri yok diyor :-)


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 17:45 -->-> Daha önceki mesaj 17:43 --

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

SNOOPY 17 Kasım 2025 23:16

Cevap: İp adresi konum sorgulama (Güncel)
 
Alıntı:

ZaLiM1979 Nickli Üyeden Alıntı (Mesaj 1043101275)
ben mirc 7.81 ile denedim Gösterilecek veri yok diyor :-)

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Kod:

alias sorgula {
  if (!$1) { echo -a Örnek: /sorgula 1.2.3.4 | return }
  unset %head.done
  set %ip.raw $null
  set %ip.addr $1
  sockopen -e ip.lookup ipwho.is 443
}

on *:sockopen:ip.lookup:{
  if ($sockerr) { echo -a Bağlantı hatası. | return }

  sockwrite -nt $sockname GET /json/$+ %ip.addr HTTP/1.1
  sockwrite -nt $sockname Host: ipwho.is
  sockwrite -nt $sockname User-Agent: mIRC
  sockwrite -nt $sockname Connection: close
  sockwrite -nt $sockname $crlf
}

on *:sockread:ip.lookup:{
  var %l
  sockread %l

  ; header bitti mi?
  if (!$len(%l)) { set %head.done 1 | return }
  if (%l == $chr(13)) { set %head.done 1 | return }
  if (!%head.done) return

  ; json verisini ekle
  set %ip.raw %ip.raw %l
}

on *:sockclose:ip.lookup:{
  if (%ip.raw == $null) {
    echo -a Sunucu veri göndermedi.
    unset %ip.*
    return
  }

  var %j = %ip.raw
  var %asn = Bulunamadı
  var %ulke = Bulunamadı
  var %kita = Bulunamadı
  var %bolge = Bulunamadı
  var %sehir = Bulunamadı
  var %isp = Bulunamadı
  var %tur = Bulunamadı
  var %domain = Bulunamadı

  if ($regex(%j,/"asn":\s*([0-9]+)/)) set %asn $regml(1)
  if ($regex(%j,/"country":"([^"]+)"/)) set %ulke $regml(1)
  if ($regex(%j,/"continent":"([^"]+)"/)) set %kita $regml(1)
  if ($regex(%j,/"region":"([^"]+)"/)) set %bolge $regml(1)
  if ($regex(%j,/"city":"([^"]+)"/)) set %sehir $regml(1)
  if ($regex(%j,/"isp":"([^"]+)"/)) set %isp $regml(1)
  if ($regex(%j,/"type":"([^"]+)"/)) set %tur $regml(1)
  if ($regex(%j,/"domain":"([^"]+)"/)) set %domain $regml(1)

  echo -a ASN: $fixutf(%asn)
  echo -a Ülke: $fixutf(%ulke)
  echo -a Kıta: $fixutf(%kita)
  echo -a Bölge: $fixutf(%bolge)
  echo -a Şehir: $fixutf(%sehir)
  echo -a ISP: $fixutf(%isp)
  echo -a Tür: $fixutf(%tur)
  echo -a Domain: $fixutf(%domain)

  unset %ip.*
  unset %head.done
}

alias fixutf {
  return $replace($1-,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,
    \u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç)
}

Böyle dener misin

ZaLiM1979 18 Kasım 2025 07:55

Cevap: İp adresi konum sorgulama (Güncel)
 
Alıntı:

SNOOPY Nickli Üyeden Alıntı (Mesaj 1043101473)
Kod:

alias sorgula {
  if (!$1) { echo -a Örnek: /sorgula 1.2.3.4 | return }
  unset %head.done
  set %ip.raw $null
  set %ip.addr $1
  sockopen -e ip.lookup ipwho.is 443
}

on *:sockopen:ip.lookup:{
  if ($sockerr) { echo -a Bağlantı hatası. | return }

  sockwrite -nt $sockname GET /json/$+ %ip.addr HTTP/1.1
  sockwrite -nt $sockname Host: ipwho.is
  sockwrite -nt $sockname User-Agent: mIRC
  sockwrite -nt $sockname Connection: close
  sockwrite -nt $sockname $crlf
}

on *:sockread:ip.lookup:{
  var %l
  sockread %l

  ; header bitti mi?
  if (!$len(%l)) { set %head.done 1 | return }
  if (%l == $chr(13)) { set %head.done 1 | return }
  if (!%head.done) return

  ; json verisini ekle
  set %ip.raw %ip.raw %l
}

on *:sockclose:ip.lookup:{
  if (%ip.raw == $null) {
    echo -a Sunucu veri göndermedi.
    unset %ip.*
    return
  }

  var %j = %ip.raw
  var %asn = Bulunamadı
  var %ulke = Bulunamadı
  var %kita = Bulunamadı
  var %bolge = Bulunamadı
  var %sehir = Bulunamadı
  var %isp = Bulunamadı
  var %tur = Bulunamadı
  var %domain = Bulunamadı

  if ($regex(%j,/"asn":\s*([0-9]+)/)) set %asn $regml(1)
  if ($regex(%j,/"country":"([^"]+)"/)) set %ulke $regml(1)
  if ($regex(%j,/"continent":"([^"]+)"/)) set %kita $regml(1)
  if ($regex(%j,/"region":"([^"]+)"/)) set %bolge $regml(1)
  if ($regex(%j,/"city":"([^"]+)"/)) set %sehir $regml(1)
  if ($regex(%j,/"isp":"([^"]+)"/)) set %isp $regml(1)
  if ($regex(%j,/"type":"([^"]+)"/)) set %tur $regml(1)
  if ($regex(%j,/"domain":"([^"]+)"/)) set %domain $regml(1)

  echo -a ASN: $fixutf(%asn)
  echo -a Ülke: $fixutf(%ulke)
  echo -a Kıta: $fixutf(%kita)
  echo -a Bölge: $fixutf(%bolge)
  echo -a Şehir: $fixutf(%sehir)
  echo -a ISP: $fixutf(%isp)
  echo -a Tür: $fixutf(%tur)
  echo -a Domain: $fixutf(%domain)

  unset %ip.*
  unset %head.done
}

alias fixutf {
  return $replace($1-,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,
    \u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç)
}

Böyle dener misin


[18:11:2025|05:53:26] * Invalid format: $replace (line 72, IP.mrc)

SNOOPY 18 Kasım 2025 09:09

Cevap: İp adresi konum sorgulama (Güncel)
 
Kod:

alias sorgula {
  if (!$1) { echo -a Örnek: /sorgula 1.2.3.4 | return }
  unset %head.done
  set %ip.raw $null
  set %ip.addr $1
  sockopen -e ip.lookup ipwho.is 443
}

on *:sockopen:ip.lookup:{
  if ($sockerr) { echo -a Bağlantı hatası. | return }

  sockwrite -nt $sockname GET /json/$+ %ip.addr HTTP/1.1
  sockwrite -nt $sockname Host: ipwho.is
  sockwrite -nt $sockname User-Agent: mIRC
  sockwrite -nt $sockname Connection: close
  sockwrite -nt $sockname $crlf
}

on *:sockread:ip.lookup:{
  var %l
  sockread %l

  ; header bitti mi?
  if (!$len(%l)) { set %head.done 1 | return }
  if (%l == $chr(13)) { set %head.done 1 | return }
  if (!%head.done) return

  ; json verisini ekle
  set %ip.raw %ip.raw %l
}

on *:sockclose:ip.lookup:{
  if (%ip.raw == $null) {
    echo -a Sunucu veri göndermedi.
    unset %ip.*
    return
  }

  var %j = %ip.raw
  var %asn = Bulunamadı
  var %ulke = Bulunamadı
  var %kita = Bulunamadı
  var %bolge = Bulunamadı
  var %sehir = Bulunamadı
  var %isp = Bulunamadı
  var %tur = Bulunamadı
  var %domain = Bulunamadı

  if ($regex(%j,/"asn":\s*([0-9]+)/)) set %asn $regml(1)
  if ($regex(%j,/"country":"([^"]+)"/)) set %ulke $regml(1)
  if ($regex(%j,/"continent":"([^"]+)"/)) set %kita $regml(1)
  if ($regex(%j,/"region":"([^"]+)"/)) set %bolge $regml(1)
  if ($regex(%j,/"city":"([^"]+)"/)) set %sehir $regml(1)
  if ($regex(%j,/"isp":"([^"]+)"/)) set %isp $regml(1)
  if ($regex(%j,/"type":"([^"]+)"/)) set %tur $regml(1)
  if ($regex(%j,/"domain":"([^"]+)"/)) set %domain $regml(1)

  echo -a ASN: $fixutf(%asn)
  echo -a Ülke: $fixutf(%ulke)
  echo -a Kıta: $fixutf(%kita)
  echo -a Bölge: $fixutf(%bolge)
  echo -a Şehir: $fixutf(%sehir)
  echo -a ISP: $fixutf(%isp)
  echo -a Tür: $fixutf(%tur)
  echo -a Domain: $fixutf(%domain)

  unset %ip.*
  unset %head.done
}

alias fixutf {
  return $replace($1-,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,\u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç)
}

$replace() parametresini 7.81'e göre biraz daha farklıymış tekrar kontrol ettim ve sondaki kısmı tekrar gözden geçirdim yine de bir hata varsa ufak bir testle sizin mirciniz üzerinde yaptığınız bazı değişikliklerden kaynaklanabilir.


Kod:

/echo -a $fixutf(\u00f6\u011f\u015f)
bunu yazdığınız zaman altaki yazması gerekir.


Kod:

öğş

Che 18 Kasım 2025 23:27

Cevap: İp adresi konum sorgulama (Güncel)
 
Kod:

alias sorgula {
  if (!$1) { echo -a Lütfen bir IP giriniz. Örnek: /sorgula 1.2.3.4 | return }
  set %ipaddr $1
  set %ipdata $null
  echo -a IP %ipaddr bilgileri sorgulanıyor...
  sockopen -e iplookup ipwho.is 80
}
on *:SOCKOPEN:iplookup: {
  if ($sockerr) { echo -a Sunucuyla bağlantı kurulamıyor. | sockclose $sockname | return }
  sockwrite -n $sockname GET / $+ %ipaddr HTTP/1.1
  sockwrite -n $sockname Host: ipwho.is
  sockwrite -n $sockname User-Agent: mIRC
  sockwrite -n $sockname Connection: close
  sockwrite -n $sockname $crlf
}
on *:SOCKREAD:iplookup: {
  if ($sockerr) { echo -a Sunucuyla bağlantı hatası. | sockclose $sockname | return }
  var %tmp
  sockread %tmp
  if (%tmp != $null) {
    ; HTTP headerları geç
    if (!$regex(%tmp,/^(HTTP\/|Content-|Server:|Date:|Connection:)/i)) {
      set %ipdata %ipdata $+ %tmp
    }
  }
}
on *:SOCKCLOSE:iplookup: { .timer 1 1 showdata }
alias showdata {
  if (%ipdata == $null) { echo -a Gösterilecek veri yok. | unset %ipaddr | unset %ipdata | return }

  var %type = Bulunamadı
  var %asn = Bulunamadı
  var %country = Bulunamadı
  var %region = Bulunamadı
  var %city = Bulunamadı
  var %org = Bulunamadı
  var %domain = Bulunamadı
  var %continent = Bulunamadı

  if ($regex(%ipdata,/"type":"([^"]+)"/i))      { set %type $regml(1) }
  if ($regex(%ipdata,/"continent":"([^"]+)"/i))  { set %continent $regml(1) }
  if ($regex(%ipdata,/"asn":\s*([0-9]+)/i))      { set %asn $regml(1) }
  if ($regex(%ipdata,/"isp":"([^"]+)"/i))        { set %org $regml(1) }
  if ($regex(%ipdata,/"country":"([^"]+)"/i))    { set %country $regml(1) }
  if ($regex(%ipdata,/"region":"([^"]+)"/i))    { set %region $regml(1) }
  if ($regex(%ipdata,/"city":"([^"]+)"/i))      { set %city $regml(1) }
  if ($regex(%ipdata,/"domain":"([^"]+)"/i))    { set %domain $regml(1) }
  if ($regex(%ipdata,/"hostname":"([^"]+)"/i))  { set %domain $regml(1) }

  echo -a 3,1[ K U L L A N I C I  B İ L G İ L E R İ ]
  echo -a 9ASN: 10 $utf2tr(%asn)
  echo -a 9Ülke: 10 $utf2tr(%country)
  echo -a 9Kıta: 10 $utf2tr(%continent)
  echo -a 9Bölge: 10 $utf2tr(%region)
  echo -a 9Şehir: 10 $utf2tr(%city)
  echo -a 9ISP: 10 $utf2tr(%org)
  echo -a 9IP Türü: 10 $utf2tr(%type)
  echo -a 9Alan Adı: 10 $utf2tr(%domain)

  unset %ipaddr
  unset %ipdata
}

alias utf2tr {
  var %text = $1-
  %text = $replace(%text,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,\u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç)
  return %text
}


ZaLiM1979 19 Kasım 2025 13:05

Cevap: İp adresi konum sorgulama (Güncel)
 
Alıntı:

SNOOPY Nickli Üyeden Alıntı (Mesaj 1043101586)
Kod:

alias sorgula {
  if (!$1) { echo -a Örnek: /sorgula 1.2.3.4 | return }
  unset %head.done
  set %ip.raw $null
  set %ip.addr $1
  sockopen -e ip.lookup ipwho.is 443
}

on *:sockopen:ip.lookup:{
  if ($sockerr) { echo -a Bağlantı hatası. | return }

  sockwrite -nt $sockname GET /json/$+ %ip.addr HTTP/1.1
  sockwrite -nt $sockname Host: ipwho.is
  sockwrite -nt $sockname User-Agent: mIRC
  sockwrite -nt $sockname Connection: close
  sockwrite -nt $sockname $crlf
}

on *:sockread:ip.lookup:{
  var %l
  sockread %l

  ; header bitti mi?
  if (!$len(%l)) { set %head.done 1 | return }
  if (%l == $chr(13)) { set %head.done 1 | return }
  if (!%head.done) return

  ; json verisini ekle
  set %ip.raw %ip.raw %l
}

on *:sockclose:ip.lookup:{
  if (%ip.raw == $null) {
    echo -a Sunucu veri göndermedi.
    unset %ip.*
    return
  }

  var %j = %ip.raw
  var %asn = Bulunamadı
  var %ulke = Bulunamadı
  var %kita = Bulunamadı
  var %bolge = Bulunamadı
  var %sehir = Bulunamadı
  var %isp = Bulunamadı
  var %tur = Bulunamadı
  var %domain = Bulunamadı

  if ($regex(%j,/"asn":\s*([0-9]+)/)) set %asn $regml(1)
  if ($regex(%j,/"country":"([^"]+)"/)) set %ulke $regml(1)
  if ($regex(%j,/"continent":"([^"]+)"/)) set %kita $regml(1)
  if ($regex(%j,/"region":"([^"]+)"/)) set %bolge $regml(1)
  if ($regex(%j,/"city":"([^"]+)"/)) set %sehir $regml(1)
  if ($regex(%j,/"isp":"([^"]+)"/)) set %isp $regml(1)
  if ($regex(%j,/"type":"([^"]+)"/)) set %tur $regml(1)
  if ($regex(%j,/"domain":"([^"]+)"/)) set %domain $regml(1)

  echo -a ASN: $fixutf(%asn)
  echo -a Ülke: $fixutf(%ulke)
  echo -a Kıta: $fixutf(%kita)
  echo -a Bölge: $fixutf(%bolge)
  echo -a Şehir: $fixutf(%sehir)
  echo -a ISP: $fixutf(%isp)
  echo -a Tür: $fixutf(%tur)
  echo -a Domain: $fixutf(%domain)

  unset %ip.*
  unset %head.done
}

alias fixutf {
  return $replace($1-,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,\u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç)
}

$replace() parametresini 7.81'e göre biraz daha farklıymış tekrar kontrol ettim ve sondaki kısmı tekrar gözden geçirdim yine de bir hata varsa ufak bir testle sizin mirciniz üzerinde yaptığınız bazı değişikliklerden kaynaklanabilir.


Kod:

/echo -a $fixutf(\u00f6\u011f\u015f)
bunu yazdığınız zaman altaki yazması gerekir.


Kod:

öğş


ASN: Bulunamadı
Ülke: Bulunamadı
Kıta: Bulunamadı
Bölge: Bulunamadı
Şehir: Bulunamadı
ISP: Bulunamadı
Tür: Bulunamadı
Domain: Bulunamadı


Kod birsey bulamdi. :)


/echo -a $fixutf(\u00f6\u011f\u015f) yapinca aktiv pencerede bu geliyor: $fixutf(\u00f6\u011f\u015f)

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 13:05 -->-> Daha önceki mesaj 13:03 --

Alıntı:

Che Nickli Üyeden Alıntı (Mesaj 1043102125)
Kod:

alias sorgula {
  if (!$1) { echo -a Lütfen bir IP giriniz. Örnek: /sorgula 1.2.3.4 | return }
  set %ipaddr $1
  set %ipdata $null
  echo -a IP %ipaddr bilgileri sorgulanıyor...
  sockopen -e iplookup ipwho.is 80
}
on *:SOCKOPEN:iplookup: {
  if ($sockerr) { echo -a Sunucuyla bağlantı kurulamıyor. | sockclose $sockname | return }
  sockwrite -n $sockname GET / $+ %ipaddr HTTP/1.1
  sockwrite -n $sockname Host: ipwho.is
  sockwrite -n $sockname User-Agent: mIRC
  sockwrite -n $sockname Connection: close
  sockwrite -n $sockname $crlf
}
on *:SOCKREAD:iplookup: {
  if ($sockerr) { echo -a Sunucuyla bağlantı hatası. | sockclose $sockname | return }
  var %tmp
  sockread %tmp
  if (%tmp != $null) {
    ; HTTP headerları geç
    if (!$regex(%tmp,/^(HTTP\/|Content-|Server:|Date:|Connection:)/i)) {
      set %ipdata %ipdata $+ %tmp
    }
  }
}
on *:SOCKCLOSE:iplookup: { .timer 1 1 showdata }
alias showdata {
  if (%ipdata == $null) { echo -a Gösterilecek veri yok. | unset %ipaddr | unset %ipdata | return }

  var %type = Bulunamadı
  var %asn = Bulunamadı
  var %country = Bulunamadı
  var %region = Bulunamadı
  var %city = Bulunamadı
  var %org = Bulunamadı
  var %domain = Bulunamadı
  var %continent = Bulunamadı

  if ($regex(%ipdata,/"type":"([^"]+)"/i))      { set %type $regml(1) }
  if ($regex(%ipdata,/"continent":"([^"]+)"/i))  { set %continent $regml(1) }
  if ($regex(%ipdata,/"asn":\s*([0-9]+)/i))      { set %asn $regml(1) }
  if ($regex(%ipdata,/"isp":"([^"]+)"/i))        { set %org $regml(1) }
  if ($regex(%ipdata,/"country":"([^"]+)"/i))    { set %country $regml(1) }
  if ($regex(%ipdata,/"region":"([^"]+)"/i))    { set %region $regml(1) }
  if ($regex(%ipdata,/"city":"([^"]+)"/i))      { set %city $regml(1) }
  if ($regex(%ipdata,/"domain":"([^"]+)"/i))    { set %domain $regml(1) }
  if ($regex(%ipdata,/"hostname":"([^"]+)"/i))  { set %domain $regml(1) }

  echo -a 3,1[ K U L L A N I C I  B İ L G İ L E R İ ]
  echo -a 9ASN: 10 $utf2tr(%asn)
  echo -a 9Ülke: 10 $utf2tr(%country)
  echo -a 9Kıta: 10 $utf2tr(%continent)
  echo -a 9Bölge: 10 $utf2tr(%region)
  echo -a 9Şehir: 10 $utf2tr(%city)
  echo -a 9ISP: 10 $utf2tr(%org)
  echo -a 9IP Türü: 10 $utf2tr(%type)
  echo -a 9Alan Adı: 10 $utf2tr(%domain)

  unset %ipaddr
  unset %ipdata
}

alias utf2tr {
  var %text = $1-
  %text = $replace(%text,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,\u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç)
  return %text
}



Bu Kod bu hatayi veriyor: IP 162.19.230.101 bilgileri sorgulanıyor...
Sunucuyla bağlantı kurulamıyor.

Chelt 23 Kasım 2025 17:32

Cevap: İp adresi konum sorgulama (Güncel)
 
bunu böyle deneyin

alias sorgula {
if (!$1) { echo -a Lütfen bir IP giriniz. Örnek: /sorgula 1.2.3.4 | return }
set %ipaddr $1
set %ipdata $null
echo -a IP %ipaddr bilgileri sorgulanıyor...
sockopen -e iplookup ipwho.is 443
}

on *:SOCKOPEN:iplookup:{
if ($sockerr) { echo -a Sunucuyla bağlantı kurulamıyor. | sockclose $sockname | return }
sockwrite -n $sockname GET / $+ %ipaddr HTTP/1.1
sockwrite -n $sockname Host: ipwho.is
sockwrite -n $sockname User-Agent: mIRC
sockwrite -n $sockname Connection: close
sockwrite -n $sockname $crlf
}

on *:SOCKREAD:iplookup:{
if ($sockerr) { echo -a Sunucuyla bağlantı hatası. | sockclose $sockname | return }
var %tmp
sockread %tmp
if (%tmp != $null) {
if (!$regex(%tmp,/^(HTTP\/|Content-|Server:|Date:|Connection:|Access-Control)/i)) {
set %ipdata %ipdata $+ %tmp
}
}
}

on *:SOCKCLOSE:iplookup:{ .timer 1 1 showdata }

alias showdata {
if (%ipdata == $null) { echo -a Gösterilecek veri yok. | unset %ipaddr | unset %ipdata | return }

var %type = Bulunamadı
var %asn = Bulunamadı
var %country = Bulunamadı
var %region = Bulunamadı
var %city = Bulunamadı
var %org = Bulunamadı
var %domain = Bulunamadı
var %continent = Bulunamadı

; API success kontrolü
if ($regex(%ipdata,/"success":\s*false/i)) {
echo -a 4HATA: API IP bilgisini döndüremedi.
unset %ipaddr | unset %ipdata
return
}

if ($regex(%ipdata,/"type":"([^"]+)"/i)) { set %type $regml(1) }
if ($regex(%ipdata,/"continent":"([^"]+)"/i)) { set %continent $regml(1) }

if ($regex(%ipdata,/"asn":\s*([0-9]+)/i)) { set %asn $regml(1) }
elseif ($regex(%ipdata,/"asn":"AS([0-9]+)"/i)) { set %asn $regml(1) }

if ($regex(%ipdata,/"org":"([^"]+)"/i)) { set %org $regml(1) }
elseif ($regex(%ipdata,/"isp":"([^"]+)"/i)) { set %org $regml(1) }

if ($regex(%ipdata,/"country":"([^"]+)"/i)) { set %country $regml(1) }
if ($regex(%ipdata,/"region":"([^"]+)"/i)) { set %region $regml(1) }
if ($regex(%ipdata,/"city":"([^"]+)"/i)) { set %city $regml(1) }

if ($regex(%ipdata,/"domain":"([^"]+)"/i)) { set %domain $regml(1) }
elseif ($regex(%ipdata,/"hostname":"([^"]+)"/i)) { set %d

ZaLiM1979 23 Kasım 2025 18:11

Cevap: İp adresi konum sorgulama (Güncel)
 
Alıntı:

Chelt Nickli Üyeden Alıntı (Mesaj 1043104401)
bunu böyle deneyin

alias sorgula {
if (!$1) { echo -a Lütfen bir IP giriniz. Örnek: /sorgula 1.2.3.4 | return }
set %ipaddr $1
set %ipdata $null
echo -a IP %ipaddr bilgileri sorgulanıyor...
sockopen -e iplookup ipwho.is 443
}

on *:SOCKOPEN:iplookup:{
if ($sockerr) { echo -a Sunucuyla bağlantı kurulamıyor. | sockclose $sockname | return }
sockwrite -n $sockname GET / $+ %ipaddr HTTP/1.1
sockwrite -n $sockname Host: ipwho.is
sockwrite -n $sockname User-Agent: mIRC
sockwrite -n $sockname Connection: close
sockwrite -n $sockname $crlf
}

on *:SOCKREAD:iplookup:{
if ($sockerr) { echo -a Sunucuyla bağlantı hatası. | sockclose $sockname | return }
var %tmp
sockread %tmp
if (%tmp != $null) {
if (!$regex(%tmp,/^(HTTP\/|Content-|Server:|Date:|Connection:|Access-Control)/i)) {
set %ipdata %ipdata $+ %tmp
}
}
}

on *:SOCKCLOSE:iplookup:{ .timer 1 1 showdata }

alias showdata {
if (%ipdata == $null) { echo -a Gösterilecek veri yok. | unset %ipaddr | unset %ipdata | return }

var %type = Bulunamadı
var %asn = Bulunamadı
var %country = Bulunamadı
var %region = Bulunamadı
var %city = Bulunamadı
var %org = Bulunamadı
var %domain = Bulunamadı
var %continent = Bulunamadı

; API success kontrolü
if ($regex(%ipdata,/"success":\s*false/i)) {
echo -a 4HATA: API IP bilgisini döndüremedi.
unset %ipaddr | unset %ipdata
return
}

if ($regex(%ipdata,/"type":"([^"]+)"/i)) { set %type $regml(1) }
if ($regex(%ipdata,/"continent":"([^"]+)"/i)) { set %continent $regml(1) }

if ($regex(%ipdata,/"asn":\s*([0-9]+)/i)) { set %asn $regml(1) }
elseif ($regex(%ipdata,/"asn":"AS([0-9]+)"/i)) { set %asn $regml(1) }

if ($regex(%ipdata,/"org":"([^"]+)"/i)) { set %org $regml(1) }
elseif ($regex(%ipdata,/"isp":"([^"]+)"/i)) { set %org $regml(1) }

if ($regex(%ipdata,/"country":"([^"]+)"/i)) { set %country $regml(1) }
if ($regex(%ipdata,/"region":"([^"]+)"/i)) { set %region $regml(1) }
if ($regex(%ipdata,/"city":"([^"]+)"/i)) { set %city $regml(1) }

if ($regex(%ipdata,/"domain":"([^"]+)"/i)) { set %domain $regml(1) }
elseif ($regex(%ipdata,/"hostname":"([^"]+)"/i)) { set %d


coder sayilmam ama bence bu kod'da eksiklikler var. mümkün mü?

Entrance 25 Kasım 2025 00:58

Cevap: İp adresi konum sorgulama (Güncel)
 
Alıntı:

ZaLiM1979 Nickli Üyeden Alıntı (Mesaj 1043104441)
coder sayilmam ama bence bu kod'da eksiklikler var. mümkün mü?

Kod:


alias sorgula {
  if (!$1) { echo -a Lütfen bir IP giriniz. Örnek: /sorgula 1.2.3.4 | return }
  set %ipaddr $1
  set %ipdata $null
  echo -a IP: %ipaddr Bilgileri Sorgulanıyor...
  sockopen -e iplookup ipwho.is 443
}

on *:SOCKOPEN:iplookup: {
  if ($sockerr) {
    echo -a Sunucuyla Bağlantı Kurulamıyor.
    sockclose $sockname
    return
  }
  sockwrite -n $sockname GET / $+ %ipaddr $+ ?output=json HTTP/1.1
  sockwrite -n $sockname Host: ipwho.is
  sockwrite -n $sockname User-Agent: mIRC
  sockwrite -n $sockname Connection: close
  sockwrite -n $sockname $crlf
}

on *:SOCKREAD:iplookup: {
  if ($sockerr) {
    echo -a Sunucuyla Bağlantı Kurulamıyor.
    sockclose $sockname
    return
  }
  var %temp
  sockread %temp
  if (%temp != $null) {
    ; HTTP headerları atla
    if (!$regex(%temp, /^HTTP\/|^[A-Za-z\-]+:/i)) {
      set %ipdata %ipdata $+ %temp
    }
  }
}

on *:SOCKCLOSE:iplookup: {
  .timer 1 1 showdata
}

alias showdata {
  if (%ipdata == $null) {
    echo -a Gösterilecek Veri Yok.
    unset %ipaddr
    unset %ipdata
    return
  }

  var %type = Bulunamadı
  var %asn = Bulunamadı
  var %country = Bulunamadı
  var %region = Bulunamadı
  var %city = Bulunamadı
  var %org = Bulunamadı
  var %domain = Bulunamadı
  var %continent = Bulunamadı

  if ($regex(%ipdata, /"domain":"([^"]+)"/i)) { set %domain $regml(1) }
  if ($regex(%ipdata, /"type":"([^"]+)"/i)) { set %type $regml(1) }
  if ($regex(%ipdata, /"continent":"([^"]+)"/i)) { set %continent $regml(1) }
  if ($regex(%ipdata, /"asn":\s*([0-9]+)/i)) { set %asn $regml(1) }
  if ($regex(%ipdata, /"isp":"([^"]+)"/i)) { set %org $regml(1) }
  if ($regex(%ipdata, /"country":"([^"]+)"/i)) { set %country $regml(1) }
  if ($regex(%ipdata, /"region":"([^"]+)"/i)) { set %region $regml(1) }
  if ($regex(%ipdata, /"city":"([^"]+)"/i)) { set %city $regml(1) }

  echo -a 3,1[ K U L L A N I C I B İ L G İ L E R İ ] \
    9ASN  : 10 $utf2tr(%asn) \
    9Ülke  : 10 $utf2tr(%country) \
    9Kıta  : 10 $utf2tr(%continent) \
    9Bölge  : 10 $utf2tr(%region) \
    9Şehir  : 10 $utf2tr(%city) \
    9ISP  : 10 $utf2tr(%org) \
    9IP TÜRÜ  : 10 $utf2tr(%type) \
    9Alan Adı  : 10 $utf2tr(%domain)

  unset %ipaddr
  unset %ipdata
}

alias utf2tr {
  var %text = $1-
  %text = $replace(%text,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,\u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç)
  return %text
}

Bu şekilde deneyip, olumlu/olumsuz dönüş yaparsanız yardımcı olmaya çalışırım.)

İyi forumlar. ^^

ZaLiM1979 25 Kasım 2025 19:51

Cevap: İp adresi konum sorgulama (Güncel)
 
Alıntı:

Entrance Nickli Üyeden Alıntı (Mesaj 1043105546)
Kod:


alias sorgula {
  if (!$1) { echo -a Lütfen bir IP giriniz. Örnek: /sorgula 1.2.3.4 | return }
  set %ipaddr $1
  set %ipdata $null
  echo -a IP: %ipaddr Bilgileri Sorgulanıyor...
  sockopen -e iplookup ipwho.is 443
}

on *:SOCKOPEN:iplookup: {
  if ($sockerr) {
    echo -a Sunucuyla Bağlantı Kurulamıyor.
    sockclose $sockname
    return
  }
  sockwrite -n $sockname GET / $+ %ipaddr $+ ?output=json HTTP/1.1
  sockwrite -n $sockname Host: ipwho.is
  sockwrite -n $sockname User-Agent: mIRC
  sockwrite -n $sockname Connection: close
  sockwrite -n $sockname $crlf
}

on *:SOCKREAD:iplookup: {
  if ($sockerr) {
    echo -a Sunucuyla Bağlantı Kurulamıyor.
    sockclose $sockname
    return
  }
  var %temp
  sockread %temp
  if (%temp != $null) {
    ; HTTP headerları atla
    if (!$regex(%temp, /^HTTP\/|^[A-Za-z\-]+:/i)) {
      set %ipdata %ipdata $+ %temp
    }
  }
}

on *:SOCKCLOSE:iplookup: {
  .timer 1 1 showdata
}

alias showdata {
  if (%ipdata == $null) {
    echo -a Gösterilecek Veri Yok.
    unset %ipaddr
    unset %ipdata
    return
  }

  var %type = Bulunamadı
  var %asn = Bulunamadı
  var %country = Bulunamadı
  var %region = Bulunamadı
  var %city = Bulunamadı
  var %org = Bulunamadı
  var %domain = Bulunamadı
  var %continent = Bulunamadı

  if ($regex(%ipdata, /"domain":"([^"]+)"/i)) { set %domain $regml(1) }
  if ($regex(%ipdata, /"type":"([^"]+)"/i)) { set %type $regml(1) }
  if ($regex(%ipdata, /"continent":"([^"]+)"/i)) { set %continent $regml(1) }
  if ($regex(%ipdata, /"asn":\s*([0-9]+)/i)) { set %asn $regml(1) }
  if ($regex(%ipdata, /"isp":"([^"]+)"/i)) { set %org $regml(1) }
  if ($regex(%ipdata, /"country":"([^"]+)"/i)) { set %country $regml(1) }
  if ($regex(%ipdata, /"region":"([^"]+)"/i)) { set %region $regml(1) }
  if ($regex(%ipdata, /"city":"([^"]+)"/i)) { set %city $regml(1) }

  echo -a 3,1[ K U L L A N I C I B İ L G İ L E R İ ] \
    9ASN  : 10 $utf2tr(%asn) \
    9Ülke  : 10 $utf2tr(%country) \
    9Kıta  : 10 $utf2tr(%continent) \
    9Bölge  : 10 $utf2tr(%region) \
    9Şehir  : 10 $utf2tr(%city) \
    9ISP  : 10 $utf2tr(%org) \
    9IP TÜRÜ  : 10 $utf2tr(%type) \
    9Alan Adı  : 10 $utf2tr(%domain)

  unset %ipaddr
  unset %ipdata
}

alias utf2tr {
  var %text = $1-
  %text = $replace(%text,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,\u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç)
  return %text
}

Bu şekilde deneyip, olumlu/olumsuz dönüş yaparsanız yardımcı olmaya çalışırım.)

İyi forumlar. ^^


3 degisik IP denedim hep ayni sonuc.
Gösterilecek Veri Yok.

Entrance 25 Kasım 2025 22:00

Cevap: İp adresi konum sorgulama (Güncel)
 
Alıntı:

ZaLiM1979 Nickli Üyeden Alıntı (Mesaj 1043105955)
3 degisik IP denedim hep ayni sonuc.
Gösterilecek Veri Yok.

Kod:

alias sorgula {
  if (!$1) { echo -a Lütfen bir IP giriniz. Örnek: /sorgula 1.2.3.4 | return }
  set %ipaddr $1
  unset %ipdata | unset %headerdone | unset %clen | unset %got
  if ($var(&buf,0)) bunset &buf
  echo -a IP: %ipaddr Bilgileri Sorgulanıyor...
  sockopen iplookup ip-api.com 80
}

on *:SOCKOPEN:iplookup: {
  if ($sockerr) { echo -a Sunucuyla Bağlantı Kurulamıyor. | sockclose $sockname | return }
  sockwrite -n $sockname GET $+(/json/,%ipaddr) HTTP/1.1
  sockwrite -n $sockname Host: ip-api.com
  sockwrite -n $sockname Connection: close
  sockwrite -n $sockname Accept: application/json
  sockwrite -n $sockname User-Agent: mIRC
  sockwrite -n $sockname $crlf
}

on *:SOCKREAD:iplookup: {
  if ($sockerr) { echo -a Sunucuyla Bağlantı Kurulamıyor. | sockclose $sockname | return }

  var %read 1
  while (%read) {
    sockread -f &chunk
    if ($bvar(&chunk,0) == 0) break
    if (!$var(&buf,0)) bcopy &buf 1 &chunk 1 $bvar(&chunk,0)
    else bcopy &buf $calc($bvar(&buf,0) + 1) &chunk 1 $bvar(&chunk,0)
    bunset &chunk
  }

  if (!%headerdone) {
    var %p $bfind(&buf,1,13 10 13 10)
    if (%p) {
      set %headerdone 1
      var %hdr $bvar(&buf,1,%p).text
      if ($regex(%hdr,/Content-Length:\s*([0-9]+)/i)) set %clen $regml(1)

      var %bodyStart $calc(%p + 4)
      var %len $bvar(&buf,0)
      if (%len >= %bodyStart) {
        var %bytes $calc(%len - %bodyStart + 1)
        var %text $bvar(&buf,%bodyStart,%bytes).text
        set %ipdata $+(%ipdata,%text)
        set %got $calc(%got + %bytes)
        ; Buffer'ı sadece gövde ile yeniden düzenle
        bcopy &buf 1 &buf %bodyStart $calc(%len - %bodyStart + 1)
      }
      else bunset &buf
    }
    return
  }

  if ($var(&buf,0)) {
    var %bytes $bvar(&buf,0)
    var %text $bvar(&buf,1,%bytes).text
    set %ipdata $+(%ipdata,%text)
    set %got $calc(%got + %bytes)
    bunset &buf
  }
}

on *:SOCKCLOSE:iplookup: {
  .timer 1 1 showdata
}

alias showdata {
  if (%ipdata == $null) {
    echo -a Gösterilecek Veri Yok.
    goto cleanup
  }

  ; JSON alanları
  var %status = Bulunamadı
  var %query = Bulunamadı
  var %country = Bulunamadı
  var %region = Bulunamadı
  var %city = Bulunamadı
  var %org = Bulunamadı
  var %as = Bulunamadı
  var %isp = Bulunamadı
  var %lat = Bulunamadı
  var %lon = Bulunamadı
  var %message = Bulunamadı

  if ($regex(%ipdata,/"status":"([^"]+)"/i)) set %status $regml(1)
  if ($regex(%ipdata,/"query":"([^"]+)"/i)) set %query $regml(1)
  if ($regex(%ipdata,/"country":"([^"]+)"/i)) set %country $regml(1)
  if ($regex(%ipdata,/"regionName":"([^"]+)"/i)) set %region $regml(1)
  if ($regex(%ipdata,/"city":"([^"]+)"/i)) set %city $regml(1)
  if ($regex(%ipdata,/"org":"([^"]+)"/i)) set %org $regml(1)
  if ($regex(%ipdata,/"as":"([^"]+)"/i)) set %as $regml(1)
  if ($regex(%ipdata,/"isp":"([^"]+)"/i)) set %isp $regml(1)
  if ($regex(%ipdata,/"lat":\s*([-0-9.]+)/i)) set %lat $regml(1)
  if ($regex(%ipdata,/"lon":\s*([-0-9.]+)/i)) set %lon $regml(1)
  if ($regex(%ipdata,/"message":"((?:\\.|[^"])*)"/i)) {
    var %m $regml(1)
    %m = $replace(%m,\\u0130,İ,\\u0131,ı,\\u00dc,Ü,\\u00fc,ü,\\u011e,Ğ,\\u011f,ğ,\\u015e,Ş,\\u015f,ş,\\u00d6,Ö,\\u00f6,ö,\\u00c7,Ç,\\u00e7,ç,\\/",/")
    set %message %m
  }

  if ($lower(%status) == success) {
    echo -a 3,1[ K U L L A N I C I  B İ L G İ L E R İ ]
    echo -a 9IP  : 10 $utf2tr(%query)
    echo -a 9Ülke  : 10 $utf2tr(%country)
    echo -a 9Bölge  : 10 $utf2tr(%region)
    echo -a 9Şehir  : 10 $utf2tr(%city)
    echo -a 9ASN/AS  : 10 $utf2tr(%as)
    echo -a 9Org/ISP  : 10 $utf2tr(%org) / $utf2tr(%isp)
    echo -a 9Konum  : 10 Enlem: $utf2tr(%lat) Boylam: $utf2tr(%lon)
  }
  else {
    echo -a Sorgu başarısız: $iif(%message != Bulunamadı,$utf2tr(%message),Yanıt: $utf2tr(%ipdata))
  }

  :cleanup
  unset %ipaddr | unset %ipdata | unset %headerdone | unset %clen | unset %got
  if ($var(&buf,0)) bunset &buf
}

alias utf2tr {
  var %text = $1-
  %text = $replace(%text,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,\u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç)
  return %text
}

Dün test etme imkânım yoktu. Bugün test etme fırsatı buldum bu şekliyle mIRC'in en son sürümü olan v7.83'te sorunsuz çalışmaktadır.

İyi forumlar. ^^

ZaLiM1979 25 Kasım 2025 22:48

Cevap: İp adresi konum sorgulama (Güncel)
 
Alıntı:

Entrance Nickli Üyeden Alıntı (Mesaj 1043106073)
Kod:

alias sorgula {
  if (!$1) { echo -a Lütfen bir IP giriniz. Örnek: /sorgula 1.2.3.4 | return }
  set %ipaddr $1
  unset %ipdata | unset %headerdone | unset %clen | unset %got
  if ($var(&buf,0)) bunset &buf
  echo -a IP: %ipaddr Bilgileri Sorgulanıyor...
  sockopen iplookup ip-api.com 80
}

on *:SOCKOPEN:iplookup: {
  if ($sockerr) { echo -a Sunucuyla Bağlantı Kurulamıyor. | sockclose $sockname | return }
  sockwrite -n $sockname GET $+(/json/,%ipaddr) HTTP/1.1
  sockwrite -n $sockname Host: ip-api.com
  sockwrite -n $sockname Connection: close
  sockwrite -n $sockname Accept: application/json
  sockwrite -n $sockname User-Agent: mIRC
  sockwrite -n $sockname $crlf
}

on *:SOCKREAD:iplookup: {
  if ($sockerr) { echo -a Sunucuyla Bağlantı Kurulamıyor. | sockclose $sockname | return }

  var %read 1
  while (%read) {
    sockread -f &chunk
    if ($bvar(&chunk,0) == 0) break
    if (!$var(&buf,0)) bcopy &buf 1 &chunk 1 $bvar(&chunk,0)
    else bcopy &buf $calc($bvar(&buf,0) + 1) &chunk 1 $bvar(&chunk,0)
    bunset &chunk
  }

  if (!%headerdone) {
    var %p $bfind(&buf,1,13 10 13 10)
    if (%p) {
      set %headerdone 1
      var %hdr $bvar(&buf,1,%p).text
      if ($regex(%hdr,/Content-Length:\s*([0-9]+)/i)) set %clen $regml(1)

      var %bodyStart $calc(%p + 4)
      var %len $bvar(&buf,0)
      if (%len >= %bodyStart) {
        var %bytes $calc(%len - %bodyStart + 1)
        var %text $bvar(&buf,%bodyStart,%bytes).text
        set %ipdata $+(%ipdata,%text)
        set %got $calc(%got + %bytes)
        ; Buffer'ı sadece gövde ile yeniden düzenle
        bcopy &buf 1 &buf %bodyStart $calc(%len - %bodyStart + 1)
      }
      else bunset &buf
    }
    return
  }

  if ($var(&buf,0)) {
    var %bytes $bvar(&buf,0)
    var %text $bvar(&buf,1,%bytes).text
    set %ipdata $+(%ipdata,%text)
    set %got $calc(%got + %bytes)
    bunset &buf
  }
}

on *:SOCKCLOSE:iplookup: {
  .timer 1 1 showdata
}

alias showdata {
  if (%ipdata == $null) {
    echo -a Gösterilecek Veri Yok.
    goto cleanup
  }

  ; JSON alanları
  var %status = Bulunamadı
  var %query = Bulunamadı
  var %country = Bulunamadı
  var %region = Bulunamadı
  var %city = Bulunamadı
  var %org = Bulunamadı
  var %as = Bulunamadı
  var %isp = Bulunamadı
  var %lat = Bulunamadı
  var %lon = Bulunamadı
  var %message = Bulunamadı

  if ($regex(%ipdata,/"status":"([^"]+)"/i)) set %status $regml(1)
  if ($regex(%ipdata,/"query":"([^"]+)"/i)) set %query $regml(1)
  if ($regex(%ipdata,/"country":"([^"]+)"/i)) set %country $regml(1)
  if ($regex(%ipdata,/"regionName":"([^"]+)"/i)) set %region $regml(1)
  if ($regex(%ipdata,/"city":"([^"]+)"/i)) set %city $regml(1)
  if ($regex(%ipdata,/"org":"([^"]+)"/i)) set %org $regml(1)
  if ($regex(%ipdata,/"as":"([^"]+)"/i)) set %as $regml(1)
  if ($regex(%ipdata,/"isp":"([^"]+)"/i)) set %isp $regml(1)
  if ($regex(%ipdata,/"lat":\s*([-0-9.]+)/i)) set %lat $regml(1)
  if ($regex(%ipdata,/"lon":\s*([-0-9.]+)/i)) set %lon $regml(1)
  if ($regex(%ipdata,/"message":"((?:\\.|[^"])*)"/i)) {
    var %m $regml(1)
    %m = $replace(%m,\\u0130,İ,\\u0131,ı,\\u00dc,Ü,\\u00fc,ü,\\u011e,Ğ,\\u011f,ğ,\\u015e,Ş,\\u015f,ş,\\u00d6,Ö,\\u00f6,ö,\\u00c7,Ç,\\u00e7,ç,\\/",/")
    set %message %m
  }

  if ($lower(%status) == success) {
    echo -a 3,1[ K U L L A N I C I  B İ L G İ L E R İ ]
    echo -a 9IP  : 10 $utf2tr(%query)
    echo -a 9Ülke  : 10 $utf2tr(%country)
    echo -a 9Bölge  : 10 $utf2tr(%region)
    echo -a 9Şehir  : 10 $utf2tr(%city)
    echo -a 9ASN/AS  : 10 $utf2tr(%as)
    echo -a 9Org/ISP  : 10 $utf2tr(%org) / $utf2tr(%isp)
    echo -a 9Konum  : 10 Enlem: $utf2tr(%lat) Boylam: $utf2tr(%lon)
  }
  else {
    echo -a Sorgu başarısız: $iif(%message != Bulunamadı,$utf2tr(%message),Yanıt: $utf2tr(%ipdata))
  }

  :cleanup
  unset %ipaddr | unset %ipdata | unset %headerdone | unset %clen | unset %got
  if ($var(&buf,0)) bunset &buf
}

alias utf2tr {
  var %text = $1-
  %text = $replace(%text,\u0130,İ,\u0131,ı,\u00dc,Ü,\u00fc,ü,\u011e,Ğ,\u011f,ğ,\u015e,Ş,\u015f,ş,\u00d6,Ö,\u00f6,ö,\u00c7,Ç,\u00e7,ç)
  return %text
}

Dün test etme imkânım yoktu. Bugün test etme fırsatı buldum bu şekliyle mIRC'in en son sürümü olan v7.83'te sorunsuz çalışmaktadır.

İyi forumlar. ^^


Sagolasin, 7.81'de denedim calisti.
sabirli birini bulsam bu tür addonlari bende codlamayi ögrenmek isterdim. :-)


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 10:16.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk