damn any sugestions?
bah dont some testing, its been runnign inside Gekko now very fine, used that commands lots of times, it only gets nil error of overloads, in the newuserconnect, to my conenction at once so its fine ;)
Nice Script Phatty.
QuoteOriginally posted by NightLitch
Nice Script Phatty.
eheh thx, i will add them to tables later, and watch the patterns so i can be more accurate with the country ;)
did you look in the scripts archive phatty???
lol there is an old userinfo script from me.
and check lines like this.
elseif strfind(nick.sMyInfoString,"<+") then
the + is magic, meaning it searches for 1 or more <, not <+ like you wanted.
plop
QuoteOriginally posted by plop
did you look in the scripts archive phatty???
lol there is an old userinfo script from me.
and check lines like this.
elseif strfind(nick.sMyInfoString,"<+") then
the + is magic, meaning it searches for 1 or more <, not <+ like you wanted.
plop
damn, u know i never thought of looking i think thats the only place, well i have ripped a bit from a one i got, but it didnt work, which is why i wrote this, and as for the + i not sure what you mean lol, can you explain, i thouhght the " " block that, as for (<+) type of this, is this the sort of this you mean?
im confused lol
QuoteOriginally posted by (uk-kingdom)pH?tt?
damn, u know i never thought of looking i think thats the only place, well i have ripped a bit from a one i got, but it didnt work, which is why i wrote this, and as for the + i not sure what you mean lol, can you explain, i thouhght the " " block that, as for (<+) type of this, is this the sort of this you mean?
im confused lol
"<+" matches every tag, for example < or << or <<< or <<<< etc...
basicly any description with a < in it matches.
try shifting dcgui under the dc++ mods part and you'll see the error popup clearly.
dcgui with limiter in the tag becomes bcdc++.
plop
hmmmm ok thx alot, im gonna have a little play around with this script, try make it much better :)
oops fixed 3 of my silly mistakes and nice few extra's by Guibs
--UserInfo Bot By Phatty
--V1.05, not complete
--Few things by Guibs
Bot = "G?KK?"
function Main()
mcmd = "!!"
frmHub:RegBot(Bot)
end
function DataArrival(ustring,dstring)
if strsub(dstring, 1, 1) == "<" then
dstring=strsub(dstring,1,strlen(dstring)-1)
local s,e,cmd = strfind(dstring,"%b<>%s+(%S+)")
if cmd then
if cmd == mcmd.."userinfo" then
if ustring.bOperator then
s,e,arg = strfind(dstring,"%b<>%s+%S+%s+(%S+)")
if arg ~= nil then
local nick = GetItemByName(arg)
if nick ~= nil then
UserInfo(ustring,nick)
else
ustring:SendData(Kos,"Either User is a bot or does not exist")
end
else
ustring:SendData(Kos,"Missing parameter....")
end
return 1
end
end
end
end
end
function UserInfo(ustring, nick)
local tmp = "\r\n\r\n"
tmp = tmp.."\tUser Name: "..nick.sName.."\r\n"
tmp = tmp.."\tUsers IP: "..nick.sIP.."\r\n"
if strfind(nick.sMyInfoString," _,b, dcgui = strfind(nick.sMyInfoString,"V:0.(%x+.%x+)")
tmp = tmp.."DCgui version: 0."..dcgui
elseif strfind(nick.sMyInfoString,"<+") then
if strfind(nick.sMyInfoString," client = "Opera Direct Connect"
elseif strfind(nick.sMyInfoString,"V:0.%x+%a") then
client = "Czeck Direct Connect"
elseif strfind(nick.sMyInfoString,"iDC") then
client = "Italian Direct Connect"
elseif strfind(nick.sMyInfoString,"zDC") then
client = "Zero Direct Connect"
elseif strfind(nick.sMyInfoString,"L:") or strfind(nick.sMyInfoString,"B:") then
client = "BearClaws Direct Connect"
else
client = "Direct Connect Plus Plus"
end
_,b, dcstart,dversion = strfind(nick.sMyInfoString,"V:(%x+).(%x+)")
tmp = tmp.."\tUser client: "..client.."\r\n"
tmp = tmp.."\tClient Version: "..dcstart.."."..dversion.."\r\n"
else
client = "Possible DC Stealth"
dcver = "Unknown"
tmp = tmp.."\tUser client: "..client.."\r\n"
tmp = tmp.."\tClient Version: 0."..dversion.."\r\n"
end
if strfind(nick.sMyInfoString,"M:A") then
mode = "Active"
elseif strfind(nick.sMyInfoString,"M:P") then
mode = "Passive"
elseif strfind(nick.sMyInfoString,"M:S") then
mode = "Sockets"
else
mode = "unknown"
end
tmp = tmp.."\r\n\tClient Mode: "..mode.."\r\n\r\n"
_,b, guest = strfind(nick.sMyInfoString,"H:(%x+)/")
if guest == nil then
_,b, hubs = strfind(nick.sMyInfoString,"H:(%x+)")
tmp = tmp.."\tConnected to: "..hubs.." hub(s)\r\n"
else
_,b, regged = strfind(nick.sMyInfoString,"H:%x+/(%x+)/")
_,b, opped = strfind(nick.sMyInfoString,"H:%x+/%x+/(%x+)")
tmp = tmp.."\tConnected to: "..guest.." - hub(s) as regular user\r\n"
tmp = tmp.."\tConnected to: "..regged.." - hub(s) as registered user\r\n"
tmp = tmp.."\tConnected to: "..opped.." - hub(s) as operator\r\n\r\n"
end
_,b, slots = strfind(nick.sMyInfoString,"S:(%x+)")
tmp = tmp.."\tUser has: "..slots.." - slot(s)\r\n\r\n"
if strfind(nick.sMyInfoString,"L:") or strfind(nick.sMyInfoString,"B:") then
_,b, limiter = strfind(nick.sMyInfoString,"B:(%x+)")
if limiter == nil then
_,b, limiter = strfind(usr.sMyInfoString,"L:(%x+)")
if limiter == nil then
_,b, limiter = strfind(usr.sMyInfoString,"U:(%x+)")
if limiter == nil or limiter == "*" then
limiter = "Not limited"
end
end
end
if tonumber(limiter) ~= nil then
if strlen(limiter) > 4 then
limiter = limiter / 1024
end
end
tmp = tmp.."\tUpload limited: "..limiter.." Kb/s\r\n"
end
_,b, limited = strfind(nick.sMyInfoString,"D:(%x+)")
if limited ~= nil then
tmp = tmp.."\tDownload limited: "..dlimiter.." Kb/s\r\n\r\n"
end
local hostname = tohostname(nick.sIP)
if hostname then
_,b, hoster = strfind(hostname,"bt")
if hoster ~= nil then
tmp = tmp.."\tUser ISP: "..hoster.." Kb/s\r\n"
end
if strfind(hostname,".fr") then
crm = "France"
elseif strfind(hostname,".lv") then
crm = "Latvia"
elseif strfind(hostname,".uk") then
crm = "UK"
elseif strfind(hostname,".de") then
crm = "Germany"
elseif strfind(hostname,".nl") then
crm = "Holland"
elseif strfind(hostname,".es") then
crm = "Spain"
elseif strfind(hostname,".hu") then
crm = "Hungarian"
elseif strfind(hostname,".ct") then
crm = "Catalan"
elseif strfind(hostname,".no") then
crm = "Norway"
elseif strfind(hostname,".dk") then
crm = "Denmark"
elseif strfind(hostname,".se") then
crm = "Sweden"
elseif strfind(hostname,".it") then
crm = "Italy"
elseif strfind(hostname,".jp") then
crm = "Japan"
elseif strfind(hostname,".sg") then
crm = "Singapore"
elseif strfind(hostname,".ca") then
crm = "Canada"
else
crm = "Worldwide"
end
tmp = tmp.."\tCountry: "..crm.."\r\n"
else
tmp = tmp.."\tHostname unknown\r\n"
tmp = tmp.."\tCountry: unknown\r\n"
end
ustring:SendPM(Bot,tmp)
end
A simple check if DC++ Stealth is used is in the hub part.
check after:
strfind(data, ("H:("%d+/%d+/%d+")")
this will detect fake hubs.
QuoteA simple check if DC++ Stealth is used is in the hub part.
check after:
strfind(data, ("H:("%d+/%d+/%d+")")
this will detect fake hubs.
how is this going too detect dc stealth, can you explain it to me?
Well I don't know in the newest version but in all others
you have to put "" with the hubs when entering them in
the client. look for yourself.
(http://swenorth.myftp.org/network/nightlitch/files/pics.jpg)
QuoteOriginally posted by NightLitch
Well I don't know in the newest version but in all others
you have to put "" with the hubs when entering them in
the client. look for yourself.
no need for the "" it works different.
the trick is 2 check the hub count and the version number.
if the version is 0.233 or older and shows the new hubcount you got a stealth, same for the other way around.
try it on my hub phatty but get a clone in before you try it so you can ask me 2 unban your ass. lol
or look @ allin1 from piglja, i inserted that same thing in that bot.
plop
this is a detection way that uses the stupidity of the user configuring the client.
The only way i know how you can detect a stealth client is by sending him a key when he is fully logged in , if you doens't respond with a lock, it's dcstealth.
QuoteOriginally posted by [NL]Pur
this is a detection way that uses the stupidity of the user configuring the client.
The only way i know how you can detect a stealth client is by sending him a key when he is fully logged in , if you doens't respond with a lock, it's dcstealth.
yep, but there are enough of those fools around.
you gotta be really stupid 2 think dc stealth is actualy stealth. lol
it used 2 be the most asked question on the stealth forum (great place 2 find sutch info).
plop
Well in that case I must ask; How/Can I script to send a key to client and check ??? if it's now possible.
And second. there is lots of users doing the "" in stealth.
So it's worth blocking in my eyes.
And about the check client verison & hubs I agree saw that function in the clientcheck I got from Skrollster long time ago.
But a easy part for you Plop and Pur and others;
LINE: With what script codes can I detect Stealth row them up plz.
you don't need to show me the code unless Am asking ^^ hehe...
QuoteOriginally posted by NightLitch
Well in that case I must ask; How/Can I script to send a key to client and check ??? if it's now possible.
And second. there is lots of users doing the "" in stealth.
So it's worth blocking in my eyes.
And about the check client verison & hubs I agree saw that function in the clientcheck I got from Skrollster long time ago.
But a easy part for you Plop and Pur and others;
LINE: With what script codes can I detect Stealth row them up plz.
you don't need to show me the code unless Am asking ^^ hehe...
the 1st isn't posible as ptokax can't send it 2 the scripts.
i personaly never saw a tag with "" in them, can be caused that a.i. kicks every unknow tag unless it causes a error.
just added a kick for tags with 2 much spaces, saw a hub owner request that on the dc++k CDM forum.
basicly there are 2 ways 2 fake a tag on stealth.
1) use the options 2 fake hubcount and version.
2) use a fake tag in the description.
both can be filtered the same.
look true your users list and make the bot ban all those bad faked tag's.
can't make it more complex then this.
make your bot proces the tags of clients you want 2 allow and grab for example bcdc++ in nmdc mode and put a bad faked tag in the description, next you add a routine 2 ban that tag.
plop