Help with NightLitch's BadFile Script
 

News:

29 December 2022 - PtokaX 0.5.3.0 (20th anniversary edition) released...
11 April 2017 - PtokaX 0.5.2.2 released...
8 April 2015 Anti child and anti pedo pr0n scripts are not allowed anymore on this board!
28 September 2015 - PtokaX 0.5.2.1 for Windows 10 IoT released...
3 September 2015 - PtokaX 0.5.2.1 released...
16 August 2015 - PtokaX 0.5.2.0 released...
1 August 2015 - Crowdfunding for ADC protocol support in PtokaX ended. Clearly nobody want ADC support...
30 June 2015 - PtokaX 0.5.1.0 released...
30 April 2015 Crowdfunding for ADC protocol support in PtokaX
26 April 2015 New support hub!
20 February 2015 - PtokaX 0.5.0.3 released...
13 April 2014 - PtokaX 0.5.0.2 released...
23 March 2014 - PtokaX testing version 0.5.0.1 build 454 is available.
04 March 2014 - PtokaX.org sites were temporary down because of DDOS attacks and issues with hosting service provider.

Main Menu

Help with NightLitch's BadFile Script

Started by Jerry, 27 May, 2005, 10:13:30

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Jerry

Hi guys

I use Advanced BadFile Active Search By: NightLitch and I want that the bad files will be into file: e.g. Badfiles.dat and the script load badfiles from this file.

And I want that you can add badfiles with the command: e.g. +badfiles hello.exe, into the file Badfiles.dat and the script kick users with this file too

It is possible?

Thank you for help!!

Here is the script:
---------------------------------------------------------------------------------------------------
-- Advanced BadFile Active Search // Stripped from Thor 6
-- By: NightLitch 2005-03-04
---------------------------------------------------------------------------------------------------
tBadFiles = {

   {"explorer.scf" , "NO sharing of installed / packed programs or games"},
   {".temp.mp3" , "NO sharing of incomplete downloads"},
   {"_INCOMPLETE_" , "NO sharing of incomplete downloads"},
   {"download123456789.dat" , "NO sharing of incomplete downloads"},
   {"part.met" , "NO sharing of incomplete downloads"},
   {".getright" , "NO sharing of incomplete downloads"},
   {"autorun.inf" , "NO sharing of installed / packed programs or games"},
   {"DCPlusPlus.exe" , "NO sharing of installed / packed programs or games"},
   {"valve.avi" , "NO sharing of installed / packed programs or games"},
   {"virscan .dat" , "NO sharing of installed / packed programs or games"},
   {"Netlimiter" , "NO sharing of installed / packed programs or games"},

}
---------------------------------------------------------------------------------------------------
--// Don't Edit below this point if you don't now what you are doing
---------------------------------------------------------------------------------------------------

tTimer = {}

function Main()
   RegTimer(SearchForBadFiles, 20 * 1000, "ActiveBadFileSearch")  -- Active Search Each 20 Sec
   SetTimer(1000)
   StartTimer()
end

function OnTimer()
   for i=1,table.getn(tTimer) do
      tTimer[3] = tTimer[3] + 1
      if tTimer[3] > tTimer[2] then
         tTimer[3]=1
         tTimer[1]()
      end
   end
end

function SRArrival(sUser,sData)
   local _,_,From,Path,FileSize,FreeSlots,TotalSlots,Who = string.find(sData, "^%$SR%s+(%S+)%s+(.*)(%d+)%s+(%d+)%/(%d+).*(%S+)%|$")
   if tCall["BadFileSearch"] then pcall(tCall["BadFileSearch"],sUser,Path,Who,FileSize) end
end

tCall = {}
tCall["BadFileSearch"] = function(sUser,Path,Who,FileSize)
   if sUser.bOperator then return 0 end
   if Who == "SlotFetch" then
      local FileFound, FileReason = BadFiles(Path)
      if FileFound then
         sUser:SendData(frmHub:GetHubBotName(), "*** You have been kicked for "..FileReason..". "..Path.." "..Units(FileSize))
         SendToOps(frmHub:GetHubBotName(), "*** User "..sUser.sName.." has been kicked for "..FileReason..". "..Path.." "..Units(FileSize))
         sUser:TempBan()
      end
   end
end

RegTimer = function(Function,Interval,str)
   local tmpTrig = Interval / 1000
   table.insert(tTimer,{Function,tmpTrig,1,str})
end

Units = function(intSize)
   if tonumber(intSize) ~= 0 then
      local tUnits = { "Bytes", "KB", "MB", "GB", "TB" }
      intSize = tonumber(intSize);
      local sUnits;
      for index = 1, table.getn(tUnits) do
         if(intSize < 1024) then
            sUnits = tUnits[index];
            break;
         else
            intSize = intSize / 1024;
         end
      end
      return string.format("%0.1f %s",intSize, sUnits);
   else
      return "0 Bytes"
   end
end

BadFiles = function(PathStr)
   for i = 1, table.getn(tBadFiles) do
      if string.find(PathStr, tBadFiles[1]) then
         return 1,tBadFiles[2]
      end
   end
   return nil, "Other Files"
end

SearchForBadFiles = function()
   if t == nil then
      t =1
      if tBadFiles[t] then
         SendToAll("$Search "..frmHub:GetHubIp()..":"..frmHub:GetHubUdpPort().." F?F?0?1?"..tBadFiles[t][1])
      end
   elseif t > table.getn(tBadFiles) then
      t = nil
   else
      t = t+1
      if tBadFiles[t] then
         SendToAll("$Search "..frmHub:GetHubIp()..":"..frmHub:GetHubUdpPort().." F?F?0?1?"..tBadFiles[t][1])
      else
         t = 0
      end
   end
end
[/code]

Thank you in advance for any help!!

     Jerry

bastya_elvtars

No offences, but are you sure you want to use this for bad file search? I would recommend DCDM++ w/ ADLSearch.
Everything could have been anything else and it would have just as much meaning.

6Marilyn6Manson6

QuoteOriginally posted by bastya_elvtars
No offences, but are you sure you want to use this for bad file search? I would recommend DCDM++ w/ ADLSearch.

I would recommend iDC++ w/ ADLSearch. :D

Jerry

Hi,

Ok I test it -> THX

SMF spam blocked by CleanTalk