IP / Nick tracker

By Cheiron on Dec 17, 2007

ever get annoyed by those flybys and stuff or lose track of who uses what name/nick.. check this out for a ip/nick tracker.

goes into a new remote page on the mIRC.

when people join it makes a note of their /whois info along with any other nicks that it has seen them use and displays in a seperate window.

please note that the database increases as time goes on and people change nicks etc so dont be surprised if at first it dont show much and then after a couple weeks you get a "OMG how many nicks" return

thoughts people please?

alias tracker.txt {
  return tracker.txt
}

on !1:JOIN:#: { window -De @joins
  var %mask = $mask($fulladdress,2)
  var %nfname = $mask($fulladdress,0)

  ; get the previous nicks
  var %nicks = $readini(tracker.txt, %mask, nicks)

  ; get the pervious full names
  var %fname = $readini(tracker.txt, %mask, fullname)

  ; add the new nick ($addtok will take care of duplicates)
  var %nicks = $addtok(%nicks,$nick,32)

  ; add the new fname ($addtok will take care of duplicates)
  var %fname = $addtok(%fname,$ial(%mask).user,32)

  ; update the nicks
  writeini -n tracker.txt %mask nicks %nicks

  ; update the seen time
  writeini -n tracker.txt %mask seentime $date

  ; update the fullname
  writeini -n tracker.txt %mask fullname %fname

  echo -t @joins Begin $nick ------------------------------------------
  echo -t @joins ip %mask
  echo -t @joins altnicks:  $readini(tracker.txt, %mask, nicks)
  echo -t @joins full names:  $readini(tracker.txt, %mask, fullname) 
  echo -t @joins last seen on  $readini(tracker.txt, %mask, seentime) 
  echo -t @joins Spotted In: $chan    
  echo -t @joins End $nick ------------------------------------------
}

alias ntrack {
  var %mask = $address($1,2)
  var %nfname = $address($1,0)
  ; get the previous nicks
  var %nicks = $readini(tracker.txt, %mask, nicks)
  ; get the pervious full names
  var %fname = $readini(tracker.txt, %mask, fullname)
  ; add the new nick ($addtok will take care of duplicates)
  var %nicks = $addtok(%nicks,$nick,32)
  ; add the new fname ($addtok will take care of duplicates)
  var %fname = $addtok(%fname,$ial(%mask).user,32)
  echo -a 12 $1 on the ip %mask has used the nicks:  $readini(tracker.txt, %mask, nicks) and the full names:  $readini(tracker.txt, %mask, fullname)  and was last seen on  $readini(tracker.txt, %mask, seentime) 
}
menu nicklist {
  NickTrack:ntrack $$1
}

alias tracker.txt {
  return tracker.txt
}

on !1:nick: { window -De @joins
  var %mask = $mask($fulladdress,2)
  var %nfname = $mask($fulladdress,0)

  ; get the previous nicks
  var %nicks = $readini(tracker.txt, %mask, nicks)

  ; get the pervious full names
  var %fname = $readini(tracker.txt, %mask, fullname)

  ; add the new nick ($addtok will take care of duplicates)
  var %nicks = $addtok(%nicks,$newnick,32)

  ; add the new fname ($addtok will take care of duplicates)
  var %fname = $addtok(%fname,$ial(%mask).user,32)

  ; update the nicks
  writeini -n tracker.txt %mask nicks %nicks

  ; update the seen time
  writeini -n tracker.txt %mask seentime $date

  ; update the fullname
  writeini -n tracker.txt %mask fullname %fname

  echo -t @joins Begin $nick ------------------------------------------
  echo -t @joins ip %mask
  echo -t @joins altnicks:  $readini(tracker.txt, %mask, nicks)
  echo -t @joins full names:  $readini(tracker.txt, %mask, fullname) 
  echo -t @joins last seen on  $readini(tracker.txt, %mask, seentime) 
  echo -t @joins End $nick ------------------------------------------
}

Comments

Sign in to comment.
oldfix   -  Apr 20, 2019

Hello,
this script prevents wrong nick tracking detection? Because I used several scripts and addon and when i am connected in several channels at the same time, i got wrong nick detection. Does your script work in order to prevent this?

Cheiron  -  Apr 20, 2019

You will never be able to prevent a false option sadly as nearly everyone has a dynamic ip and with vpn's and stuff about...
These trackers are merely to give an educated "guess" at best..... and should never be taken as gospel

oldfix  -  Apr 26, 2019

Hello, thank you for your answer. I have a question: what kind of verification do the bots use to use in order to prevent wrong detection? When I enter the cmd !seen nickname, the channel bot does not give wrong nick detection even if the channel is visited from a bunch of users who might have a dynamic IP. I know that there are 3 types of verification $address(nick, 1) $address(nick, 2) $address(nick, 3) . I have 3 different which use three kind of verification method ( obviously I use it one at time and not together ) This was just my question. Sorry for my bad english, I am not an english speaker native

Cheiron  -  May 05, 2019

This script merely logs against the connection any nicks used during the session adds to it.. it is possible to trip it up if multiple users use same nick or if the user's ip changes.

Sign in to comment

WDragon   -  Apr 17, 2014

great script, was wondering if this could be incorporated into a custom whois? so it would show all the rooms the person was in and their idle times as well as the tracking data

 Respond  
werewolf @ frostwire chat   -  Dec 24, 2010

is there a way to delete nicks from a certain IP?

 Respond  
The_One_And_Only   -  Sep 26, 2010

i would like to track te realnames also, what code should i use for this?

 Respond  
kenJi   -  Sep 05, 2010

uhh cheiron have u already update your script?. until now when the user is offline i can't /ntrack his nick, but his IP and Nick is save in tracker.txt file..

 Respond  
kenJi   -  Aug 12, 2010

okei cheiron.. thnx :)

 Respond  
Cheiron   -  Aug 12, 2010

i will have a look when i get home kenJi unless someone fancies doing a debug whilst i am away and posting it

 Respond  
kenJi   -  Aug 11, 2010

--- opsss... when the nick is not online and when u want to track that nick like e.g -> /ntrack shena <- (not online) said that. ( "shena on the ip has used the nicks: and the full names: and was last seen on" ) ,that only what my nick say.. i thought this will automatic get the nick in tracker.txt when once save in tracker.txt file.. but no, the nick that u want to get he's IP or etc. when the nick was not online you can't get his IP... fix sir. :)

 Respond  
Cheiron   -  Oct 13, 2009

no. on your mirc folder .. open scripts editor ( alt r ) and click remotes tab. if that window is blank then it goes there.. if it has a script there already, then you will need to open a new remote window. on the scripts editor box there is a toolbar like what there is on the mirc. click "file - new" on the scripts editor toolbar to make a new remote window.

MAKE sure you are on the remote tab when you do this or you will end up losing all your popups or aliases etc if you have clicked them by mistake.

 Respond  
burtdog   -  Oct 13, 2009

where do i put this in the mirc folder??

 Respond  
Cheiron   -  Sep 30, 2009

hi Roue .. the part that shows what is displayed ip wise is this ..

on !1:JOIN:#: { window -De @joins
var %mask = $mask($fulladdress,2)
var %nfname = $mask($fulladdress,0)

what you would need to do is edit all where the $fulladdress,2 are and $fulladdress($1,2) bits only .. NOT the $fulladdress,0 ones. the 2 returns "what" is shown on the ip.
have a play using 1 , 2 and 3 till you find which you want .. eg $fulladdress,3

 Respond  
Roue   -  Sep 27, 2009

Hello,

How can log iden@ip and not only @ip?

 Respond  
AlienDK   -  May 03, 2009

Ok :)

 Respond  
Cheiron   -  Apr 30, 2009

easier to search and i can transfer the lists between my chat client and my bot on the other pc to update each one as i have to update / shutdown a pc. :D

 Respond  
AlienDK   -  Apr 30, 2009

But why did you use a txt instead of an ini?

 Respond  
Cheiron   -  Apr 30, 2009

ty AlienDK :)

 Respond  
AlienDK   -  Apr 30, 2009

WTF is up with the $readini with .txt? :P Just asking. Nice script tho, used it for a long time. But I had to format and reinstall XP and forgot to take backup of my tracker.txt :(.

 Respond  
Cheiron   -  Sep 13, 2008

makes it easier. my tracker log is currently over 2meg in size. ergo the .txt file being used :)

 Respond  
DiGiTaL   -  Sep 13, 2008

Using a .txt file for an .ini configuration system, very smart.

 Respond  
Cheiron   -  Sep 12, 2008

as for the date issue KellyAnn i am not too sure how to rectify that bit yet heh

 Respond  
Cheiron   -  Sep 12, 2008

going back to the alias bit.. you have the option to manually check what the user has been seen as.. the command is /ntrack

 Respond  
KellyAnn   -  Aug 01, 2008

I downloaded this .. Its the only one so far i tried that worked .. One problem .. It shows everyone as last seen on 1/8/2008 .. Its not that inportant cause it does what i want .. Just thought i would let ya know :o)

 Respond  
Cheiron   -  Feb 18, 2008

many thanks penelope for the comments there. glad you enjoyed the snippet.. i have a good few more also you like like to check out :)

 Respond  
penelope   -  Feb 16, 2008

I think this is a fabulous script! I like that it writes to a .txt file instead of an .ini. Last script of this kind I had did write to .ini and it would max out ever other day. Does the text file max out at some point?

Something that would be useful, if you\'re ever updating, would be a line to count the nicks the person has, ie, \"Number of ids: 4\"

Thanks for writing a great script.

 Respond  
Cheiron   -  Dec 18, 2007

yeah unfortunately not all the ip\'s get resolved by the server/client. nought can be done there about that with the @123.456.789.IP style returns. as for the same nick thing there EL.. everytime someone joins, it returns the info it has on them if it has only seen them with a set nick and no others, then it will return that. but it stores all the info on a notepad document. the reason i have done that is i share the seen info with my ops team for their scripts as they do not stay on 24/7. hence the notepad. all they do is swap my notepad copy for theirs to bring it up to date for if i am afk or something, then they can see who is who with regards any in channel notes we have on a nick (ban evasion, trouble maker, troll, etc) hope that explains a bit for you both.

many thanks for the scoring and hope you enjoy using the script. please check out my other scripts also. i dont do run of the mill ones usuall

 Respond  
EL   -  Dec 17, 2007

Works well I like it alot actually and i dont have a !seen system so this is nice for me.Not sure about it gathering data on every join, figure it would be unnecessary if the nickname an address are the same as before,clearly not all people register nicks so 2 people one uses it an logs off then another person uses the same nick an joins then it sends the data to the @window.Another issue i had with is this: ip !@XXXXX.dsl.bell.ca
altnicks: Sunny Vid-Cleaning Vid
full names: Shadow java
last seen on 17/12/2007
Spotted In: #mIRC
End Sunny ------------------------------------------
See the hosts are the same with the nickname Sunny and Vid-Sleeping they are both in Canada.So for both nicknames you get data from one another cause of the host.Also useing a different mask would i think help with my previous issue with the multiple data from the same nick/host.Useing nick/indent/host may be the cure.I personally will change the address to the full isp.is nice some tweakage an its ace.Good job and 7/10.`-.-

 Respond  
Rebellious   -  Dec 17, 2007

I\'m curious to know why you are using writeini -n tracker.txt. Also, you can just directly add the nicks to the database using writeini -n tracker.ini %mask fullname $+($readini(tracker.ini,%mask,fullname),etc) for example. Otherwise, the idea is good but it could use a bit of recode

 Respond  
Cheiron   -  Dec 17, 2007

joys of writing with insomnia when you should be sleeping. heh. mistakes happen. still.. it works fine and you only get one post per join,... not 2. and that is all that matters for the moment till i get better aquainted with more complex scripting. can i have some scores people please. at least show me some credit for me efforts

 Respond  
tzar469   -  Dec 17, 2007
alias tracker.txt {
  return tracker.txt
}

You have this twice in your code. That part is useless.

akariE  -  Aug 04, 2016

AKA Nick TrackerAKA Nick Tracker

Sign in to comment

Noutrious   -  Dec 17, 2007

Well, for the idea - thats nice, really - something i like. Just the code, it can be a lot cleaner and eat lot more resources :) i suggest using hashtables or inis - whatever you want and you dont need new line for every info text for the %mask - you can continue using $gettok and $addtok and resolving using chars like 255 that ain\'t used in any of the parameters.

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.