myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> Предложения для развития

Теги
Setuper
сообщение 18.1.2010, 19:20
Сообщение #161


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Список пока не реализованных идей и запросов ( todo / future request / change request / improvement ).

ToDo:

  • Сделать возможность запрета перенаправления по возвращаемому значению из функции OnOpForceMove
  • Сделать возможность смены директорий на лету (сейчас могут быть с этим проблемы).
  • Реализовать хранение информации в бд. По умолчанию в SQLite3 с возможностью подключения драйверов других баз данных (в частности, в первую очередь MySQL).
  • Встроенный бан менеджер с перегружаемыми из lua событиями.
  • Сделать параметр настроек "ограничение количества поисковых запросов".
  • Функция статистики и информации о сервере.
  • Реализовать функцию получения пользователей по профилю/профилям.
  • Добавить возможность в функции Core.SendToIP отсылать данные таблице ip адресов, а не только одному ip.
  • Сделать возможность смены настройки sAddresses на лету.
  • Сделать поддержку характеристики QuickList.


    Оптимизация:
  • Кеширование поисковых запросов и отвечающих им результатов поиска
  • Умный кэш (кэш для рассылки всем, кроме...).
  • Сделать хвостовой кэш для массовой рассылки: рассылка по окончанию шага цикла (кэш по умолчанию для массовой рассылки).
  • Сделать отложенный выход для того чтобы не совершать бесполезные массовые рассылки.
  • Сделать событие OnReEnter при условии реализации отложенного выхода.


    На потом:
  • Оптимальная линковка хабов (встроенный в хаб функционал линковки).
  • Авторегистрация хаба в хаблистах (процесс регистрации в отдельном потоке).
  • Доработать анти-спам.
  • Сделать потоки в Lua.


Спасибо сказали:
Go to the top of the page
+Quote Post
13 страниц V  « < 7 8 9 10 11 > »   
Начать новую тему
Ответов
Setuper
сообщение 22.1.2010, 1:23
Сообщение #162


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




1 - зачем задержка? Когда сетевые службы загрузятся тогда и войдёшь на хаб.
2 - выход - запуск хаба как службу.
3 - обновляться модули, библиотеки и хаб могут независимо друг от друга.

Для возможности перезагрузит все скрипты используй скрипт FirstRusHubBot


Спасибо сказали:
Go to the top of the page
+Quote Post
Nickolya
сообщение 23.1.2010, 15:51
Сообщение #163


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Цитата(Setuper @ 6.1.2010, 23:45) *
Однако, для функции Core.SetConfig исключения составляют настройки: sHubIP, iMainPort, sSubPorts.
При изменении настройки sHubName или sTopic отправляется соответствующая команда. После изменения, настройки сохраняются.

Мне кажется значимый пункт для того чтобы добавить в документацию по функциям.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 23.1.2010, 15:56
Сообщение #164


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Спасибо. Добавил big_smile.gif
Go to the top of the page
+Quote Post
Otshelnik-Fm
сообщение 24.1.2010, 15:38
Сообщение #165


Я коварный Санта Клаус
******

Группа: Пользователи
Сообщений: 523
Регистрация: 4.11.2008
Из: Саратов
Пользователь №: 985
Спасибо сказали: 54 раза




Setuper - будет ли возможность линковки чатов 2х хабов? На птоке такое было возможно только при танцах с бубнами...
Go to the top of the page
+Quote Post
Setuper
сообщение 25.1.2010, 1:14
Сообщение #166


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Да, чуть позже напишу отдельный плагин, который будет этим заниматься. Причём линковать собираюсь не только чаты, а полноценно линковать хабы big_smile.gif

Однако, на данный момент есть дела и поважнее. Сейчас передо мной стоит задача сооружения защиты для хаба. В частности это связано с написанием антифлуда и дисконнектом пользователя при каких-либо попытках атаки. На данный момент при неправильно отосланных параметрах nmdc команд, хаб не отключает пользователя, а ждёт правильной команды. Этим могут воспользоваться для атаки хаба путём частых отсылок неправильных параметров в командах. Поэтому как и в птохе, если nmdc команда содержит не правильные параметры, то должно последовать незамедлительное отключение.
Go to the top of the page
+Quote Post
fixx
сообщение 25.1.2010, 15:13
Сообщение #167


МЕДВЕД =)
****

Группа: Пользователи
Сообщений: 187
Регистрация: 6.8.2008
Пользователь №: 332
Спасибо сказали: 4 раза




Максимальное количество символов в нике как задать? А то уже атакуют DCFlood'ом. Там ники с 14-тью произвольными латинскими символами. На птоке в свое время тупо 13 мах выставил и все. big_smile.gif
===========
ЗЫ. Пардон, что не туда написал... Смутила строчка вверху
"MyDC.ru > RusHub > Технические вопросы по RusHub'у", а эту "Предложения для развития" у меня в Гугль хроме еле видно...
Go to the top of the page
+Quote Post
Wariner
сообщение 25.1.2010, 16:12
Сообщение #168


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




думаю ответ будет прост... это легко делается скриптом типа:

Код
local sBot = "Bot"
local iMinLen = 3      -- минимальное количество символов
local iMaxLen = 13   -- максимальное количество символов

function OnValidateNick(UID)
    local tUser = Core.GetUser(UID, 1)
    if string.len(tUser.sNick) < iMinLen then
        Core.SendToUser(UID, ("Ваш ник слишком короткиий! Минимальное количество символов в нике для входа на хаб составляет %d !"):format(iMinLen), sBot)
        Core.Disconnect(UID)
    elseif string.len(tUser.sNick) > iMaxLen then
        Core.SendToUser(UID, ("Ваш ник слишком длинный! Максимальное количество символов в нике для входа на хаб составляет %d !"):format(iMaxLen), sBot)
        Core.Disconnect(UID)
    end
end


Спасибо сказали:
Go to the top of the page
+Quote Post
Nickolya
сообщение 25.1.2010, 16:17
Сообщение #169


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Wariner, юнный падаван, оптимальней наверно будет делать как твой тезка, автор хаба. В его варианте будет вот так:
Код
local sBot = "Bot"
local iMinLen = 3      -- минимальное количество символов
local iMaxLen = 13   -- максимальное количество символов

function OnValidateNick(UID)
    local iNickLen = Core.GetUser(UID, 1).sNick:len()
    if iNickLen < iMinLen then
        Core.SendToUser(UID, ("Ваш ник слишком короткиий! Минимальное количество символов в нике для входа на хаб составляет %d !"):format(iMinLen), sBot)
        Core.Disconnect(UID)
    elseif iNickLen > iMaxLen then
        Core.SendToUser(UID, ("Ваш ник слишком длинный! Максимальное количество символов в нике для входа на хаб составляет %d !"):format(iMaxLen), sBot)
        Core.Disconnect(UID)
    end
end

Если конкретно, то я про конструкцию вида
Код
sNick = Core.GetUser(UID, 1).sNick

Да и ник бота будет вот таким big_smile.gif
Код
sBot = Core.GetConfig("sHubBot")


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 8.2.2010, 15:02
Сообщение #170


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Так как в моей голове на данный момент летают мысли о создании хорошего модуля банов, то у меня сразу же встаёт вопрос о банах по всевозможным параметрам. В частности: бан по ip, бан по нику, бан по MyINFO параметрам, бан по mac-адресу (в случае успешного определения), и бан по DNS.

Реализовав средство определения имена хоста для последнего типа бана (DNS), возникла трудность, связанная с тем, что при определении хоста иногда возникают задержки (около 5 сек), связанные с отправкой запроса по SMB протоколу, с целью определить имя хоста. Поэтому бан по DNS однозначно отпадает, так как в этом случае время входа на хаб увеличивается примерно на 5 сек, что является недопустимым big_smile.gif
Go to the top of the page
+Quote Post
Артём
сообщение 8.2.2010, 15:14
Сообщение #171


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




Цитата(Setuper @ 8.2.2010, 14:02) *
бан по mac-адресу (в случае успешного определения)

shocked.gif как mac узнать сможете?
Go to the top of the page
+Quote Post
Nickolya
сообщение 8.2.2010, 16:45
Сообщение #172


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




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

Артём, мак уже имеется, это 1 из параметров юзера, наглядно сможешь увидеть используя FirstRusHubBot'а (при входе на хаб в приветствии)
Go to the top of the page
+Quote Post
Setuper
сообщение 8.2.2010, 17:33
Сообщение #173


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Как вариант возможно.
Go to the top of the page
+Quote Post
Артём
сообщение 8.2.2010, 18:14
Сообщение #174


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




Цитата(Nickolya @ 8.2.2010, 15:45) *
(при входе на хаб в приветствии)

Цитата
• Ваш mac-адрес: n/a
Go to the top of the page
+Quote Post
Setuper
сообщение 8.2.2010, 18:31
Сообщение #175


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Если между хабом и клиентом есть хотя бы 1 маршрутизатор, то mac адрес клиента определить нельзя. Другими словами, мак-адрес можно определить только для пользователей, которые находятся в том же сегменте, что и хаб.
Go to the top of the page
+Quote Post
Saymon21
сообщение 23.2.2010, 1:47
Сообщение #176


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




А может сделать плагин профилей и потом просто ко всем скриптами подключать? Я думаю это будет удобным.
Go to the top of the page
+Quote Post
Accelerator
сообщение 23.2.2010, 10:32
Сообщение #177


Developer
******

Группа: Модераторы
Сообщений: 541
Регистрация: 11.11.2008
Пользователь №: 1 075
Спасибо сказали: 244 раза




Где то уже писал, но повторюсь: Сделайте команду смены Топика хаба.
Go to the top of the page
+Quote Post
Setuper
сообщение 23.2.2010, 12:43
Сообщение #178


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Saymon, так профиль итак устанавливается в одном скрипте, а потом используется во всех скриптах. То есть в роли плагина тут выступает скрипт.

По поводу установки топика, то можно написать скрипт:
Код
local tAllow = {
  [0] = true,
  [1] = true
}

function OnChat(UID, sData)
  local sTopic = sData:match"%b<> [!%+]settopic (.+)"
  if sTopic then
    local tUser = Core.GetUser(UID, 9)
    if tAllow[tUser.iProfile] then
      Core.SendToAll("*** "..tUser.sNick.." установил новый топик.")
      Core.SetConfig("sTopic", sTopic)
    else
      Core.SendToUser(UID, "У вас нет прав на использование этой команды")
    end
    return true
  end
end


Спасибо сказали:
Go to the top of the page
+Quote Post
Jaska
сообщение 28.2.2010, 3:40
Сообщение #179


Освоившийся участник
*****

Группа: Администраторы
Сообщений: 344
Регистрация: 2.6.2008
Из: RB,Ufa
Пользователь №: 8
Спасибо сказали: 106 раз




Поскольку необходима реализация сессий для веб-морды хаба, очень бы хотелось получать в OnWebData(WebID, sData) еще ip-адрес отправителя а так же иметь функцию которая бы выводила состояние клиента (подключен/отключен)
Go to the top of the page
+Quote Post
Accelerator
сообщение 28.2.2010, 8:04
Сообщение #180


Developer
******

Группа: Модераторы
Сообщений: 541
Регистрация: 11.11.2008
Пользователь №: 1 075
Спасибо сказали: 244 раза




Цитата(Setuper @ 18.1.2010, 21:20) *
TODO лист:

  • Функция статистики и информации о сервере Core.GetStat().

Предлагаю сделать такую статистику:
Цитата
<RusHubBot> Информация о хабе:
Имя хаба: RusHub
Адрес хаба: 127.0.0.1:411
Топик хаба: RusHubTopic
Платформа хаба: Windows 7
Хаб работает 1 дней, 17 час., 22 мин., 1 сек.
Подключеные юзеры: 10 (1 админы, 1 операторы, 5 зарегистрированные, 2 обычные, 1 боты)
Расшаренные данные: 5,42 ТБ
В среднем данных на юзера: 365,42 ГБ
Go to the top of the page
+Quote Post
Setuper
сообщение 28.2.2010, 12:43
Сообщение #181


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




По поводу определения ip адреса веб-клиента - сделаю.

По поводу статистики хаба, то функция Core.GetStat() будет возвращать Lua таблицу в полях которой будет содержаться различная информация текущей сессии работы хаба:
  • время работы за сессию
  • максимальное число пользователей за сессию
  • максимальная шара за сессию
  • используемые на хабе NMDC команды за сессию
  • количество отосланных и полученных данных за сессию
  • текущей уровень нагрузки на хаб
  • время CPU
  • использование памяти

и тд. и тп.
Данная функция будет возвращать только изменяемые во времени параметры (то есть, не постоянные во времени).

Платформа хаба - это вообще постоянный параметр и он будет возвращаться как поле таблицы Core (так же как и версия хаба Core.sHubVersion).

Имя хаба, адрес хаба, топик хаба - это настройки хаба, и их можно получить при помощи функции Core.GetConfig.

Для получения числа подключенные юзеров тоже есть соответствующая функция. По поводу числа админов, операторов и тд., то это зависит от скриптов (хотя можно сделать функцию, которая возвращает по профильному числу число пользователей данного профиля).

Для получения общего числа расшаренных данных тоже есть функция. Среднее число данных на юзера легко можно подсчитать в скрипте.
Go to the top of the page
+Quote Post

13 страниц V  « < 7 8 9 10 11 > » 
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new ВАЖНО: Topic has attachmentsВаши Вопросы И Предложения По Поводу Форума
447 Svyat 304 424 20.10.2015, 19:39 Посл. сообщение: Ksan
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
3 anila 8 598 28.3.2013, 16:02 Посл. сообщение: настя
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
0 AntonRibin868 5 517 13.4.2011, 4:46 Посл. сообщение: AntonRibin868
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
0 Ksan 5 294 26.12.2010, 17:39 Посл. сообщение: Ksan
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
1 Accelerator 4 512 16.1.2010, 15:27 Посл. сообщение: Wariner

 



RSS Сейчас: 23.4.2024, 15:00