file checker script request!!!!
 

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

file checker script request!!!!

Started by dmn, 08 September, 2004, 23:05:01

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

dmn

hi

I am using PtokaX-0.326.TestDrive4 with Robocop v.8 in my hub.
I am looking for a script that check and detects the users file list (or share) for install applications, windows files and other files like .VOB, and notify the Operators or warn/kick the user.

Can you please help me?

Thanks for you time..
To follow the path:
    look to the master,
    follow the master,
    walk with the master,
    see through the master,
    become the master.

BottledHate

another note on hub side scripts to search for files...
they only work on active users... what mutor said is the
best way to do it.  check into dcdm... here is a thread
that has info on setting up dcdm. here's another  one...
and one more here . :D

hope this helps....

-BH
Homepage: www.bottledhate.webhop.org

Compiling  Lua scripts is LAME!!!!!

Snooze

Hmm... I wonder if DCDM supports the executeCrap() function

dmn

hi

I am familiar with DCDM++.

But I use the folowing script and every time that i restart the scripts, the message (install the .dat files that can be found in the script/profile folders) appears in the main.



-- vim:ts=4:sw=4:noet
-- FileChecker.lua, rewrite of a 'SearchKick' bot for PtokaX by ptaczek and
-- Leon (called The Illegalist)
-- version 1.0 for DCH++
-- by Sedulus 20030910, requested by BSOD2600
-- 20030919: 1.0
--
-- Translated back to PtokaX (OpiumVolage 9 Sept. 2003)
-- Added timer for automating search
--
-- (using more mem (3 tables, instead of one) but less cpu)
--
-- searches for all terms in the SearchFor table,
-- sends a message to the user that he/she shares the file, with the response
-- message.
-- set disconnectUser to 1 if you want the user disconnected as well (not
-- recommended, as bots always seem to find a way to misinterpret data ;) )
--
-- spaces in the SearchFor table will be converted to dollar's, but they will
-- (purposely) only match if there's a space in the result later.
-- so "a b" won't match "b a" or "aXXXb"

--// useful stuff
botName = "FileChecker"
disconnectUser = nil -- disconnect the user, nil = don't
--opchatName = "The_Dude" -- set opchat nick here if you want messages to opchat instead of mainchat, else nil
opchatName = "The_Dude" -- set opchat nick here if you want messages to opchat instead of mainchat, else nil
mb = 1024 * 1024
gb = 1024 * mb
-- Timer value, will send search for 1 of the file on all users at each timer
timerValue = 10*1000 -- Every 10 seconds (higher value will reduce load)
useTimer = 1 -- set to 1 to enable timer functions
counter = 1
--// do not modify this table, lookup the meanings in the $Search section in the protocol documentation
SearchTypes = {
   ANY = 1,
   AUDIO = 2,
   COMPRESSED = 3,
   DOCUMENT = 4,
   EXECUTABLE = 5,
   IMAGE = 6,
   VIDEO = 7,
   FOLDER = 8, -- do not use FOLDER's! the $SR's are formatted differently
}

st = SearchTypes
--// MODIFY THIS TABLE <-------
--      { searchType, words[, minimumSize[, regexMatch]] }
SearchFor = {
   ["Please don't share (pre)teen/incest/sick porn"] = {
      { st.IMAGE, "preteen" },
      { st.VIDEO, "preteen" },
      { st.IMAGE, "incest" },
      { st.VIDEO, "incest" },
      { st.IMAGE, "underage" },
      { st.VIDEO, "underage" },
      { st.IMAGE, "teenage sex" },
      { st.VIDEO, "teenage sex" },
   },
   ["Please don't share ANY installed application nor any UNZIPPED installer!"] = {
      { st.ANY, "explorer.scf" },
      { st.ANY, "explore.ex_" },
      { st.ANY, "cd_clint.dll" },
      { st.EXECUTABLE, "express msimn.exe", 0, "express\\msimn%.exe$" },
      { st.EXECUTABLE, "IEXPLORE.EXE" },
      { st.ANY, "bfdist.vlu" },
      { st.ANY, "War3Inst.log" },
      { st.ANY, "ut2003.log" },
      { st.EXECUTABLE, "NFSHP2.exe" },
      { st.ANY, "avp2.rez" },
      { st.ANY, "ntuser.dat" },
      { st.EXECUTABLE, "winword.exe" },
      { st.ANY, "sav", 0, "%.sav$" },
      { st.ANY, "dll", 0, "%.dll$" },
      { st.ANY, "ex_", 0, "%.ex_$" },
      { st.EXECUTABLE, "setup.exe", 0, "\\setup%.exe$" },
   },
   ["Do not share incomplete downloads!"] = {
      { st.ANY, "antifrag", 0, "antifrag$" },
      { st.ANY, "download dat", 0, "download[0-9]+%.dat$" },
   },
   ["No, we don't allow uncompressed DVD's in here. Please remove all your VOB files"] = {
      { st.ANY, "VTS_01_0.VOB" },
   },
   ["Please do not share large WAV files"] = {
      { st.AUDIO, ".wav", 30*mb, "wav$" },
   },
   ["If you're sharing copies of your files to increase your share size, we are on to you"] = {
      { st.ANY, "copy of", 300*mb, "\\Copy of" },
      { st.ANY, "kopie van", 300*mb, "\\Kopie van" },
   },
--   ["Please do not share unzipped DVD's and/or other large files. Use rar-sets."] = {
--      { st.ANY, ".", 1*gb },
--   },
}

--// convert the tables
SearchTable = {}
ResultTable = {}

function Main()
   frmHub:EnableSearchData(1)
   botLen = strlen( botName )
   local i = 0 -- add the serial botnames in here as well.. so the user doesn't think he is flooded by one person
   for k,v in SearchFor do
      for _,search in v do
         -- add $Search
         local s = "$Search Hub:"..botName..i.." "
         if search[3] then
            s = s.."T?F?"..search[3]
         else
            s = s.."F?F?0"
         end
         s = s.."?"..search[1].."?"..gsub( search[2], " ", "$" ).."|"
         tinsert( SearchTable, s )
         -- add $SR match
         local idx = strlower( search[2] )
         ResultTable[idx] = { msg = k }
         if search[4] then ResultTable[idx].regex = strlower( search[4] ) end
         -- next..
         i = i + 1
      end
   end
   st, SearchTypes, SearchFor = nil, nil, nil

   -- set options
   if opchatName then
      messageFunc = SendPMToOps
   else
      messageFunc = SendToOps
      opchatName = botName
   end
   if useTimer then SetTimer(timerValue) StartTimer() end
end

-- on new user
function NewUserConnected( client )
   foreachi(SearchTable, function(_, v) %client:SendData( v ) end)
end

-- on $SR
function DataArrival( client, line )
   local match = nil
   if strsub( line, 1, 4 ) == "$SR " then
      -- test if it was a result to us only
      local ret,c,to = strfind( line, "\005([^\005|]*)|$" )
      if ret and strsub( to, 1, botLen ) == botName then
         local ret,c,file,size = strfind( line, "^%$SR [^ ]+ ([^\005]*)\005([0-9]+) " )
         if ret then
            file = strlower( file )
            for k,v in ResultTable do
               if ( v.regex and strfind( file, v.regex ) ) or ( not v.regex and strfind( file, k, 1, 1 ) ) then
                  match = 1
--                  warn( client, file.." ("..dchpp.formatBytes( size ).." ("..size.."))", v.msg )
                  warn( client, file.." ("..size..")", v.msg )
               end
            end
         end
      end
   end
   -- disconnect user
   if match and disconnectUser and not client.bOperator then
      client:SendData( "<"..botName.."> You are being kicked" )
      client:Disconnect()
      return 1
   end
end

function warn( client, file, response )
   -- send message to user
   client:SendPM( "<"..botName.."> You are sharing the following file: "..file..": "..response )
   if client.bOperator then return end
   message = client.sName.." shares: "..file
   -- send message to all Operators
   messageFunc( opchatName, message )
end

function OnTimer()
   if SearchTable.n < 1 then return end
   SendToAll(SearchTable[counter])
   counter = counter + 1
   if counter > SearchTable.n then counter =1 end
end



Can you help me with this?

Thanks for your time
To follow the path:
    look to the master,
    follow the master,
    walk with the master,
    see through the master,
    become the master.

Herodes

The message you see is from Robocop ..

It is better to head to that thread since there you'll find the solution to this posted more than once ... twice ... maybe millions of times ... :)

dmn

so what can i do to fix this problem?
can you be more specific please?

Thanks for your time
To follow the path:
    look to the master,
    follow the master,
    walk with the master,
    see through the master,
    become the master.

SMF spam blocked by CleanTalk