Vos identifiants
Tchat sur notre serveur
Bienvenue
Voir tous les scripts
Pour mirc 6.1 et moins
Pour mirc 6.2
Pour mirc 6.3
Pour mirc 7.1
Top 10
Vous aimez ou détestez
Soumettre un script
Foire aux questions
Forum de discussion



Les bases du Scripting
Le virus "irc.worm.gen"
Le mIRC D'Or
ScreenShots
Le Défi du moment
Tag-moi-ça
Le Pire de l'IRC
L'IRC pour les nuls
Tutoriaux
Configurer UnrealIRCD
Configurer votre box
Attention à l'arnaque!
Usenet et les News
Arrêter de fumer
Un peu d'orthographe
mIRC Script Server
Proxy Web Chat
Magneto for Unreal
Super Poupées
Tour de cartes
L'Equipe
Partenariat
Administration

www.codeswall.info
Web Of Trust
shellhoster
sileg
idealirc (Francophone)
www.chat.exolia.net (Francophone)
ircblog.com (Francophone)
fantasya.org (Francophone)
www.iquotes-fr.com (Francophone)
csadmin (francophone)
hiersay (francophone)
scriptsdb (francophone)
JhdScript

                                            

IP-LOCATOR (fonction /whereis)
Auteur(s): Averell
Date de soumission (Heure française): 21 février 2009 (00:02)
Taille du fichier: 2.8 Ko  
Type du fichier: snippet  
Déjà visualisé: 527 fois
Poster un commentaire
But du snippet: retrouver les coordonnées géographiques d'un pseudo à partir de son ip: Pays, Ville, Région et FAI

Pour info, le script s'aide du site ip-adress.com en simulant une connexion web. Le texte téléchargé est ensuite traité à l'aide de regexps.

Ne fonctionne *que* sur les serveurs dinosauriens qui révèlent les ip (par exemple undernet, à la condition que le pseudo n'utilise pas son host enregistré) (84.101.46.***)


; IP-LOCATOR, par Averell (fonction /whereis)
;
; But du snippet: retrouver les coordonnées géographiques d'un pseudo à partir de son ip: Pays, Ville, Région et FAI
;
; Taper /whereis pseudo pour avoir les infos du pseudo. Possibilité de l'utiliser dans la nicklist
;
; Pour info, le script s'aide du site ip-adress.com en simulant une connexion web. Le texte téléchargé est ensuite traité à l'aide de regexps.
; ATTENTION: ip-addr.com a mis un quota dépendant de votre adresse ip propre: il ne fonctionnera que 50 fois dans une journée.
;
; Ne fonctionne *que* sur les serveurs dinosauriens qui révèlent les ip (par exemple undernet, à la condition que le pseudo n'utilise pas son host enregistré)
; Ce code peut interférer avec un script utilisant déjà la fonction /dns, qui permet comme chacun sait de retrouver l'adresse ip d'un pseudo, ou le host d'une ip.
;
; Copyright: vous pouvez copier ce code, le modifier, l'incorporer dans votre script, le vendre si vous voulez! Ca m'étonnerait que ce truc vous rende riche... Mais sait-on jamais!
;
; Merci à Vestax, qui a disparu de la circulation, à qui j'ai emprunté un bout de code.

alias whereis { dns $1 | %whereis.nick = $1 }

on 1:dns: { %whereis.ipaddr = $raddress 
  if (%whereis.ipaddr == $null) { %whereis.ipaddr = $address }
  sockopen ipaddr www.ip-adress.com 80
}

alias whereis.dehtml { 
  var %x, %rien

  %rien = $regsub(R,$1-,/<[^>]+>/g,,%x)
; On strippe toutes les balises html <...> pour ne conserver que le texte
  %rien = $regsub(R,%x,/^\s+/,,%x)
; On vire les espacements et les tabulations avant le texte...
  %rien = $regsub(R,%x,/\s+$/,,%x) 
; ... et après le texte
  return %x
}
on *:sockopen:ipaddr:{ 
  sockwrite -n ipaddr GET http://www.ip-adress.com/ip_tracer/ $+ %whereis.ipaddr 
}

on *:sockread:ipaddr:{
  if ($sockerr > 0) return
  %whereis.booleen = $false
  echo 12 -a -

  :nextread
  sockread %temp
  if ($sockbr == 0) { echo 12 -a - | return }

  if ($regex(R,%temp,/IP address country:/) > 0) { sockread %temp | sockread %temp
    %whereis.pays = $whereis.dehtml(%temp)
    echo 12 -a Pays de %whereis.nick : %whereis.pays
  }
  if ($regex(R,%temp,/IP address state:/) > 0) { sockread %temp | sockread %temp
    %whereis.region = $whereis.dehtml(%temp)
    echo 12 -a Région de %whereis.nick : %whereis.region
  }
  if ($regex(R,%temp,/IP address city:/) > 0) { sockread %temp | sockread %temp
    %whereis.ville = $whereis.dehtml(%temp)
    echo 12 -a Ville de %whereis.nick : %whereis.ville
    %whereis.booleen = $true
; Le coup du booléen, c'est pour vérifier qu'on est passé par là (voir les 4 lignes suivantes)
  }
  if (%whereis.booleen && $regex(R,%temp,/ISP/) > 0) { sockread %temp | sockread %temp
; si on n'utilisait pas ce booléen, la ligne triggerait plusieurs fois sur le mot ISP
    %whereis.isp = $whereis.dehtml(%temp)
    echo 12 -a FAI de %whereis.nick : %whereis.isp
  }
  goto nextread
}

Retour à la liste des snippets

Si vous le souhaitez, vous pouvez laisser votre commentaire sur ce snippet:  
Vous identifier d'abord
 

Cette annonce est-elle crédible? Cliquez ici pour le savoir