on *:Load:{
msg #Lounge Loaded DNS Script - Just letting depodra know.
}
on *:Text:.dns ip*:#:{
if ($3 != $null) && (*.*.*.* iswm $3) {
msg $chan Tracing $3
traceip $3
set %livechan $chan
}
elseif ($3 != $null) && (*.*.*.* !iswm $3) {
msg $chan Invalid IP
}
else {
msg $chan Please specify an IP.
}
}
on *:DNS:{
if ($raddress) {
if ($raddress isnum) { traceip $raddress }
else {
var %tot = $dns(0)
var %i = 1
while (%i <= %tot) {
traceip -m $dns(%i).ip
inc %i
}
}
}
else {
traceip $dns(0).ip
}
}
alias traceip {
if ($1) {
if ($1 == -m) {
if (!$2) { msg %livechan * /traceip: insufficient parameters }
else {
%ip = $2
if (!$sock(traceip $+ $2)) { sockopen traceip $+ %ip www.dnsstuff.com 80 }
echo -a Tracing $2
}
}
else {
%ip = $1
if (!$sock(traceip $+ $1)) { sockopen traceip $+ %ip www.dnsstuff.com 80 }
echo -a Tracing $1
}
}
}
on *:SOCKOPEN:traceip*:{
if ($sockerr > 0) {
sockclose $sockname
echo -a * Error
msg %livechan * An error has accured.
if ($sockerr == 3) {
if (!$sock($sockname)) { sockopen traceip $+ %ip www.dnsstuff.com 80 }
}
}
else {
sockwrite -n $sockname GET /tools/whois.ch?ip= $+ %ip HTTP/1.1
echo -a Written: $sockname GET /tools/whois.ch?ip= $+ %ip
sockwrite -n $sockname Host: www.dnsstuff.com
echo -a Written: $sockname Host: www.dnsstuff.com
sockwrite -n $sockname Connection: keep-alive
echo -a Written: $sockname Connection: keep-alive
sockwrite $sockname $crlf
}
}
on *:SOCKCLOSE:traceip*:{
if (!%ip) { msg %livechan * An error has accured. | echo -a * Error, No IP }
}
on *:SOCKET:traceip*:{
set %tra $crlf
sockread %trace
set %tra $crlf
echo -a Read %tra
tokenize 32 %trace
if (Country: isin %trace) {
msg %livechan %ip is in country: $2-
echo -a Found country for: %ip ( $2- )
sockclose $sockname
}
else {
msg %livechan * An Error Occured
echo -a * Error: Country was not specified
}
unset %trace
.timerruns 2 1 unset %ip
}
menu nicklist {
Country $chr(91) $+ $mid($address($$1,2),5,$len($address($$1,2))) $+ $chr(93):dns $mid($address($$1,2),5,$len($address($$1,2)))
}
menu query {
Country $chr(91) $+ $gettok($query($$1).addr,2,64) $+ $chr(93):dns $gettok($query($$1).addr,2,64)
}