Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
29.11.2012, 18:43 |
[AddKey.lua] Покраска пользователя Устанавливает ключик пользователю на хабе. |
Автор: Alexey Версия: ver. 1.0 Название: AddKey Хаб софт: RusHub 2.3.10 Описание: Администратор может установить ключик (bInOpList) любому пользователю хаба до переподключения (текущая сессия). Загрузить: [attachment=6577:addkey.lua] |
CrazyKiller | ||
18.7.2012, 19:05 |
Greylink DC++ |
мне кажется что вот это поделие - |
Lamo | ||
3.3.2012, 16:31 |
Defend Hub, RusHub edition Полностью автоматическая защита хаба от активности ботов |
Работает прекрасно! |
Enyby | ||
3.3.2012, 11:44 |
Defend Hub, RusHub edition Полностью автоматическая защита хаба от активности ботов |
[2012-03-03 03:59:01] DefendHub_RusHub.lua:12: attempt to index field '?' (a nil value) |
Enyby | ||
2.3.2012, 6:29 |
Defend Chat, RusHub edition Полностью автоматическая защита чата от спама |
Протестировал, работает прекрасно. |
Enyby | ||
1.3.2012, 9:17 |
Defend PM, RusHub edition Полностью автоматическая защита ЛС от спама |
Тест скрипта прошел успешно Благодарю. |
Enyby | ||
20.2.2012, 22:56 |
Блокировка тегов |
Некоторые администраторы наверное хотели отключить отсылку описания, тегов итд .. В этом примере привожу как это реализовать: Код function OnMyINFO(UID, sData) UID.sDesc = "" UID.sEmail = "" end Тут мы запретили отправку Строки описания и электронной почты в клиенте. Дополнительные строки (теги) для отключения: Цитата sDesc - описание пользователя sTag - тэг пользователя sClientName - клиент пользователя sClientVersion - версия клиента пользователя sMode - режим пользователя sFraction - ограничитель F sConn - тип соединения пользователя sEmail - email адрес пользователя sSupports - поддреживаемые пользователем характеристики sVersion - версия протокола sIP - IP адрес пользователя sIPConn - IP адрес, по которому пользователь соединялся sMacAddress - mac адрес пользователя Успехов |
CrazyKiller, AfLc, dj_crazy_joker | ||
14.2.2012, 21:43 |
Аналог в verlihub |
как-то у меня он игнорирует эти значения ... хотя народ в списке стал меньше дергаться ..но ежели я вручную переподключаюсь то он пускает меня ... я поставил 1 конект в 30,000000 (т.е. 30 сек) p.s. никаких сообщения от хаба не замечал при переподключении .. |
Setuper | ||
2.2.2012, 8:03 |
Хаблист RusHub |
сделал ссылки и добавил страничку о RusHub'е |
Otshelnik-Fm, dj_crazy_joker | ||
1.2.2012, 20:43 |
Хаблист RusHub |
Предисловие: После долго общения с русхабом решил создать хаблист, содержащий только сервера, работающие под его управлением. Так вот , у кого имеются рабочие хабы под управлением RusHub, пишите в этой теме... Условия добавления: Допускаются только хабы, имеющий доступ к сети Интернет. Адрес хаблиста: |
Setuper, KT315, CrazyKiller, Saymon21, dj_crazy_joker | ||
1.2.2012, 16:59 |
[RusHub] Использование posix capabilities Linux ONLY |
С версии 2.3.6 "RusHub" поддерживает возможность использования posix capabilities. Выражаясь простым языком - можно запускать хаб на 411 порту и не использовать перенаправления при помощи IPTABLES. Шаг 1. В этой теме мы с вами скомпилируем хаб, поддерживающий эту возможность. Нам понадобятся следующие пакеты в системе: 1. libcap-dev 2. autotools-dev 3. automake 4. libtinyxml-dev Все эти пакеты необходимо установить при помощи команды: Код sudo apt-get install название_пакета Если у вас нет установленного хаба, то загружаем его из svn: Код svn co https://rushub.svn.sourceforge.net/svnroot/rushub/trunk/ /локальный/путь/куда/загружаем/ Далее переходим в папку с хабом, в моем случае это: /home/shadowx/rushub/rushub/ Шаг 2. Вводим команды по очереди: Установка хаба 1. Код autoreconf -i 2. Код ./configure --enable-caps 3. Код make 4. Код make clean 5. make На 5 этапе начнется сборка хаба Шаг 3. Теперь нам необходимо добавить 2 строки в файл настроек RusHub'а: Код <Item Name="sUserName">shadowx</Item> <Item Name="sGroupName">shadowx</Item> где shadowx - имя пользователя от кого мы запускаем хаб. Теперь в /etc/init.d/rushub записываем следующее содержимое: Код для управления Код #!/bin/sh ### BEGIN INIT INFO # Provides: rushub # Required-Start: $network # Required-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by rushub. ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME="RusHub" PATH_DAEMON="/home/shadowx/rushub_bin" DAEMON="$PATH_DAEMON/$NAME" PATH_DAEMON_CFG="$PATH_DAEMON/RusHub.xml" PIDF="$PATH_DAEMON/rushub.pid" ARGS="-c $PATH_DAEMON_CFG" USER="root" start() { echo -n "Запуск $NAME: " start-stop-daemon --start --chuid $USER --make-pidfile "$PIDF" --pidfile "$PIDF" --name $NAME --background --startas $DAEMON -- $ARGS echo "готово." } stop() { echo -n "Остановка $NAME: " start-stop-daemon --chuid $USER --stop --pidfile "$PIDF" --name $NAME --retry=TERM/5/KILL/10 rm "$PIDF" echo "готово." } restart() { stop sleep 2 start } if [ ! -x "$DAEMON" ] then echo "отсутствует файл для запуска $DAEMON" exit 0 fi case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) if [ -f "$PIDF" ]; then PID=$(cat $PIDF) if [ `ps auwx|grep $NAME|grep $PID|grep -v -c grep` = 1 ] then echo "процесс $NAME работает [pid: $PID]." exit 0 fi echo "процесс $NAME не запущен." exit 3 fi echo "процесс $NAME не запущен." exit 3 ;; *) echo "Использование {start|status|stop|restart}" exit 1 ;; esac exit 0 Шаг 4. Теперь необходимо накатить небольшой патч на lua-плагин, чтобы хаб запустился после установки: [attachment=6319:shared_tinyxml.zip] Как накатывать: 1. перейти в папку с lua-плагином cd rushub/lua_plugin 2. patch -p4 < shared_tinyxml.patch Шаг 5. 1. Установить порт для хаба в настройках 411 2. sudo service rushub restart У меня все запустилось успешно. Спасибо mariner'у за наставления на пусть истинный |
CrazyKiller | ||
26.1.2012, 16:34 |
RusHub: Запрет неразрывного пробела rushub |
Автор: Setuper Название: Запрет неразрывного пробела в чате или ПМ. Описание: Этот символ не распознается хаб-клиентами и им могут воспользоваться спамеры для рассылки любой рекламы, обхода антимата и пр. Идею буквально вчера предложил Andrean, когда проверял мои RegEx'ы. Если не хотите перегружать хаб скриптами, то просто добавьте этот символ в антирекламу. Символ неразрывного переноса виден в блокноте, просто скопируйте и поставьте этот символ в вашу антирекламу. Код local sBot = Config.sHubBot function OnChat(UID, sData) if UID.iProfile == -1 or UID.iProfile == 3 then local sText = sData:sub(#UID.sNick + 4, -1) if sText:find"\160" then Core.SendToUser(UID, "*** Использование неразрывного пробела в тексте запрещено!", sBot) return true end end end function OnTo(UID, sData) if UID.iProfile == -1 or UID.iProfile == 3 then local sTo, sText = sData:match("^%$To:%s+(%S+)%s+From:%s+(.*)") if sText:find"\160" then Core.SendToUser(UID, "*** Использование неразрывного пробела в тексте запрещено!", sBot, sTo) return true end end end P.S. Надеюсь вместе, мы шаг за шагом увеличим функционал нашего хаб-сервера .. Спасибо Илье за правку черновой копии скрипта. |
AfLc | ||
25.1.2012, 14:19 |
NetInDescription Добавляет сеть в описание пользователя |
поддерживаю, поигрался, но так и не получилось как мне пояснили необходимо куда-то записывать строку MyInfo потом из нее вычленять тег определенный и помещать ... еще проблемка с тегом от Eiskalt'а v 2.2.4 тег: Код Hub: [Incoming][213.141.136.70:411] $MyINFO $ALL FVD <EiskaltDC++ V:2.2.4,M:A,H:1/1/1,S:3>$ $20$$34191016562$ шаблон: Код local sFirstHalf, sSecondHalf = UID.sMyINFO:match("^($MyINFO $ALL %S+ )(.*<.*)$") все попадает ... но от этого клиента все теги идут ... |
мамин_парень | ||
25.1.2012, 1:38 |
Locker.lua Блокировка чат и привата для не зарегистрированных |
Авторы: сожители MyDC.RU Название: Locker.lua Описание: Скрипт позволяет блокировать чат и личные сообщения для не зарегистрированных пользователей, уведомляя их об этом... Код local sBot = Config.sHubBot local sMsg = "*** ОШИБКА!!! Вы не зарегистрированы на хабе." function OnChat(UID, sData) sData = sData:match"%b<> (.*)" if UID.iProfile == -1 then Core.SendToUser(UID, sMsg, sBot) return true end end function OnTo(UID,sData) local sTo,sFrom = sData:match"^%$To:%s+(%S+)%s+From:%s+(%S+)" if UID.iProfile == -1 then Core.SendToUser(UID, sMsg, sBot, sTo) return true end end [attachment=6298:locker.lua] |
CrazyKiller, mod, AfLc | ||
23.9.2011, 8:44 |
Скрипт MOTD |
Автор: Saymon Установка: создать в корне (где лежит бинарник) папку texts внутри которой файлик - motd.txt Сам скрипт: Раскрывающийся текст Код _TRACEBACK=debug.traceback tProfiles = { [0]="Администратор", [1]="Модератор", [2]="VIP", [3]="Юзер", [-1]="Гость" } function OnStartup() sHelloMsg = LoadText(Core.sMainDir.."texts/motd.txt") end function LoadText(sFileWay) local sMessage = "" local sFile = io.open(sFileWay, "r" ) if sFile then sMessage = sFile:read("*all") sFile:close() end return sMessage end function DoShareUnits(iSize) local tShareUnits = {"Б", "КБ", "МБ", "ГБ", "ТБ", "ПБ"} local iTableSize = table.maxn(tShareUnits) local iSize = tonumber(iSize) local sUnits = "" for iTablePos = 1, iTableSize do if iSize < 1024 or iTablePos == iTableSize then sUnits = tShareUnits[iTablePos] break else iSize = iSize / 1024 end end local sSize = string.format("%0.2f %s", iSize, sUnits) local sSize = string.gsub(sSize, "%.", ",") local _,_, s1stChar, s2ndChar = string.find(sSize, "%d+,(%d)(%d)") local s1stChar, s2ndChar = tonumber(s1stChar), tonumber(s2ndChar) if s2ndChar == 0 then sSize = string.gsub(sSize, ","..s1stChar..s2ndChar, ","..s1stChar) if s1stChar == 0 then sSize = string.gsub(sSize, ","..s1stChar, "") end end return sSize end function OnUserEnter(tUser) local sHelloMsg = sHelloMsg:gsub("%[(%S+)%]", { onlineusers = Core.GetUsersCount(), hubshare = DoShareUnits(Core.GetTotalShare()), nick = tUser.sNick, ip = tUser.sIP, profile = tProfiles[tUser.iProfile], port = tUser.iPortConn, realport = tUser.iPort, mac = tUser.sMacAddress, --[[description = tUser.sDescription, tag = tUser.sTag, client = tUser.sClient, clientversion = tUser.sClientVersion, mode = tUser.sMode, normalhubs = tUser.iNormalHubs, reghubs = tUser.iRegHubs, ophubs = tUser.iOpHubs, hubs = tUser.iHubs, slots = tUser.iSlots, llimit = tUser.iLlimit,]] }) Core.SendToUser(tUser,sHelloMsg,"Network") end |
CrazyKiller, dj_crazy_joker, graforlof | ||
15.9.2011, 21:51 |
[FlyLink] Партнерская сборка |
Данная сборка предназначена только для проекта MyDC и его партенров: Загрузка сборки: [attachment=6062:setup.zip] Список партнеров в сборке: Обзор инсталятора(Некоторые этапы установки): Скриншоты После завершения процесса установки будет запущен мастер "Первого запуска" для новичков: Скриншоты Созданные сборки (Заказы): TriolanEdition: для CrazyKiller [attachment=6053:2011_09_...23_scrot.png] [attachment=6052:TriolanEdition.exe.zip] Цитата *** Обновил версию, добавил хаб максимума *** По умолчанию все хабы выключены *** Поправил хаб Ксана *** Вопросы по добавлению ваших хабов принимаются от администраторов со стажем на форуме (mydc.ru) более 2х лет. *** Вопросы по созданию "приватных" подобных сборок пишите в личном сообщении |
CrazyKiller, PSIX | ||
3.9.2011, 21:06 |
Настройка iptables Правила iptables |
Pastebin: Установка фаервола: Код sudo apt-get install iptables Установка правил: 1. Необходимо разместить скрипт в /etc/network/if-pre-up.d/iptables, где "iptables" название нашего скрипта. 2. Задать права на исполнение: sudo chmod +x /etc/network/if-pre-up.d/iptables 3. Сверить все настройки, включая сетевые интерфейсы по команде - sudo ifconfig От себя: 1. Помните все значения подбираются индивидуально, тут лишь даны усредненные параметры, включая базовый набор служб. Набор базовых правил для iptables: /etc/network/if-pre-up.d/iptables Код #! /bin/sh IPTABLES="/sbin/iptables" #################################### #В этом блоке описываем сетевые интерфейсы для удобного применения в последующих правилах #установите в соответствии с вашими, подробнее по команде sudo ifconfig internet="ppp0" external="eth0" #################################### $IPTABLES -F $IPTABLES -X #################################### #Для отлова пакетов можно включить логирование, для активации уберите символ # в начале строки #$IPTABLES -A INPUT -p tcp -j LOG --log-prefix "iptables: INPUT tcp packets " #$IPTABLES -A INPUT -p udp -j LOG --log-prefix "iptables: INPUT udp packets " #################################### #################################### # Разрешаем доступ по интерфесу обратной петли $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A OUTPUT -o lo -j ACCEPT #################################### #################################### # C себя разрешаем всё $IPTABLES -A OUTPUT -m state --state NEW -j ACCEPT #################################### #################################### # Позволяем входящие и исходящие соединения, инициированные уже установленными соединениями $IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #################################### #################################### # Разрешаем прохождение DHCP запросов через iptables. $IPTABLES -A INPUT -p udp -m udp --dport 68 --sport 67 -j ACCEPT $IPTABLES -A OUTPUT -p udp -m udp --dport 67 --sport 68 -j ACCEPT #################################### #################################### # какие_то важные пакеты $IPTABLES -I INPUT -p ah -j ACCEPT $IPTABLES -I INPUT -p esp -j ACCEPT #################################### ######################################################################## # Защита # ######################################################################## #################################### # Дропаем все с ошибками $IPTABLES -A INPUT -m state --state INVALID -j DROP $IPTABLES -A FORWARD -m state --state INVALID -j DROP #################################### #################################### # порт сканнеры $IPTABLES -A INPUT -m state --state NEW -p tcp --tcp-flags ALL ALL -j DROP $IPTABLES -A INPUT -m state --state NEW -p tcp --tcp-flags ALL NONE -j DROP #################################### #################################### # Дропаем все icmp $IPTABLES -A INPUT -p icmp -j DROP #################################### #################################### # антиспуффинг $IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP $IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP $IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP $IPTABLES -N SYN_FLOOD $IPTABLES -A INPUT -p tcp --syn -j SYN_FLOOD $IPTABLES -A SYN_FLOOD -m limit --limit 2/s --limit-burst 6 -j RETURN $IPTABLES -A SYN_FLOOD -j DROP #################################### #################################### # Блокируем все попытки входящих TCP-соединений не SYN-пакетами (либо ошибка, либо атака) $IPTABLES -I INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP #################################### #################################### #Вводим ограничения для новых подключений по SSH (не больше 4 в минуту) #Если пользуетесь ssh для улучшения безопасности измените дефолтный порт на отличный от 22* #################################### $IPTABLES -A INPUT -i $external -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP #################################### ###################################################### #Настройки на выбор, если надо - раскомментируйте и поправьте под себя ###################################################### # Вводим ограничения для новых подключений по WWW (не больше 50 соедининий с одного ip)" #$IPTABLES -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP #################################### #################################### # Вводим ограничения для новых подключений по WWW (не более 5 в секунду) #$IPTABLES -A INPUT -p tcp --dport 80 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT #$IPTABLES -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW -m limit --limit 5/sec --limit-burst 5 -j ACCEPT #################################### #################################### # Вводим ограничения для новых подключений по FTP (не больше 50 соедининий с одного ip) #$IPTABLES -A INPUT -p tcp --dport 21 -m connlimit --connlimit-above 50 -j DROP #################################### #################################### # Вводим ограничения для новых подключений по FTP (не больше 5 в секунду) #$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp --dport 21 -m hashlimit --hashlimit-upto 5/sec --hashlimit-mode srcip --hashlimit-name ftphash -j ACCEPT #################################### #################################### # Настройки для Хаба # дропаем, если с ip новых соединений больше чем 10 #$IPTABLES -A INPUT -p tcp -m multiport --dports 411,4111 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT #$IPTABLES -A INPUT -p tcp -m multiport --dports 411,4111 -m conntrack --ctstate NEW -m limit --limit 10/min --limit-burst 10 -j ACCEPT # дропаем если с ip коннектов больше чем 20 #$IPTABLES -A INPUT -p tcp -m multiport --dports 411,4111 -m connlimit --connlimit-above 20 -j REJECT #$IPTABLES -A INPUT -p udp -m multiport --dports 411,4111 -m connlimit --connlimit-above 20 -j REJECT ############################################################### #~ #таблица черного списка для dc++| замените путь к файлу на корректный в вашей системе # В нем в каждой новой будем указывать черные ip-адреса, например: #1.1.1.1 #2.2.2.2 #3.3.3.3 #в файле допускаются комментарии ############################################################### #################################### #BLOCKDB="/home/ftp/www/nemesis/iptables/ip.blocked" #IPS=$(grep -Ev "^#" $BLOCKDB) #for i in $IPS #do # $IPTABLES -A INPUT -p tcp -i $external -s $i -m multiport --dports 411,4111 -j DROP # $IPTABLES -A INPUT -p udp -i $external -s $i -m multiport --dports 411,4111 -j DROP #done #вечный бан по ip для всех соединений к серверу #баним особо наглых #BLOCKDB="/home/ftp/www/nemesis/iptables/ip-all.blocked" #IPS=$(grep -Ev "^#" $BLOCKDB) #for i in $IPS #do #~ $IPTABLES -A INPUT -p tcp -i $external -s $i -j DROP #~ $IPTABLES -A INPUT -p udp -i $external -s $i -j DROP #~ done #################################### #################################### #дропаем запрос имен netbios $IPTABLES -A INPUT -p udp ! -i $internet --dport 137:138 -j DROP #################################### #################################### #дропаем мультикаст $IPTABLES -A INPUT -d 224.0.0.1/32 -j DROP $IPTABLES -A OUTPUT -d 224.0.0.1/32 -j DROP $IPTABLES -A FORWARD -d 224.0.0.1/32 -j DROP #################################### ######################################################################## # ОБЩЕЕ ДЛЯ ВСЕХ # ######################################################################## #Разрешаем доступ к ftp # FTP $IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp --sport 1024:65535 --dport 20:21 -j ACCEPT $IPTABLES -A INPUT -p tcp --sport 1024:65535 --dport 49000:49500 -j ACCEPT #################################### #################################### #Разрешаем доступ к веб-серверу # WWW $IPTABLES -A INPUT -p tcp -m tcp -m multiport --dports 80,443 -j ACCEPT $IPTABLES -A OUTPUT -p tcp -m tcp -m multiport --sports 80,443 -j ACCEPT #################################### #################################### # Доступ к Хаб-серверу $IPTABLES -A INPUT -p tcp -m tcp -m multiport --dports 411,4111 -j ACCEPT $IPTABLES -A INPUT -p udp -m udp -m multiport --dports 411,4111 -j ACCEPT #################################### ######################################################################## # ВНЕШКА # ######################################################################## #################################### # Доступ к DNS-серверам $IPTABLES -A OUTPUT -p tcp -m tcp -o $internet --dport 53 -j ACCEPT $IPTABLES -A OUTPUT -p udp -m udp -o $internet --dport 53 -j ACCEPT #################################### #################################### #Добавляем правила по умолчанию $IPTABLES -A INPUT -i $internet -j DROP $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP $IPTABLES -P FORWARD DROP #################################### |
ustas, CrazyKiller, Saymon21, DEN 007 | ||
27.8.2011, 20:23 |
Скрипт лимитер ограничение соединений по ip и символов в чате |
Автор: Alexey Попросил Лешу помочь с написанием этого скрипта, вот что получилось в итоге. Уверен начинающим пригодится т.к. лимитов на русхабе по умолчанию нет. Есть для общего чата в конфиг-файле, но там пользователя просто отключают. Код local nMaxUsers = 1 -- максимальное разрешённое число пользователей с одного IP ---------------------------------------------------------------- function OnUserConnected(UID) tSameIPs = Core.GetUsers(UID.sIP) if tSameIPs and #tSameIPs >= nMaxUsers then local sMsg = "\n [::] В доступе отказано: на хабе уже есть пользователи с этого IP-адреса: " for i,v in ipairs(tSameIPs) do sMsg = sMsg..v.sNick..", " end sMsg = sMsg:sub(1, -3)..".\n [::] Множественные подключения к хабу с одного IP-адреса запрещены." Core.SendToUser(UID, sMsg, "[OP]Домовёнок") Core.Disconnect(UID) end end local nMaxSymbols = 350 -- максимальное разрешённое число символов в гл.чате ---------------------------------------------------------------- function OnChat(UID, sData) local nMaxSymbols = #UID.sNick + nMaxSymbols + 3 if #sData > nMaxSymbols then Core.SendToAll(sData:sub(1, nMaxSymbols).."<...>") return true end end |
Alexey, DEN 007, AfLc | ||
26.8.2011, 18:35 |
[FreeBsd] Установка Lua 5.1.4 + библиотеки |
И так, уважаемые пользователи, а именно нуждающиеся админы FreeBSD. Пишу вводную часть по настройкам и компиляции основных библиотек необходимых для работы скриптов на RusHub'е. Перед началом этой статьи хотелось бы выразить отдельую благодарность Mariner'у за помощь в написании этой статьи. Установка Lua 5.1.4: LUA-5.1.4 Переходим в директорию установки, например /usr/rushub/: Код cd /usr/rushub/ Скачиваем пакет Lua: Код wget "http://www.lua.org/ftp/lua-5.1.4.tar.gz" Распакуем полученный архив lua-5.1.4.tar.gz: Код tar -xf lua-5.1.4.tar.gz Перейдем в папку lua-5.1.4: Код cd lua-5.1.4 Теперь начинается самое интересное, необходимо довести Makefile до ума. Начинаем редактировать файл Makefile в директории lua-5.1.4: Находим 46 строку с содержимым: Код TO_LIB= liblua.a и меняем на: Код TO_LIB= liblua.a liblua.so Теперь заменяем Makefile в директории ./lua-5.1.4/src/: После всех манипуляций переходим в ./lua-5.1.4 и начинаем сборку lua: Код gmake freebsd gmake install Установка LuaSocket LuaSocket-2.0.2 Переходим в директорию установки, например /usr/rushub/: Код cd /usr/rushub/ Скачиваем пакет LuaSocket: Код wget "http://luaforge.net/frs/download.php/2664/luasocket-2.0.2.tar.gz" Распакуем полученный архив luasocket-2.0.2.tar.gz: Код tar -xf luasocket-2.0.2.tar.gz Перейдем в папку luasocket-2.0.2: Код cd luasocket-2.0.2 Заменяем файл config на: После всех манипуляций переходим в ./luasocket-2.0.2 и начинаем сборку luaSocket: Код gmake gmake install Установка LuaMySQL LuaMySQL Перед установкой этой библиотеки необходимо загрузить MySQL на ваш сервер: Код cd /usr/ports/databases/mysql51-server gmake gmake install clean Переходим в директорию установки, например /usr/rushub/: Код cd /usr/rushub/ Скачиваем пакет LuaMySQL: Код git clone https://github.com/keplerproject/luasql.git Перейдем в папку luasql: Код cd luasql Заменяем файл config на: И начинаем сборку luaMySQL: Код gmake gmake install Установка LuaMD5 LuaMySQL Переходим в директорию установки, например /usr/rushub/: Код cd /usr/rushub/ Скачиваем пакет LuaMD5: Код wget "http://luaforge.net/frs/download.php/3355/md5-1.1.2.tar.gz" Перейдем в папку luaMD5: Код cd md5-1.1.2 Заменяем файл config на: И начинаем сборку luaMySQL: Код gmake gmake install Небольшое дополнение: Цитата Для компиляции lua-плагина, который идет в поставке с rushub'ом используйте следующий Makefile: Собирать командой gmake linux |
Setuper, mariner, PomanoB, KT315, CrazyKiller, Saymon21, DEN 007, 0x255 | ||
17.8.2011, 10:40 |
[FreeBsd]LuaPlugin |
если не ошибаюсь: Код Reading symbols from ./RusHub...done. (gdb) backtrace #0 0x282bf527 in ?? () #1 0x000004a0 in ?? () #2 0x2831eb58 in ?? () #3 0x282bf51b in ?? () #4 0x00000000 in ?? () #5 0x00000000 in ?? () #6 0x00000000 in ?? () #7 0xbfbfd858 in ?? () #8 0x0805c5a7 in server::Conn::close (this=0x0) at /usr/rhub/src/Conn.cpp:400 Previous frame identical to this frame (corrupt stack?) ---- Core was generated by `RusHub'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/lib/librt.so.1...done. Loaded symbols for /usr/lib/librt.so.1 Reading symbols from /usr/lib/libdl.so.1...done. Loaded symbols for /usr/lib/libdl.so.1 Reading symbols from /usr/local/lib/gcc44/libstdc++.so.6...done. Loaded symbols for /usr/local/lib/gcc44/libstdc++.so.6 Reading symbols from /lib/libm.so.5...done. Loaded symbols for /lib/libm.so.5 Reading symbols from /usr/local/lib/gcc44/libgcc_s.so.1...done. Loaded symbols for /usr/local/lib/gcc44/libgcc_s.so.1 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from ./plugins/lua.so...done. Loaded symbols for ./plugins/lua.so Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x282bf527 in freeaddrinfo () from /lib/libc.so.7 (gdb) --- #0 0x282bf527 in freeaddrinfo () from /lib/libc.so.7 #1 0x0805c5a7 in server::Conn::close (this=0x28473200) at /usr/rhub/src/Conn.cpp:400 #2 0x0805c5d3 in server::ConnFactory::deleteConn (this=0x2843e190, conn=@0xbfbfd95c) at /usr/rhub/src/Conn.cpp:1207 #3 0x080717e3 in dcserver::DcConnFactory::deleteConn (this=0x2843e190, conn=@0xbfbfd95c) at /usr/rhub/src/DcConn.cpp:276 #4 0x0805e07d in server::Conn::createNewConn (this=0x28470300) at /usr/rhub/src/Conn.cpp:499 #5 0x080a1b4b in server::Server::newAccept (this=0xbfbfdacc) at /usr/rhub/src/Server.cpp:460 #6 0x080a20b2 in server::Server::step (this=0xbfbfdacc) at /usr/rhub/src/Server.cpp:341 #7 0x080a29e2 in server::Server::run (this=0xbfbfdacc) at /usr/rhub/src/Server.cpp:234 #8 0x0808b7fd in runHub (argc=1, argv=0xbfbfec58, isService=false) at /usr/rhub/src/main.cpp:133 #9 0x0808b9a9 in main (argc=1, argv=0xbfbfec58) at /usr/rhub/src/main.cpp:159 |
Setuper | ||
1.8.2011, 13:42 |
[BASH] Старт/Стоп/Перезапуск и пр. |
Предлагаю скрипт запуска, остановки и перезапуска rushub'a: Не забудьте изменить параметры скрипта: директории и пути. Просмотр кода bash Код #!/bin/sh ### BEGIN INIT INFO # Provides: rushub # Required-Start: $network # Required-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by rushub. ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME="RusHub" PATH_DAEMON="/home/shadowx/rushub_bin" DAEMON="$PATH_DAEMON/$NAME" PATH_DAEMON_CFG="$PATH_DAEMON/RusHub.xml" PIDF="$PATH_DAEMON/rushub.pid" ARGS="-c $PATH_DAEMON_CFG" USER="shadowx" start() { echo -n "Запуск $NAME: " start-stop-daemon --start --chuid $USER --make-pidfile "$PIDF" --pidfile "$PIDF" --name $NAME --background --startas $DAEMON -- $ARGS echo "готово." } stop() { echo -n "Остановка $NAME: " start-stop-daemon --chuid $USER --stop --pidfile "$PIDF" --name $NAME --retry=TERM/5/KILL/10 rm "$PIDF" echo "готово." } restart() { stop sleep 2 start } if [ ! -x "$DAEMON" ] then echo "отсутствует файл для запуска $DAEMON" exit 0 fi case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) if [ -f "$PIDF" ]; then PID=$(cat $PIDF) if [ `ps auwx|grep $NAME|grep $PID|grep -v -c grep` = 1 ] then echo "процесс $NAME работает [pid: $PID]." exit 0 fi echo "процесс $NAME не запущен." exit 3 fi echo "процесс $NAME не запущен." exit 3 ;; *) echo "Использование {start|status|stop|restart}" exit 1 ;; esac exit 0 |
CrazyKiller, DEN 007 | ||
5.3.2011, 8:37 |
Скрипт опроса с голосованием Помогите найти или сделать |
а искать вы пробовали ? вот попробуйте а потом создавайте тему --- http://mydc.ru/topic181.html?hl=%EE%EF%F0%EE%F1%FB |
sexynapku | ||
3.3.2011, 21:21 |
Блокировка Пассивных юзеров |
хаб у меня локальный и внешних юзеров в нем нет =) так что не особо актуально |
мамин_парень | ||
3.3.2011, 20:00 |
Блокировка Пассивных юзеров |
- Пассивные пользователи создают дополнительный трафик и загружают компьютер с хабом - Пассивные пользователи не отвечают на поисковые запросы и, таким образом, практически бесполезны для остальных пользователей хаба. ну а по поводу не могут работать в активе ...сейчас практически во всех роутерах все настраивается |
мамин_парень | ||
3.3.2011, 17:52 |
Блокировка Пассивных юзеров |
Описание: Простенький скрипт, который запрещает пользователям использовать пассивное соединение. *** Если хотите чтобы скрипт кикал юзера, то просто раскомментируйте строку "--" Загрузить: [attachment=5642:passive.lua] |
Nickolya, мамин_парень | ||
16.1.2011, 23:14 |
[WEB-REGISTRATION]- Веб-Регистрация [VERLIHUB] Регистрация пользователей на сайте вашего хаба. |
Хочу представить вам форму регистрации пользователей для verlihub на нашем хабе, разработанную моим другом (0x255) Сам скрипт: [attachment=5514:hub_reg.zip] Цитата Описание: 1. index.php - Основная морда,проверят валидность формы через плагин jquery validate 2. Так же после ввода никнэйма этот же плагин делает аякс-запрос на test.php, тот в свою очередь проверяет есть ли пользователь в БД и возвращает ответ. 3. После того как валидация формы пройденна данные отправляются на register.php, где проверяются на корректность повторно, вдруг кто поломать вздумает =). 4. Если находятся ошибки, то они выводятся пользователю, вообще любое действие или ошибка выводится пользователю. 5. В reglib.php происходит настройка связи с БД + функции которые облегчают жизнь, а именно перекодирование текста к формату совместимому с sql и функция вывода сообщений пользователю. P.S. Код небольшой. думаю очень понятный, единственный минус - не привязал внешний css. Скриншот (основной): Скриншот (ввод данных: проверка): Скриншот (проверка: если администраторские приставки) - можно придумать свои проверки и условия: Скриншот (общий вид): P.S. Приношу извинения за ошибку на скрине. спасибо, Ksan. |
Nickolya, Vizunchik, KT315, Saymon21, shur49, мамин_парень | ||
29.12.2010, 14:00 |
Поддомены ***.Get-Scripts.ru |
Тематика поддоменов стала популярной, то предлагаю вам создать поддомены в get-scripts.ru Name.get-scripts.ru, где "name" - ваш поддомен, пожалуйста не забывайте указывать ip-адрес Заявки оставляем в этой теме |
Nickolya | ||
2.7.2010, 23:11 |
Eximius Windows |
хаб замечательный 600 юзеров полет номральный, выкладываю ссылку на новую версию |
Артём | ||
|
Сейчас: 22.11.2024, 19:33 |