Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; IP locator v1.0 - entropy dalnet
- ;============================== MENUS
- menu menubar,status,channel,query {
- -
- IP Locator { locate }
- -
- }
- ;============================== DIALOGS
- dialog locate {
- title "IP Locator"
- size -1 -1 134 93
- option dbu notheme
- text "IP Address", 1, 4 4 26 8, right
- edit "", 2, 32 2 62 11
- button "Locate", 3, 96 2 34 11
- text "Status", 4, 4 16 25 8, right
- edit "", 5, 32 14 62 11, read
- text "City", 6, 4 34 25 8, right
- text "State", 7, 4 43 25 8, right
- text "Country", 8, 4 52 25 8, right
- text "ISP", 9, 4 61 25 8, right
- text "", 10, 32 34 98 8
- text "", 11, 32 43 98 8
- text "", 12, 32 52 98 8
- text "", 13, 32 61 98 8
- button "Clipboard", 14, 62 78 34 11
- button "OK", 15, 96 78 34 11, ok
- box "", 16, -4 25 142 4
- box "", 17, -3 70 142 4
- }
- ;============================== ALIASES
- alias _ip {
- if (%locate.running) { notice $nick Processing ... Please try again later. }
- elseif ($1) {
- set %locate.cmd %cmd.output
- sockclose locate
- sockopen locate www.melissadata.com 80
- sockmark locate $1-
- %cmd.output Locating $1
- set %locate.running 1
- }
- else %cmd.output %trigger $+ IP <address>
- }
- alias -l locate {
- if ($1) {
- did -ra locate 5 Opening socket...
- did -r locate 10,11,12,13
- sockclose locate
- sockopen locate www.melissadata.com 80
- sockmark locate $1-
- }
- else {
- dialog $iif($dialog(locate),-x,-m) locate locate
- }
- }
- alias -l striphtml {
- var %txt = $mid($1-,1,800)
- var %p = 1, %b = $replace(%txt,$chr(38),$+($chr(32),$chr(38)),;,$+(;,$chr(32)),>,$+(>,$chr(32)),<,$+($chr(32),<,)), %c
- while ($gettok(%b,%p,32)) {
- %c = $ifmatch
- if (*<* iswm %c || *&*; iswm %c || *</* iswm %c || *solid* iswm %c || *px* iswm %c || *:* iswm %c && $remove(%c,:) !isnum || */* iswm %c || *'* iswm %c || *;* iswm %c || *&* iswm %c || *<*>* iswm %c || *=* iswm %c || *"* iswm %c || *>* iswm %c || $+(*,$chr(40),*) iswm %c || $+(*,$chr(41),*) iswm %c || $+(*,$chr(123),*) iswm %c || $+(*,$chr(125),*) iswm %c) { %b = $remove(%b,%c) | %p = 0 }
- inc %p
- }
- return %b
- }
- alias -l endlocate {
- if (%locate.cmd) {
- if (%ip) {
- %cmd.output City: %city - State: %state - Country: %country - ISP: %isp - Latitude & Longitude: %lat
- }
- else {
- %cmd.output Nothing found.
- }
- }
- else {
- did -ra locate 5 Transaction complete.
- if (%ip) { did -ra locate 10 %city | did -ra locate 11 %state | did -ra locate 12 %country | did -ra locate 13 %isp }
- else { did -r locate 10,11,12,13 | did -ra locate 5 Nothing found. }
- }
- sockclose locate
- unset %isp
- unset %ip
- unset %city
- unset %state
- unset %country
- unset %isp
- unset %locate.cmd
- unset %locate.running
- }
- ;============================== EVENTS
- on *:dialog:locate:sclick:14:{
- var %a = IP: $did(2).text City: $did(10).text State: $did(11).text Country: $did(12).text ISP: $did(13).text
- clipboard %a
- }
- on *:dialog:locate:sclick:3:{
- if (!$did(2).text) { beep | return }
- locate $did(2).text
- }
- on *:sockopen:locate:{
- if (%locate.cmd) {
- if ($sockerr > 0 && $dialog(locate)) {
- %cmd.output Socket Open Error(s).
- return
- }
- }
- else {
- if ($sockerr > 0 && $dialog(locate)) { did -ra locate 5 Socket Open Error(s). | did -r locate 10,11,12,13 | return }
- }
- sockwrite -n $sockname GET $+(/lookups/iplocation.asp?ipaddress=,$sock($sockname).mark) HTTP/1.1
- sockwrite -n $sockname Host: $+(www.melissadata.com,$str($crlf, 2))
- sockwrite -n $sockname Connection: keep-alive
- }
- on *:sockread:locate:{
- if ($sockerr > 0 && $dialog(locate)) {
- if (%locate.cmd) {
- %cmd.output Socket Read Error(s).
- }
- else {
- did -ra locate 5 Socket Read Error(s).
- did -r locate 10,11,12,13
- }
- sockclose locate
- return
- }
- var %q
- sockread %q
- tokenize 32 $striphtml(%q)
- echo -s ip-dump: $1-
- if (!%locate.cmd) did -ra locate 5 Reading data...
- if (* IP Address *.*.*.* iswm $1-) { %ip = $4 }
- if (* City * iswm $1-) { %city = $3- }
- if (* State or Region * iswm $1-) { %state = $5- }
- if (* Country * iswm $1-) { %country = $3- }
- if (* ISP * iswm $1-) { %ISP = $3- }
- if (* Longitude * iswm $1-) { %lat = $3 $(:) $4 }
- .timertrace -o 1 1 endlocate $sock($sockname).mark
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement