Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Запросы скриптов для PtokaX _ Нужен скрипт блокировки скачивания

Автор: devilyn 7.8.2010, 18:42

Нужен скрипт блокировки скачивания всем кроме диапазонов IP которым разрешено качать, а для остальных только чат.

Автор: Ksan 7.8.2010, 19:25

Ищи NetworkSeparation на форуме.

Автор: devilyn 7.8.2010, 20:12

а нет чего то попроще, а то не разберусь

Автор: prapor 12.8.2010, 18:47

вот, держи

Раскрывающийся текст
Код
tAllowedRanges = { -- диапазоны IP, которым разрешен поиск и скачка
    ["10.0.0.0"]= "10.255.255.255",
    ["192.168.0.0"]= "192.168.255.255",
}

tTemp = {}

function OnStartup()
    for a,b in pairs(tAllowedRanges) do
        tTemp[(computeIP(a))] = computeIP(b)
   end    
end

function ConnectToMeArrival(user)
    Core.GetUserData(user,16)
    if not checkIP(user.sIP) then
         return true
      end
   end

RevConnectToMeArrival,SearchArrival = ConnectToMeArrival,ConnectToMeArrival

function checkIP(sIP)
    local iIP = computeIP(sIP)
    if iIP then
    for startRange,endRange in pairs(tTemp) do
    if (iIP >= startRange)and (iIP <= endRange) then
            return true
         end
      end
   end
end

function computeIP(sIP)
    local _,_,a,b,c,d = string.find(sIP, "(%d+).(%d+).(%d+).(%d+)")
    return a*16777216 + b*65536 + c*256 + d
end

Автор: devilyn 15.8.2010, 18:57

Цитата(prapor @ 12.8.2010, 21:47) *
вот, держи

Раскрывающийся текст
Код
tAllowedRanges = { -- диапазоны IP, которым разрешен поиск и скачка
    ["10.0.0.0"]= "10.255.255.255",
    ["192.168.0.0"]= "192.168.255.255",
}

tTemp = {}

function OnStartup()
    for a,b in pairs(tAllowedRanges) do
        tTemp[(computeIP(a))] = computeIP(b)
   end    
end

function ConnectToMeArrival(user)
    Core.GetUserData(user,16)
    if not checkIP(user.sIP) then
         return true
      end
   end

RevConnectToMeArrival,SearchArrival = ConnectToMeArrival,ConnectToMeArrival

function checkIP(sIP)
    local iIP = computeIP(sIP)
    if iIP then
    for startRange,endRange in pairs(tTemp) do
    if (iIP >= startRange)and (iIP <= endRange) then
            return true
         end
      end
   end
end

function computeIP(sIP)
    local _,_,a,b,c,d = string.find(sIP, "(%d+).(%d+).(%d+).(%d+)")
    return a*16777216 + b*65536 + c*256 + d
end

спасибо за скрипт
я извиняюсь за назойливость а можно как то ещё и список файлов запретить качать тем кто не в списке

Автор: Ksan 15.8.2010, 20:52

Запрети им дышать, они тогда не смогут и файллисты качать..
Намёк понятен?