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

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

MyDC.ru _ Программирование на Lua _ Tiny Hublist

Автор: alex82 13.4.2011, 7:02

Tiny Hublist

Версия: 1.01
Платформа: Win32
Автор: alex82

Описание:
Для демонстрации работы http://mydc.ru/topic4787.html пингера, я решил написать небольшую программу для создания хаблиста. Программа работает следующим образом: хабы из списка проверяются на работоспособность, после чего результат сохраняется в HTML-файл. Соответственно, для создания хаблиста требуется только сама программа, и любой Web-сервер.

Скриншоты



 tinyhublist_1.02.rar ( 833.81 килобайт ) : 337


Старые версии:
 tinyhublist_1.01.zip ( 940.54 килобайт ) : 147
 tinyhublist_1.00.zip ( 224.45 килобайт ) : 84

Автор: Damaks 13.4.2011, 11:13

Спасибо, теперь удобнее стало проверять хабы на предмет работы и сортировки по юзерам big_smile.gif
Может замутить что-нить с локальными хабами, вроде этого http://mydc.ru/r/?http://dredddc.nxt.ru/hublistsvao.html

У меня вопрос: программа может создавать html-файл на ftp-сервере?

Автор: Ksan 13.4.2011, 11:51

Никак не обойду эту ошибку (при попытке запуска tinyhublist.lua):

Цитата
.../scripts/pinger.lua:291: bad argument #1 to 'receive' (invalid receive pattern)

Содержание строки:
Код
local buf,e = client:receive("*p")

Автор: alex82 13.4.2011, 12:41

Цитата
У меня вопрос: программа может создавать html-файл на ftp-сервере?
Текущая версия - нет. Но могу добавить в следующей.

Ksan

Тут используется модифицированная библиотека сокетов. Под какой сборкой Lua ты ее запускаешь?

PS. В архиве есть исходник. Если желаешь, можешь попробовать пересобрать библиотеку самостоятельно.

Автор: Saymon21 13.4.2011, 13:22

alex82, вопрос об хаблисте ВСЕТИ, и об этой версии: Есть ли в планах поддержка ADC?

Автор: Ksan 13.4.2011, 14:03

Проблема с помощью автора решена (недоразумение было по поводу расположения и применения - я пытался комплект использовать как часть Птоки).

Теперь совет, который вам может пригодиться (не связан с моей вышеобозначенной проблемой) - ник бота - tiny - может быть занят или зареген на хабах, и в этих хабах пинг не прокатит, поэтому лучше изменить название бота-пингера для входа на что-то другое, менее распространённое. Я сменил на tinylist.

Автор: alex82 13.4.2011, 14:10

Saymon21
Я об этом думал. Но есть одна проблема - насколько мне известно, ADC использует кодировку UTF8. А это значит что прежде чем добавлять его поддержку, необходимо переходировать все шаблоны страниц и базы данных. Для данного хаблиста это вполне возможно - тут нет БД, а шаблон всего один. А вот BCETI... Даже страшно подумать об этом. Тем более протокол ADC по сути мертворожденный. Даже не знаю, стоит ли браться за это.

Цитата
Теперь совет, который вам может пригодиться (не связан с моей вышеобозначенной проблемой) - ник бота - tiny - может быть занят или зареген на хабах, и в этих хабах пинг не прокатит, поэтому лучше изменить название бота-пингера для входа на что-то другое, менее распространённое. Я сменил на tinylist
Ник нужно менять в любом случае, причем на что-нибудь оригинальное, и совпадающее с названием сайта. Хотя бы потому, что дефолтный ник со временем будет забанен на большинстве хабов благодаря нубам юзерам, использующим данную программу с неоправданно маленькими промежутками времени между пингами.

Автор: Saymon21 13.4.2011, 14:29

Да, с кодировкой именно так. Ну вроде же есть библиотека кодировок, можно с ней подумать...

Цитата
Тем более протокол ADC по сути мертворожденный.

Это почему-же?

Автор: alex82 13.4.2011, 15:39

Saymon21

Потому что большинству юзеров (в том числе мне) непонятно, зачем переходить со старого доброго NMDC на нечто невразумительное. Какие в нем преимущества? Чем оно лучше?

Автор: Hammer 13.4.2011, 20:51

Как сделать что-бы программа сама обновлялась? А то приходится самому всё запускать.

Автор: mariner 13.4.2011, 20:52

поставить крон и засунуть туба задачу

Автор: Ksan 13.4.2011, 21:43

Цитата
Как сделать что-бы программа сама обновлялась? А то приходится самому всё запускать

О чем это он?
У меня само всё через час обходит и обновляет таблицу..

Автор: Артём 13.4.2011, 22:06

Цитата(Ksan @ 13.4.2011, 20:43) *
У меня само всё через час обходит и обновляет таблицу..

victory.gif поддерживаю, у меня тоже само обновляется

Автор: Hammer 13.4.2011, 22:24

Всё заработало. Я чё то не то сделал :( Сейчас работает.

Автор: Damaks 14.4.2011, 7:05

Перестарался видимо:

Цитата
RestartTime = 30, -- Время повторного пинга хабов, минут. Чтобы отключить повторный пинг, закомментируйте параметр. В этом случае программа завершит работу после первого пинга.

Автор: Артём 14.4.2011, 11:15

big_smile1.gif сколько же сразу появилось хаблистов и реклама этих хаблистов, все одинаковые на вид, то есть хаблист с этой темы, но с разными копирайтами, поставили в копирайты свои ники bad_smile.gif .

Автор: Damaks 14.4.2011, 12:23

Не обобщай. Некоторые меняют стиль, делают красиво и качественно victory.gif

Автор: Артём 14.4.2011, 12:48

Damaks, я писал о админах-спамерюгах, а чего тебя это задело, я не знаю bad_smile.gif

Автор: Damaks 14.4.2011, 13:16

А нафига админам-спамерюгам хаблисты? (я вообще-то лишний раз похвастаться big_smile.gif )

Автор: Saymon21 14.4.2011, 13:37

Damaks, такие уже есть.

Цитата
[02:01:55] * JuNiOr (178.165.114.206) пытался сообщать в общий чат следующию фразу: <JuNiOr> [Urbania-Kievseti] Hublist <хттп>://ts.maxnet.ua/urbania/hublist.html По вопросам добавления в Лс JuNiOr

Ладно спам, но ещё ведь:
Раскрывающийся текст
Код
</td></tr><tr><td align="center" valign="bottom" class="copyright">Powered by <a href="dchub://urbania.sytes.net:411" target="_blank"><b>[Urbania-Kievseti]</b></a>. © 2011 <a href="http://vkontakte.ru/streter" target="_blank">JuNiOr</a></td></tr></table>
</body>
</html>
<!-- Tiny Hublist 1.00 by alex82 -->

Ух, ведь будет сейчас жудкий наплыв таких. bad_smile.gif

А с дизайном тоже поработал, да и не только. big_smile.gif
Раскрывающийся текст

Разве график пока не совсем хорошо вышел :(

Автор: Sinsei 14.4.2011, 16:44

Тоже запустил хаблист, только в графах Юзеры, Шара и т,д до сих пор одни вопросы, сколько времени должно пройти чтобы все корректно отображалось.

Автор: STIVAN 14.4.2011, 18:54

Извините за вопрос, а где указать путь file://localhost/D:/Сайт%202/сайт/Новая%20папка/hublist.html

Автор: Underconstruction 14.4.2011, 19:25

Цитата(STIVAN @ 14.4.2011, 19:54) *
Извините за вопрос, а где указать путь file://localhost/D:/Сайт%202/сайт/Новая%20папка/hublist.html


в config.lua

Автор: STIVAN 14.4.2011, 19:25

Все получилось, а как сделать чтобы нажал на сылку и там можно было комент оставить....

Автор: DEN 007 14.4.2011, 19:26

Цитата(STIVAN @ 14.4.2011, 19:54) *
Извините за вопрос, а где указать путь file://localhost/D:/Сайт%202/сайт/Новая%20папка/hublist.html

Для начала установи веб сервер к примеру http://mydc.ru/r/?http://ru.wikipedia.org/wiki/Apache, затем открой конфиг config.lua, там все описано! И укажи путь до директории веб сервера к примеру: C:/webserver/site.ru/www/hublist.html в переменной File = "".

P.S. Не учили что ли читать README.txt?

Автор: Ksan 14.4.2011, 19:26

STIVAN, в config.lua, там 14-я строка:

Код
File = "hublist.html?#34;,
вот тут и пиши полный путь.

Автор: DEN 007 14.4.2011, 19:27

Цитата(STIVAN @ 14.4.2011, 20:25) *
Все получилось, а как сделать чтобы нажал на сылку и там можно было комент оставить....

Это не входит в функционал данного хаблиста, но можешь написать сам!

Автор: STIVAN 14.4.2011, 19:28

Цитата(DEN 007 @ 14.4.2011, 18:27) *
Это не входит в функционал данного хаблиста, но можешь написать сам!

ааа,ясно жалко....

Автор: Ksan 14.4.2011, 19:30

Написано же - Tiny..., что означает - крошечный...что означает - с ограниченным функционалом.

Автор: Osimus 15.4.2011, 8:49

Спасибо за хаблист!

Автор: ЕгО_ТенЬ 16.4.2011, 23:03

а можно добавить строку в хаблист типо - локалка , локалка +нэт

Автор: alex82 17.4.2011, 2:07

Доступна версия 1.01

Изменения:
Исправлено отображение символов $ и | в строках, полученных от хаба.
Добавлена переменная path, которая позволит упростить запуск скрипта в тех случаях, когда интерпретатору не удалось определить рабочую директорию.
Добавлена возможность установки ника, пароля и шары для каждого хаба.
Весь HTML-код вынесен в шаблон.
Добавлена возможность изменения сортировки списка хабов.
Добавлена возможность быстрой смены шаблона.
Добавлен альтернативный шаблон страницы.
Добавлено автоматическое определение страны хаба по IP-адресу.
Добавлена возможность создания хаблиста в формате XML.
Добавлена возможность отправки списка хабов на удаленный FTP-сервер.

Цитата(ЕгО_ТенЬ @ 16.4.2011, 23:03) *
а можно добавить строку в хаблист типо - локалка , локалка +нэт
Можно в версии 1.01. Для этого меняем 125 строку:
Код
        table.insert(hubs,{Addr = hub[1],Info = Ping(pingaddr,port,hub[2],hub[3],hub[4]),Time = os.time(),Country = tDNS[addr] and tGeoIP[tDNS[addr]] or "??",UserString = hub[5]})

Теперь добавляем где-то после 204 строки:
Код
                        :gsub("{USERSTRING}",v.UserString or "")

Теперь можно использовать переменную {USERSTRING} внутри строки хаблиста. При этом настройки хаба должны выглядеть так:
Код
{"dc.example.com:411", [5] = "Какая-то строка"},



Автор: AltSide 17.4.2011, 2:12

Скажите пожалуйста, а как добавить статистику типа:
Хабов в списке:
Из них онлайн:
Оффлайн:
В среднем на каждом хабе № юзеров № тб шары:

Автор: Ksan 17.4.2011, 7:13

В новой версии в FAQ-е, наверно, нужно исправить строку:

Цитата
КАК МНЕ ПОМЕНЯТЬ ДИЗАЙН СТРАНИЦЫ?
Откройте в блокноте файл main.tpl, и Вы сами все поймете.

то есть, вместо main.tpl написать "default.tpl из папки themes"

UPD:
-- при попытке запустить выкидывает сообщение с ошибкой про 116-ю строку, типа была попытка индексации поля "?" (nil value)..
Строка 116:
Код
        local port = hub[1]:match(":(%d+)$")

PS: С помощью автора проблема решена - неправильно переносил старый список хабов в новый конфиг.

Автор: Damaks 17.4.2011, 10:26

Отлично работает, как по часам и без ошибок. Оформление стало намного удобнее и легче менять. Лишнии функции придётся вырезать.

Автор: STIVAN 17.4.2011, 14:01

Как сделать 2 вриант хаблсита как показано у вас в скриншоте

Автор: KauH™ 17.4.2011, 14:06

2 вариант шаблона , строка 40 config.lua

Код
    Theme = "default2",    -- Имя шаблона страницы (без расширения)

Автор: STIVAN 17.4.2011, 14:31

А вот:
Страна: Неизвестно
Её в ручную прописывать если да, то где?

Автор: Ksan 17.4.2011, 14:42

Попробовал вторую тему, вернулся на первую.
Во второй теме нет наглядности в смысле сравнения хабов друг с другом...сильно вся инфа разбросана.

Читать не как критику, а как: "Первая тема ещё лучше второй!" big_smile.gif

Автор: Hammer 17.4.2011, 18:31

А как сделать что-бы хабы сами добавлялись? Или как сделать статистику типо этой? Хабов в списке: 161. Из них онлайн: 150, полностью проверено: 147.
Пользователи оставили комментариев: 36.

Автор: STIVAN 17.4.2011, 19:08

Цитата(Hammer @ 17.4.2011, 16:31) *
А как сделать что-бы хабы сами добавлялись? Или как сделать статистику типо этой? Хабов в списке: 161. Из них онлайн: 150, полностью проверено: 147.
Пользователи оставили комментариев: 36.

да,да...

Автор: Saymon21 17.4.2011, 19:24

открываем самый обычный текстовый редактор и пишем такие функции. bad_smile.gif

UPD: Поделюсь всётаки своим куском, не жадный.
Возможно не лучшая реализация но...
В tinyhublist.lua находим кусок:

Раскрывающийся текст
Код
if f then
            local header,row,footer
            local f2 = io.open(path.."themes/"..tCfg.Theme..".tpl")
            if f2 then
                header,row,footer = f2:read("*a"):gsub("{SITENAME}",
                (tCfg.SiteName:gsub("%%","%%%%"))):match("(.*){ROW_BEGIN}(.*){ROW_END}(.*)")
                f2:close()
            end
            
            if header then
                f:write(header)
            end
            
            local even = false

После него добавляем:
Раскрывающийся текст
Код
local total_users_count,total_share_size=0,0
            local hubs_count,online_hubs_count = 0,0
            for _,hubid in ipairs(hubs) do
                total_users_count = total_users_count + (hubid.Info.Users or 0)
                total_share_size = total_share_size + (hubid.Info.Share or 0)
                hubs_count = hubs_count + 1
                online_hubs_count = online_hubs_count + (hubid.Info.Online and 1 or 0)
            end
            if header then
                f:write('<b>Краткая статистика:</b><br> '..
                    '<ul><li>Всего хабов: '..hubs_count..'</li>'..
                    '<li>Онлайн хабов: '..online_hubs_count..'</li>'..
                    '<li>Общее число юзеров на хабах сети: '..total_users_count..'</li>'..
                    '<li>Общий размер шары: '..FormatSize(tonumber(total_share_size),true)..'</li>'..
                    '<li>Обновление информации происходит один раз в час.</li>'..
                    '</ul><br><b>Список хабов:</b><br>')
            end

Итог, если мы ничего не накосячили - будет что-то вроде:

PS. Среднее число юзеров и шары в процессе допиливания.

Автор: STIVAN 17.4.2011, 19:37

А как сделать что-бы хабы сами добавлялись?
Тоесть нажать "Добавить хаб",и хаб на проверку становится админ проверяет и добавляет....

Автор: Saymon21 17.4.2011, 19:41

Цитата(Saymon21 @ 17.4.2011, 20:24) *
открываем самый обычный текстовый редактор и пишем такие функции. bad_smile.gif



Напиши мол чтобы добавить хаб скиньте адрес на мыло, и оставь своё мыло...

Автор: STIVAN 17.4.2011, 19:45

Попробую, но не силен в этом.... :(

Автор: Saymon21 17.4.2011, 19:51

Что может быть проще, чем открыть шаблон, который у тебя использован и написать что-то вроде:

Код
<b>Для добавления хаба в этот список пришлите нам на E-Mail его адрес:</b> <a href="mailto:мыло@домен.ру">мыло<at>домен<dot>ру</a>

????????

Автор: Damaks 17.4.2011, 20:02

Цитата(Saymon21 @ 17.4.2011, 20:51) *
Что может быть проще, чем открыть шаблон, который у тебя использован и написать что-то вроде:

Неважно, главное есть Хаблист.

Вот такой скромный пиринг у меня big_smile.gif


Автор: Hammer 17.4.2011, 21:03

Как сделать что-бы статистика была слева? А то уже всё перепробовал, а текст по середине остается.

Автор: Damaks 17.4.2011, 21:06

Цитата(Hammer @ 17.4.2011, 22:03) *
Как сделать что-бы статистика была слева? А то уже всё перепробовал, а текст по середине остается.

Смотри, где у тебя в стилях выравнивание по центру.

Автор: Hammer 17.4.2011, 21:39

Вроде всё ок. А статистика стоит по середине.

Раскрывающийся текст
local total_users_count,total_share_size=0,0
local hubs_count,online_hubs_count = 0,0
for _,hubid in ipairs(hubs) do
total_users_count = total_users_count + (hubid.Info.Users or 0)
total_share_size = total_share_size + (hubid.Info.Share or 0)
hubs_count = hubs_count + 1
online_hubs_count = online_hubs_count + (hubid.Info.Online and 1 or 0)
end
if header then
f:write('<b>Краткая статистика:</b><br> '..
'<ul><li>Всего хабов: '..hubs_count..'</li>'..
'<li>Онлайн хабов: '..online_hubs_count..'</li>'..
'<li>Общее число юзеров на хабах сети: '..total_users_count..'</li>'..
'<li>Общий размер шары: '..FormatSize(tonumber(total_share_size),true)..'</li>'..
'<li>Обновление информации происходит один раз в час.</li>'..
'</ul><br><b>Список хабов:</b><br>')
end


Кстати есть ещё вопрос. Можно ли сделать рекомендуем хабы? И как сделать что-бы они были отделены от других хабов.

Автор: Saymon21 17.4.2011, 23:35

ну так ты не код копай, а шаблон, .tpl

>>Можно ли сделать рекомендуем хабы?
А почему нет? Только переведи слово "tiny"

Автор: Sinsei 18.4.2011, 16:01

В разных браузерах статистика по разному отображается.

Раскрывающийся текст
Опера
http://mydc.ru/r/?http://pixs.ru/?r=2053660
IE
http://mydc.ru/r/?http://pixs.ru/?r=2053673

Автор: Saymon21 18.4.2011, 16:59

Ну верстайте, верстайте. У нас во всех браузерах всё нормально. big_smile.gif

Раскрывающийся текст

открываем самый обычный текстовый редактор и пишем такие функции. bad_smile.gif

UPD: Поделюсь всётаки своим куском, не жадный.
Возможно не лучшая реализация но...
В tinyhublist.lua находим кусок:
Раскрывающийся текст
Код
if f then
            local header,row,footer
            local f2 = io.open(path.."themes/"..tCfg.Theme..".tpl")
            if f2 then
                header,row,footer = f2:read("*a"):gsub("{SITENAME}",
                (tCfg.SiteName:gsub("%%","%%%%"))):match("(.*){ROW_BEGIN}(.*){ROW_END}(.*)")
                f2:close()
            end
            
            if header then
                f:write(header)
            end
            
            local even = false

После него добавляем:
Код
local total_users_count,total_share_size=0,0
            local hubs_count,online_hubs_count = 0,0
            for _,hubid in ipairs(hubs) do
                total_users_count = total_users_count + (hubid.Info.Users or 0)
                total_share_size = total_share_size + (hubid.Info.Share or 0)
                hubs_count = hubs_count + 1
                online_hubs_count = online_hubs_count + (hubid.Info.Online and 1 or 0)
            end
            if header then
                f:write('<b>Краткая статистика:</b><br> '..
                    '<ul><li>Всего хабов: '..hubs_count..'</li>'..
                    '<li>Онлайн хабов: '..online_hubs_count..'</li>'..
                    '<li>Общее число юзеров на хабах сети: '..total_users_count..'</li>'..
                    '<li>Общий размер шары: '..FormatSize(tonumber(total_share_size),true)..'</li>'..
                    '<li>Обновление информации происходит один раз в час.</li>'..
                    '</ul><br><b>Список хабов:</b><br>')
            end


Добавляем стату среднее число юзеров и шары:
Например, после:
Код
'<li>Общий размер шары: '..FormatSize(tonumber(total_share_size),true)..'</li>'..

Добавляем:
Код
'<li>В среднем на каждом хабе '..math.floor(total_users_count/online_hubs_count)..' юзеров и '..FormatSize(tonumber(total_share_size/online_hubs_count),true)..' шары</li>'..


Делаем отображение иконок софта:
Раскрывающийся текст

Например в начале tinyhublist.lua создаём табличку, типа:
Код
tSoftWare = {
    ["PtokaX"] = "<a href=\"http://www.ptokax.org\" target=\"_blank\" title=\"Перейти на домашную страницу\"> <img src=\"/style/soft_img/"..
                "ptokax.png\" border=\"0\"></a>  PtokaX DC Hub",
    ["RusHub"] = "<a href=\"http://rushub.org\" target=\"_blank\" title=\"Перейти на домашную страницу\"> <img src=\"/style/soft_img/"..
                "rushub.png\" border=\"0\"></a>  RusHub",
    ["YnHub"] = "<a href=\"http://ynhub.org/\" target=\"_blank\" title=\"Перейти на домашную страницу\"> <img src=\"/style/soft_img/"..
                "ynhub.png\" border=\"0\"</a>  YnHub",
    ["VerliHub"] = "<a href=\"http://www.verlihub-project.org/doku.php?id=start\" target=\"_blank\" title=\"Перейти на домашную страницу\">"..
                    "<img src=\"/style/soft_img/verlihub.png\" border=\"0\"></a>  VerliHub",
    ["Eximius"] = "<a href=\"http://eximius.rs2soft.nl/\" target=\"_blank\" title=\"Перейти на домашную страницу\"> <img src=\"/style/soft_img/"..
                    "eximius.png\" border=\"0\"></a>  Eximius",
    ["HexHub"] = "<a href=\"http://nemesis.te-home.net/HeXHub/\" target=\"_blank\" title=\"Перейти на домашную страницу\">"..
                    "<img src=\"/style/soft_img/hexhub.png\" border=\"0\"></a>  HexHub",
    ["FlexHubBeta 0.1"] = "<a href=\"http://www.flexhub.org/forum/\" target=\"_blank\" title=\"Перейти на домашную страницу\">"..
                        "<img src=\"/style/soft_img/flexhub.png\" border=\"0\"></a>  FlexHub",
}



В tinyhublist.lua находим:
Код
:gsub("{FLAG}",v.Country == "??" and "unknown" or v.Country:lower())


После добавляем:
Код
:gsub("{HubSoft}",(tSoftWare[v.Info.HubSoft]   or (v.Info.HubSoft and v.Info.HubSoft or "n/a")))


В той дериктории, где у нас будет сохранение странички хаблиста создаём папки style и soft_img, после чего в soft_img кладём изображения ptokax.png,rushub.png,ynhub.png,verlihub.png, eximius.png, hexhub.png,flexhub.png после открываем шаблон, и в нужном месте добавляем {HubSoft}

PS. Пример, как это всё выглядит у нас в посте № 43

Автор: Sinsei 18.4.2011, 17:11

Что еще верстать, как было написано так и сделал.

Вот кусок кода как я сделал.

Раскрывающийся текст
Код
if header then f:write(header) end
            
            local even = false
                       local total_users_count,total_share_size=0,0
            local hubs_count,online_hubs_count = 0,0
            for _,hubid in ipairs(hubs) do
                total_users_count = total_users_count + (hubid.Info.Users or 0)
                total_share_size = total_share_size + (hubid.Info.Share or 0)
                hubs_count = hubs_count + 1
                online_hubs_count = online_hubs_count + (hubid.Info.Online and 1 or 0)
            end
            if header then
                f:write('<b>Краткая статистика:</b><br> '..
                    '<ul><li>Всего хабов: '..hubs_count..'</li>'..
                    '<li>Онлайн хабов: '..online_hubs_count..'</li>'..
                    '<li>Общее число юзеров на хабах сети: '..total_users_count..'</li>'..
                    '<li>Общий размер шары: '..FormatSize(tonumber(total_share_size),true)..'</li>'..
                    '<li>В среднем на каждом хабе '..math.floor(total_users_count/online_hubs_count)..' юзеров и '..FormatSize(tonumber(total_share_size/online_hubs_count),true)..' шары</li>'..
                    '<li>Обновление информации происходит один раз в час.</li>'..
                    '</ul><br><b>Список хабов:</b><br>')
            end
            for _,v in ipairs(hubs) do
                if tCfg.HTMLFilter == 1 or (tCfg.HTMLFilter == 2 and hub.Info.Online) or (tCfg.HTMLFilter == 3 and hub.Info.State >= 9) then    
                    f:write((row
                        :gsub("{ROWSTYLE}",even and "even" or "odd")
                        :gsub("{STATE}",v.Info.Online and "online" or "offline")
                        :gsub("{STATE_STRING}",v.Info.Online and "Онлайн" or "Оффлайн")
                        :gsub("{DESCRIPTION}",v.Info.Descr and v.Info.Descr:htmlescape():gsub("%%","%%%%") or "")
                        :gsub("{NAME}",v.Info.Name and v.Info.Name:htmlescape():gsub("%%","%%%%") or v.Addr)
                        :gsub("{ADDRESS}",v.Addr)
                        :gsub("{USERS}",v.Info.Users or "?")
                        :gsub("{SHARE}",v.Info.Share and FormatSize(tonumber(v.Info.Share),true) or "?")
                        :gsub("{MAXUSERS}",v.Info.MaxUsers or "?")
                        :gsub("{MINSHARE}",v.Info.MinShare and (v.Info.MinShare > 0 and FormatSize(tonumber(v.Info.MinShare)) or "не ограничено") or "?")
                        :gsub("{MINSLOTS}",v.Info.MinSlots and (v.Info.MinSlots > 0 and v.Info.MinSlots or  "не ограничено") or "?")
                        :gsub("{MAXHUBS}",v.Info.MaxHubs and (v.Info.MaxHubs > 0 and v.Info.MaxHubs or  "не ограничено") or "?")
                        :gsub("{PINGDATE}",os.date("%H:%M:%S",v.Time))
                        :gsub("{PINGDATE_([^}]+)}",function(fstr) return os.date(fstr,v.Time) end)
                        :gsub("{COUNTRY_CODE}",v.Country)
                        :gsub("{COUNTRY}",tCountry[v.Country] or "Неизвестно")
                        :gsub("{FLAG}",v.Country == "??" and "unknown" or v.Country:lower())
                    ))
                    even = not even
                end
            end
            
            if footer then f:write(footer,"\n<!-- Tiny Hublist ",_version," by alex82 -->") end
            
            if tFtp.Enable then
                f:seek("set")
                local r,e = ftp.put{host = tFtp.Host, port = tFtp.Port, user = tFtp.User, password = tFtp.Pass, path = tCfg.File, source = ltn12.source.file(f)}
                os.remove(path.."tempfile")
            else
                f:close()
            end
        end
    end
    
    if ThreadWait and tCfg.RestartTime then
        collectgarbage("collect")
        ThreadWait(tCfg.RestartTime*60000)
    else
        bStop = true
    end
end

Автор: Saymon21 18.4.2011, 17:16

причём тут это????? Есть шаблон в папке themes, вот там и разбирайся!

Автор: alex82 18.4.2011, 20:15

Цитата
Цитата(Hammer @ 17.4.2011, 16:31) *
А как сделать что-бы хабы сами добавлялись? Или как сделать статистику типо этой? Хабов в списке: 161. Из них онлайн: 150, полностью проверено: 147.
Пользователи оставили комментариев: 36.

да,да...
Я понимаю что вам нравится хаблист BCETI, и Вы хотите чтобы этот имел такой же функционал - самостоятельное добавление хабов, статистика, комментарии, блекджек, шлюхи, и.т.д. Но извините, тот движок работает под управлением MySQL, а страницы генерируются cgi-скриптами. Здесь же выложен простейший хаблист, требующий для работы только вебсервер. Вы слишком много от него хотите.

И кстати, если бы я выложил движок хаблиста BCETI, вы бы с ним все равно не справились, поскольку вы и с этим, простейшим хаблистом справляетесь с трудом.

Sinsei
А что мешает засунуть эту фигню в блок, и явно указать, по какой стороне выравнивать его содержимое?

Код
<div style="text-align: left">
    <!-- Тут какая-то фигня -->
</div>


PS.
Код
                    '<ul><li>Всего хабов: '..hubs_count..'</li>'..
                    '<li>Онлайн хабов: '..online_hubs_count..'</li>'..
                    '<li>Общее число юзеров на хабах сети: '..total_users_count..'</li>'..
                    '<li>Общий размер шары: '..FormatSize(tonumber(total_share_size),true)..'</li>'..
                    '<li>В среднем на каждом хабе '..math.floor(total_users_count/online_hubs_count)..' юзеров и '..FormatSize(tonumber(total_share_size/online_hubs_count),true)..' шары</li>'..
                    '<li>Обновление информации происходит один раз в час.</li>'..
                    '</ul>
О боже extreme_sexy_girl.gif . Не показывайте мне это - иначе мои глаза вытекут, и я больше не смогу выпускать новые версии.

Автор: AltSide 19.4.2011, 0:43

Цитата
И кстати, если бы я выложил движок хаблиста BCETI, вы бы с ним все равно не справились, поскольку вы и с этим, простейшим хаблистом справляетесь с трудом.

Ну выложите, те, кому нужно это действительно, они смогут понять, что и к чему. А кому нужно, пусть начинают осваивать такие небольшие вещи.
Согласитесь, ведь вам с этой части когда-то было тоже много не понятно. Но прошло время, и вы ведь научились. Тоже самое и они.
И да,
Цитата
В последнее время появились нехорошие тенденции - рекламировать коммерческие проекты на некоммерческих ресурсах, выкладывать софт с закрытым кодом и встроенными шеллами, пытаться завлечь бесплатных лохов бетатестеров в закрытые собственнические проекты, и.т.д. И я решил слегка ударить по этой шняге нехорошим тенденциям выкладыванием софта с аналогичным функционалом, но открытого и бесплатного.

Тем самым удар будет самый мощьный, и это хорошо, я думаю вам многие люди были бы благодарны.

Автор: Alexey 19.4.2011, 1:18

Цитата(AltSide @ 19.4.2011, 1:43) *
Ну выложите, те, кому нужно это действительно, они смогут понять, что и к чему.

Те, кто сможет понять — они и свой хаблист, не сильно вспотев, напишут или из этого слепят. Большинство-же будет мозг выносить нубскими вопросами.

Цитата(AltSide @ 19.4.2011, 1:43) *
А кому нужно, пусть начинают осваивать такие небольшие вещи.

Пусть начинают, никто-же не против. Пусть берут и дописывают этот хаблист. Лучшая школа — практика. Зачем лишать их возможности учиться?

Автор: Ksan 19.4.2011, 9:03

Много хаблистов - к чему? Скоро народ начнёт гасить пингеров, не разбираясь, где чей айпи..

Цитата
Те, кто сможет понять — они и свой хаблист не сильно вспотев напишут или из этого слепят. Большинство-же будет мозг выносить нубскими вопросами.
....и вдобавок заменят авторскую подпись своими, "}{AI<Ep"-скими..
Даже на этот Tiny уже новые "авторы" есть...

Не надо выкладывать полную версию!

Автор: Sinsei 19.4.2011, 10:57

Сделал чтобы статистика была по левому краю во всех браузерах.

Раскрывающийся текст
local total_users_count,total_share_size=0,0
local hubs_count,online_hubs_count = 0,0
for _,hubid in ipairs(hubs) do
total_users_count = total_users_count + (hubid.Info.Users or 0)
total_share_size = total_share_size + (hubid.Info.Share or 0)
hubs_count = hubs_count + 1
online_hubs_count = online_hubs_count + (hubid.Info.Online and 1 or 0)
end
if header then
f:write('<div style="text-align: left"><b>Краткая статистика:</b><br> '..
'<ul><li>Всего хабов: '..hubs_count..'</li>'..
'<li>Онлайн хабов: '..online_hubs_count..'</li>'..
'<li>Общее число юзеров на хабах сети: '..total_users_count..'</li>'..
'<li>Общий размер шары: '..FormatSize(tonumber(total_share_size),true)..'</li>'..
'<li>Обновление информации происходит один раз в час.</li>'..
'</ul><br><b>Список хабов:</b></div><br>')
end

Автор: Damaks 19.4.2011, 13:51

Цитата(Sinsei @ 19.4.2011, 11:57) *
Сделал чтобы статистика была по левому краю во всех браузерах.

Бррр, не показывай никому. Легче в стилях добавить:

Цитата
.content li{text-align:left;}

Автор: Sinsei 19.4.2011, 15:17

Да я уже понял что это вариант не подходит, когда я ее запускаю с первого пинга работает а со второго все сбивается обратно и при этом почему-то стили сами переключается .

Автор: Damaks 19.4.2011, 17:04

Цитата(Sinsei @ 19.4.2011, 16:17) *
Да я уже понял что это вариант не подходит, когда я ее запускаю с первого пинга работает а со второго все сбивается обратно и при этом почему-то стили сами переключается .

Значит не там делаешь. Открой файл themes/default.tpl (если используешь эту тему). Строка 15 там будет:
Цитата
.content{vertical-align: top; padding: 10px;}

Добавляешь под ней строку:
Цитата
.content li{text-align:left;}

И всё. Никакие лишние блоки добавлять и засирать код не нужно.

Автор: Ksan 21.4.2011, 13:44

Sinsei, слушай, засранец, ты идиот? Если будешь так пинговать, ты будешь везде забанен вместе со своим хабом и пингером!
Нафига такую кучу пингов закинул? Напинговал мне миллион пингов с частотой 1-2-3 минуты, дебил!

Его мусор
Цитата
[16:56:39] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[16:58:43] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[16:59:48] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:00:00] <Говорун> Точное время хаба: 17:00:00, сегодня 21 апреля, четверг...
[17:00:08] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:04:45] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:05:43] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:06:53] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:08:05] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:09:28] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:10:40] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:14:57] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:15:47] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:18:25] <Говорун> *** Пинг с IP: 109.248.163.117 с ником: hub21_pinger обнаружен.
[17:27:41] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:29:38] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.
[17:30:35] <Говорун> *** Пинг с IP: 46.38.1.115 с ником: tinylist обнаружен.

Админам форума: Я бы написал ему на его хабе, но там ттребуется региться для писания, ещё не хватало региться на его хабе, чтоб только высказать то, что тут написал...

Пингер его уже забанен.
Советую и другим.
Именно потому я и был против распространения пингеров и хаблистов, хоть тини, хоть макси...

Автор: alex82 21.4.2011, 14:20

Ksan

Если тебя так напрягают сообщения о пингах, то почему бы просто не отключить их? Или, как вариант, вынести в личку бота.

Автор: Ksan 21.4.2011, 14:24

alex82, может, внимательнее вглядишься в приведённый лог? и на период между пингами..
Меня пинги не напрягают, меня напрягают дебилы с пингерами, пингующие каждые 1-2-3 минуты! С одного адреса!
И вообще-то речь не про тебя у меня, а про Синсэя...к тебе нет претензий, расслабься. big_smile.gif

Автор: Sinsei 21.4.2011, 15:24

Ты бы так не выражался бы, если не хочешь иметь дело с судом!

Я просто твой хаб поставил протестировать работу определений стран и уже твой хаб удален из списка.

Автор: mariner 21.4.2011, 15:42

Цитата
Ты бы так не выражался бы, если не хочешь иметь дело с судом!

ОЛОЛО?

Автор: Damaks 21.4.2011, 17:27

Сенсей всё что-то делает, изменяет, пингует, а по адресу всё главная страница топсервера висит. Не клеется наверное.

Автор: alex82 21.4.2011, 17:47

Ksan

При отладке хаблиста я пинговал хабы из списка еще чаще. Если бы твой хаб был в списке во время отладки, я бы тоже оказался засранцем, идиотом, дебилом?

Автор: Ksan 21.4.2011, 20:03

alex82:
Ты так же тестировал кого попало? с такой же частотой?
И мне непонятно, почему ты его защищаешь? Он поступает заведомо неправильно, а ты его упорно пытаешься загородить...
Я тоже ставил Tiny, и тоже тестил. Но - когда тестил, я предупредил админов тех хабов, на ком тестил, плюс своих три хаба. Да и не так много раз и не с такой частотой! Всего пару-другую раз, может....и период был скорее полчаса..или больше.
Разницу чуешь?
Да и что там тестировать 30 раз по 1 минуте? Он что, с такой скоростью решает проблемы и их так много?
Просто тупо добавляет по 1 хабу и сразу же перезапускает, добавляет и снова перезапуск...
Тупо же?

Автор: Артём 21.4.2011, 20:05

хорошо что я давным давно отключил показ о пингах super_man.gif

Автор: Saymon21 21.4.2011, 20:14

Цитата
Ты так же тестировал кого попало?

Мой хаб попал под это тестирование. И я об этом узнал тогда, когда попробовал зайти по айпи. big_smile.gif

Автор: Sinsei 22.4.2011, 17:02

Все чужие хабы я удалил из списка так что больше не кого беспокоить пингер не будет.

Цитата
Сенсей всё что-то делает, изменяет, пингует, а по адресу всё главная страница топсервера висит. Не клеется наверное.


Если заходишь по IP адресу, то и будет только станица топсервера.

Автор: Damaks 23.4.2011, 16:28

Иконки хабсофта (PNG 16х16)



Как добавить, http://mydc.ru/index.html?showtopic=4811&view=findpost&p=38671 Saymon21.

 soft_img.rar ( 5.58 килобайт ) : 32

Автор: KauH™ 23.4.2011, 17:04

можно ли вместо файла GeoIP.dat брать информацию из своего файла/базы с адресами ?
тоесть вместо отображения из какой страны хаб выводилось бы название сетки

Автор: Saymon21 23.4.2011, 17:26

ну CustomLocations, ток пилить модуль

Автор: Damaks 24.4.2011, 14:56

Проблемы с использованием пингера появились там, откуда мы не подозревали. А конкретно, от малограмотности мега-Одминов

Логи с одного локального хаба

[2011-04-24 15:33] <landlord> здравствуйте. смените или настройте свой клиент пожалуйста, он постонно шлет пинг хабу, даже когда вас нет на хабе
[2011-04-24 15:33] <Damaks> Меня нет. Приду - отвечу.
[2011-04-24 15:35] <Damaks> учи матчасть, это пингер хаьлиста http://mydc.ru/r/?http://dredddc.nxt.ru/hublistsvao.html
[2011-04-24 15:35] <Damaks> как тебя ещё одмином сделаи, Господи
[2011-04-24 15:35] <Damaks> С праздником, кстати
[2011-04-24 15:36] <landlord> ну во первых, учить меня не надо и грубить тоже
[2011-04-24 15:36] <landlord> это раз
[2011-04-24 15:36] <landlord> с праздником, это два
[2011-04-24 15:36] <Damaks> а три, опять будешь банить?
[2011-04-24 15:36] <landlord> в третьих пинг идет постоянно есть ты на хабе или нет тебя, это три
[2011-04-24 15:36] <landlord> буду бвнить
[2011-04-24 15:36] <Damaks> я ж тебе говорю, это пингер
[2011-04-24 15:37] <landlord> ты единственный, чей клиент пингует хаб, когда тебя нет
[2011-04-24 15:37] <Damaks> причём здесь я на хабе
[2011-04-24 15:37] <landlord> я понимаю что это пинг и зачем он нужен
[2011-04-24 15:37] <landlord> ты единственный с такой проблемой
[2011-04-24 15:37] <Damaks> пингер - это отедльная программа. Пингуют все хаблисты. Локальные пингую только я, в свао нет большк локальных пингеров
[2011-04-24 15:37] <landlord> каждые 10 мин пинг
[2011-04-24 15:37] <Damaks> вот и говорю, учи матчасть. На майдц хоть заглядывай
[2011-04-24 15:38] <Damaks> каждый 45 минут
[2011-04-24 15:38] <Damaks> остальные пингеры не мои, у моего ни dredddcping
[2011-04-24 15:38] <landlord> ну может и 45, но часто
[2011-04-24 15:38] <Damaks> *ник
[2011-04-24 15:38] <Damaks> а тебя это напрягает?
[2011-04-24 15:38] <landlord> а зачем тебе пинговать хаб я непойму?
[2011-04-24 15:39] <landlord> меня не напрягает просто зачем пинговать наш хаб?
[2011-04-24 15:39] <landlord> тебя на нем почти никогда нет
[2011-04-24 15:39] <Damaks> чтобы в хаблисте отображалось статус онлайн/офлайн, количество юзеров и шар
[2011-04-24 15:40] <Damaks> я чаще всего сижу только на голде. пингер работает на всех хабах свао, вне зависимости от количества юзерво на них. ссылку дал выше, можешь посмотреть
[2011-04-24 15:40] <landlord> а чем пингуешь то? почему встроенной в винду командой нельзя?
[2011-04-24 15:40] <Damaks> это другой пинг, ё-моё, не путай
[2011-04-24 15:40] <landlord> на масерлинке мы тоже есть в списке
[2011-04-24 15:40] <landlord> *мастерлинке
[2011-04-24 15:41] <landlord> однако какими то левыми прогами никто не пингует
[2011-04-24 15:41] <landlord> ты один такой
[2011-04-24 15:41] <Damaks> голд 5 хаблистов пингуют раз в 30-60 минут, ничего страшного
[2011-04-24 15:41] <Damaks> отключи оповещения, от них толку ноль
[2011-04-24 15:41] <landlord> только логи засоряешь
[2011-04-24 15:42] <Damaks> тут читай http://mydc.ru/topic4811.html
[2011-04-24 15:42] <landlord> а список кстати очень маленький
[2011-04-24 15:42] <Damaks> есть что добавить?
[2011-04-24 15:42] <landlord> есть
[2011-04-24 15:42] <Damaks> пиши, ссылки мне проходят
[2011-04-24 15:42] <landlord> не пингуй больше
[2011-04-24 15:43] <Damaks> ты мне минусы пинга объясни, почему не хочешь. Честно, интересно
[2011-04-24 15:43] <landlord> есть стандартные программы, которыми это все делается
[2011-04-24 15:43] <Damaks> это другой пинг, я тебе писал уже
[2011-04-24 15:43] <Damaks> у тебя каша в голове
[2011-04-24 15:43] <landlord> я понял что другой
[2011-04-24 15:43] <Damaks> читай ссылку, я тебе написал
[2011-04-24 15:44] <Damaks> там найдёшь ответы
[2011-04-24 15:44] <landlord> минус в том чтологи от этого засоряются
[2011-04-24 15:44] <Damaks> о, раз в 45 минут? а что ещё в этих логах?
[2011-04-24 15:44] <landlord> все
[2011-04-24 15:44] <Damaks> так отключи информирование о пинге
[2011-04-24 15:44] <Damaks> у меня в чат идёт
[2011-04-24 15:45] <landlord> http://mydc.ru/r/?http://dc.masterlink.ru/rating/rating
[2011-04-24 15:45] <landlord> вот пожалуйста
[2011-04-24 15:45] <landlord> без использования всяких левых программ
[2011-04-24 15:45] <Damaks> big_smile1.gif
[2011-04-24 15:45] <landlord> и список горааааздо больше чем у тебя
[2011-04-24 15:45] <Damaks> можно я логи выложу на майдц для смеха?
[2011-04-24 15:46] <Damaks> а, список с 100 неработающими хабами? о да, это супер-список
[2011-04-24 15:46] <landlord> да выкладывай, просто задолбал спам который с твоего адреса в чат идет
[2011-04-24 15:46] <Damaks> лады, уберу вас из списка big_smile1.gif
[2011-04-24 15:46] <landlord> отличненько
[2011-04-24 15:47] <landlord> будешь выклвдывать на mydc.ru ник смени
[2011-04-24 15:47] <Damaks> Меня нет. Приду - отвечу.
[2011-04-24 15:47] <Damaks> чего стесняешься? ты же всё по делу сказал
[2011-04-24 15:48] <landlord> это мое право
[2011-04-24 15:48] <Damaks> не, это моё право
[2011-04-24 15:48] <landlord> мде
[2011-04-24 15:48] <Damaks> ты можешь свои логи выложить
[2011-04-24 15:49] <landlord> мы в kc вроде говорим а не в общем чате
[2011-04-24 15:49] <landlord> *в лс
[2011-04-24 15:49] <Damaks> да, в моём лс и я участвую в разговоре
[2011-04-24 15:49] <landlord> так что будь добр
[2011-04-24 15:49] <landlord> помимо тебя учавствую и я
[2011-04-24 15:49] <Damaks> отстань
[2011-04-24 15:50] <landlord> вобщем я все написал
[2011-04-24 15:50] <landlord> используй какой то другой софт
[2011-04-24 15:50] <landlord> мы во многих списках есть
[2011-04-24 15:50] <Damaks> убрал вас из списка, успокойся
[2011-04-24 15:50] <landlord> однако тока на тебя реагирует хаб
[2011-04-24 15:50] <landlord> хз почему
[2011-04-24 15:50] <Damaks> да-да, верю

Хаб не скажу, дабы хозяйка не краснела за свой персонал big_smile.gif

Автор: Ksan 24.4.2011, 19:18

Request:
-- Хорошо бы добавить возможность подмены ссылки на локалхаб (хаб, стоящий на том же сервере, где и хаблист) на внешнюю ссылку, а то он получается единственным хабом в списке, к которому не подключишься по ссылке из таблицы.
Мне пришлось к названию хаба добавить в скобках ссылку на хаб, чтоб хоть как-то показать реальную ссылку на него.

Автор: mariner 24.4.2011, 19:46

Цитата
А конкретно, от малограмотности мега-Одминов

Тю, нашел на что обижаться))

Автор: Damaks 24.4.2011, 20:46

Цитата(mariner @ 24.4.2011, 20:46) *
Тю, нашел на что обижаться))

Ну да, обидно. Трудишься, несёшь людям добро, а тебя ни с того ни с сего чуть ли не Карабасом-Барабасом считают.

Автор: Hammer 5.5.2011, 12:38

Больше не будет всяких ништяков для хаблиста?

Автор: Saymon21 5.5.2011, 14:47

Ну а что надобно то? big_smile.gif

Автор: Hammer 6.5.2011, 0:36

Ну максимальное количество пользователей за всё время. А то этого не хватает. Да и желательно что-бы можно было добавлять хабы с сайта. Можно так сделать?

Автор: Saymon21 6.5.2011, 0:39

Можно. Но переведи на русский слово Tiny

Автор: Hammer 6.5.2011, 9:54

Я знаю. Но всё таки можно же сделать это. Я бы сам сделал. Но таких знаний нет :(

Автор: Alexey 6.5.2011, 13:13

Если очень захотеть — можно в космос полететь!

Автор: Damaks 11.5.2011, 13:57

Сегодня после нажатия на кнопку icq на трекере nnm меня неожиданно предупредил файер:

Цитата
tinyhublist.exe Исходящее TCP-соединение по адресу 217.78.180.129:4111

Что бы это могло быть?

Автор: Saymon21 13.5.2011, 23:52

http://mydc.ru/r/?http://hublist.hub21.ru/beta/ Сделал ещё одну плюшку, теперь у каждого хаба есть своя страничка http://mydc.ru/r/?http://hublist.hub21.ru/beta/hubid_1.html big_smile.gif
Сейчас в планах приделать рекорды юзеров, шары на каждый хаб и конечно MySQL big_smile.gif

upd: рекорды есть.
upd2: Статистика по странам и по софту. на базу GeoIP забил. Теперь использована IP2Country

Автор: Hammer 14.5.2011, 20:54

Цитата(Saymon21 @ 14.5.2011, 0:52) *
http://mydc.ru/r/?http://hublist.hub21.ru/beta/ Сделал ещё одну плюшку, теперь у каждого хаба есть своя страничка http://mydc.ru/r/?http://hublist.hub21.ru/beta/hubid_1.html big_smile.gif
Сейчас в планах приделать рекорды юзеров, шары на каждый хаб и конечно MySQL big_smile.gif

upd: рекорды есть.
upd2: Статистика по странам и по софту. на базу GeoIP забил. Теперь использована IP2Country


Когда выложишь в открытый доступ? Или его не будет?

Автор: Saymon21 14.5.2011, 21:05

Не знаю пока big_smile.gif Да и вообще, писать там много не надо big_smile.gif

Автор: Hammer 14.5.2011, 21:11

Ну можешь код выложить? Были бы знания которые нужны. Я бы сделал. Но таких знаний нет :(

Автор: Saymon21 14.5.2011, 21:15

Ну и какраз появятся. Достаточно захотеть ;) Насчёт выкладывать пока не знаю. Мб позже.

Автор: Underconstruction 15.5.2011, 2:36

Hammer, ну ты нашел что просить)) Тут же себе цену многие не сложат,им лучше отправить тебе маны читать big_smile.gif 90% даже ответить по-нормальному не могут. Либо ты у них "нуб",мягко так говоря,либо того хуже...Только дай повод big_smile.gif

Комментить тупыми поводами не надо. Сделал вывод с ваших ответов юзерам.

Автор: mariner 15.5.2011, 9:14

Всегда есть причины. Тут есть юзеры, которые наоборот считают, что местные модераторы чем-то им обязаны и требуют от них чудес. Чуть ли не настроить им хаб, чтобы они палец о палец не ударили, а потом еще и объяснить как все это работает.

Автор: Saymon21 15.5.2011, 12:22

Да правильно сказал mariner. Таких людей много, которые даже самые простые вещи не хотят делать для своих ресурсов, хотят только всё готовое, а берут так бывает даже удаляют копирайты. В связи с этим, мы и хотим чтобы вы хотябы самое простое делали сами. В конце концов, вы админы или кто?

>>Либо ты у них "нуб"
Админу не нужно быть нубом.

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

Код
local page_id =0
for _,v in ipairs(hubs) do
    page_id = page_id +1
         local id_header,row2,footer2
        local f3 = io.open(path.."themes/hubs_page.tpl")
        local page_idf = io.open("/var/www/hublist.hub21.ru/beta/hubid_"..page_id..".html?#34;,"w+")
        if page_idf then
            if f3 then
            id_header,row2,footer2 = f3:read("*a"):gsub("{SITENAME}",(
            tCfg.SiteName:gsub("%%","%%%%"))):gsub("{HUBNAME}",v.Info.Name and v.Info.Name:htmlescape():gsub("%%","%%%%") or v.Addr):match("(.*){ROW_BEGIN}(.*){ROW_END}(.*)")
            f3:close()
            end
        end
    if id_header then
        page_idf:write(id_header)
    end
    page_idf:write((row2
        :gsub("{ROWSTYLE}",even and "even" or "odd")
        :gsub("{ID}",page_id)
        :gsub("{STATE}",v.Info.Online and "online" or "offline"))
---- Читаем информацию о пингере, и пишем что нужно на страничке. Или смотрим на предыдущий цикл создания главной странички.
        if footer2 then
            page_idf:write(footer2,"\n<!-- Tiny Hublist ",_version," by alex82 -->")
        end
        page_idf:close()
end

В папке themes создаём файл hubs_page.tpl это и будет оформление странички.
/var/www/hublist.hub21.ru/beta/hubid_"..page_id..".html это и будет персональной страничкой хаба. Путь разумеется нужно переписать на свой.

Что сложного? Вроде ничего. Самый простой метод.
С библиотекой IP2Country: Она есть на форуме, я её тоже не придумывал. Её я использовал взяв http://mydc.ru/topic2937.html?view=findpost&p=38859. Статистика по странам и софту, буквально 40 строк кода, ну у меня так вышло, в котором 4 цикла и 2 условия, + функция сортировки. Сложного ничего нет. Тут тоже достаточно взять скрипт CountryStats от alex82, ведь там как раз есть то, что нам нужно для статистики, и взять себе в качестве примере не запрещено вроде как.
Захотеть так понять не сложно.
Выкладывать я не хочу по причине того, что я там начал не только это делать, а ещё несколько вещей. Которые написаны всего лишь частично. Получается "сырая" и полу не рабочая модификация. Зачем такое выкладывать?

Автор: Alexey 15.5.2011, 13:59

90% даже свои мысли изложить по-нормальному не могут.

Автор: Ksan 29.8.2011, 16:44

alex82, давно собираюсь да никак не находил момент сказать...вот добрался: Тинихаблист не может правильно пинговать хаб на Open DC hub (ну есть один такой хаб у нас в городе big_smile.gif ).. Пинугет, но как-то странно - из кучи народа хаба видит только 1-3 человека и соответственно столько же шары. Странно это.

Автор: alex82 30.8.2011, 2:24

Ksan

Адрес хаба можно?

Автор: Ksan 30.8.2011, 3:01

Ты туда не попадёшь, пожалуй.. dchub://avtf.net:411
Это общажный хаб.

Автор: Saymon21 30.8.2011, 15:08

Ну в таком случае, Ksan, скажи какая версия там стоит. Кто ни линуксе, поставим у себя софт для науки. big_smile.gif
Как я помню, он только на никсы.

Автор: Ksan 30.8.2011, 15:39

Цитата
[19:38:27] <Hub-Security> This hub is running version 0.8.2 of Open DC Hub.

Стоит на ФриБСД. big_smile.gif

Автор: Alexey 30.8.2011, 15:57

Вроде проходили уже — этот хаб не поддерживает команды http://mydc.ru/r/?http://wiki.mydc.ru/$BotINFO_/_$HubINFO и http://mydc.ru/r/?http://wiki.mydc.ru/$Supports.

Автор: Ksan 30.8.2011, 17:51

Я не проходил. И он стоит не у меня. Я с Опеном никогда не имел дела.

Автор: NoviX 4.11.2011, 19:38

Автору огромнейшие спасибо!

А вот копирайты с сыллками поменять не мешало бы, иначе для чего показывать где я взял хаблист?

как убрать или замените на без ссылок, что бы небыло переходом на источник. Плиззз...

Автор: Saymon21 4.11.2011, 19:40

NoviX, Нельзя копирайты убирать!

Автор: NoviX 4.11.2011, 19:48

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

не коперайты а ссылки бы убрать а надписи конечно о создателе пускай будут.

Автор давайте что-нибудь с этим сделаем?!

Автор: Ksan 4.11.2011, 20:04

NoviX:

Цитата
плохо, плохо то что найдется какойнибудь алелеша в сети который обязательно вывернит все и будут хаблисты как гребы.

А по мне так ты как раз один из таких алелеш-грЕбов..

Автор: NoviX 4.11.2011, 20:31

Цитата(Ksan @ 4.11.2011, 21:04) *
NoviX:

А по мне так ты как раз один из таких алелеш-грЕбов..


Ты ошибаешься! я хотел на сайте вставить хаблис, нашел в интернете т.к. сам не обладаю способностями сделать такое. Если я видел бы хоть один такой у нас точно бы не повторил.


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

Автор: Ksan 4.11.2011, 20:32

iOAN, ну и чем другие хуже тебя?
Кто судья?

Автор: iOAN 4.11.2011, 20:38

хз-хз-хз..

Ушел в глубоких раздумьях. extreme_sexy_girl.gif

Автор: KT315 6.11.2011, 16:26

Наверное, стоило отписаться в теме про пингер.
Пробовал несколько пингеров (php, с++) и серверов регистрации хабов (perl), все не то.
Запилил в пириноговой локальной сети и подружил с MySQL. Отлично работает. Спасибо за пингер!

Автор: CrazyKiller 13.12.2011, 1:57

Кто подскажет в чём проблема.

в общем при режиме ( HTMLFilter = 2, -- Какие хабы будут сохранены в HTML-список ) выдаёт ошибку постоянно, в ввиде:

Код
INFO: Starting tinyhublist.lua (pid 10889)
ERROR: tinyhublist.lua:319: attempt to index global 'hub' (a nil value)
INFO: Stopping tinyhublist.lua


Строка в Тини скрипте:

Код
local r,e = ftp.put{host = tFtp.Host, port = tFtp.Port, user = tFtp.User, password = tFtp.Pass, path = tCfg.File, source = ltn12.source.file(f)}


Дистрибутив Линукс Убунту 10.10 лтска есесна big_smile.gif

Выручите пожалуйста ?

Автор: Saymon21 13.12.2011, 7:46

Цитата
Линукс Убунту 10.10 лтска

С каких таких пор?

Автор: CrazyKiller 13.12.2011, 10:08

ойййй, сориии, 10.04 ))))

поздно ночью писал после работы, под устал big_smile.gif

Автор: dj hoodo 19.12.2011, 4:24

ХМ.. а как ты его на Linux запускаешь? оно вроде под вин32...

Автор: Alexey 19.12.2011, 4:56

Тебе наврали.

Автор: dj hoodo 20.12.2011, 5:21

Таки да, работает...
А я только глянул в стартпост, увидел вин32 и не стал качать...
Оказалась хорошая весчь baffle.gif
Прикрутил пока к сайту, (слегка напильником обработал) - посмотрим как оно будет работать... Ато предыдущий криво пинговал некоторые хабы

UPD

Ну вроде все ровно still_dreaming.gif Спасибо автору и тем кто добавлял по ходу темы.
Но есть не большие неровности:
1 Явно инетные хабы опредиляются как локальная сеть. В одном случае действительно хаб находился за NAT и имел адрес 10.***
Во втором случае еще не разобрался - домен резолвится на инет адрес но хаблист показывает лок сеть.
2 Добавил иконки хаб софта, но некоторые хабы отдают софт с версией и вместо картинки просто название YnHub 1.036.
А некоторые отдают прописными буквами . - в винде такое бы прокатило наверное Verlihub вместо VerliHub, но в линуксе не прокатывает.
можно конечно дописать (продублировать) эти значения в скрипт.. или есть другой вариант?



ну а так фсе пучком big_smile.gif

Автор: Enyby 21.12.2011, 8:41

Цитата(dj hoodo @ 20.12.2011, 4:21) *
Ато предыдущий криво пинговал некоторые хабы

Если речь о моей поделке, то можно было бы хотя бы сообщить что не так, в соответствующей теме.
Цитата(dj hoodo @ 20.12.2011, 4:21) *
1 Явно инетные хабы опредиляются как локальная сеть. В одном случае действительно хаб находился за NAT и имел адрес 10.***
Во втором случае еще не разобрался - домен резолвится на инет адрес но хаблист показывает лок сеть.

Переделать резолв с адреса хаба в его настройках, на адрес хаба, записанный в хаблисте.
Цитата(dj hoodo @ 20.12.2011, 4:21) *
2 Добавил иконки хаб софта, но некоторые хабы отдают софт с версией и вместо картинки просто название YnHub 1.036.

Предлагаю обрезать название до пробела. Должно хватить для однозначной идентификации.
Цитата(dj hoodo @ 20.12.2011, 4:21) *
А некоторые отдают прописными буквами . - в винде такое бы прокатило наверное Verlihub вместо VerliHub, но в линуксе не прокатывает.
можно конечно дописать (продублировать) эти значения в скрипт.. или есть другой вариант?

Привести все названия софта к нижнему регистру и проблем не будет.

Автор: dj hoodo 21.12.2011, 15:51

Цитата(Enyby @ 21.12.2011, 9:41) *
Если речь о моей поделке, то можно было бы хотя бы сообщить что не так, в соответствуюей теме.

Нет, пока что в твоем скрипте такой проблемы не было. Я какраз залил его на сервер и проверял на нем "проблемные" хабы из моего скрипта-
речь идет о этой поделке http://mydc.ru/topic2706.html . Он не мог пропинговать 2 хаба (Птоха). Дело может быть было в кривой настройке самих хабов. Т.К. остальные Птохи норм пинговались. Да в принципе вот http://mydc.ru/r/?http://dj-hoodo.triolan.com.ua/forum/showthread.php?goto=newpost&t=43 мы пытались решать проблему
Цитата(Enyby @ 21.12.2011, 9:41) *
Переделать резолв с адреса хаба в его настройках, на адрес хаба, записанный в хаблисте.

Не факт... разве адрес из настроек берется? Вот есть хаб- saltov.olvi.net.ua, с его пингом в нашей сети происходит вот что:
пинг
dj-hoodo@djhoodo:~$ ping saltov.olvi.net.ua
PING hub.olvi.net.ua (10.6.32.206) 56(84) bytes of data.
64 bytes from 10.6.32.206: icmp_req=1 ttl=124 time=1.22 ms
64 bytes from 10.6.32.206: icmp_req=2 ttl=124 time=1.83 ms
64 bytes from 10.6.32.206: icmp_req=3 ttl=124 time=1.61 ms
64 bytes from 10.6.32.206: icmp_req=4 ttl=124 time=0.872 ms
64 bytes from 10.6.32.206: icmp_req=5 ttl=124 time=2.89 ms
64 bytes from 10.6.32.206: icmp_req=6 ttl=124 time=0.875 ms
^C

перекидывает на ваш NAT .
И есть хаб dc-saltov.no-ip.org (159.224.37.225) но он тоже значится как локальный. Тоесть если в поле адрес, на хабе вбить ИП Амстердама, то хаблист будет так опредилять? У меня на хабе вбито 3 адреса...
Цитата(Enyby @ 21.12.2011, 9:41) *
Предлагаю обрезать название до пробела. Должно хватить для однозначной идентификации.

я пока не знаю как это делается. В LUA никогда ничо не пилил, хотя внешне он на ПХП похож...
Цитата(Enyby @ 21.12.2011, 9:41) *
Привести все названия софта к нижнему регистру и проблем не будет.

попробую покурить мануалов


Автор: Enyby 21.12.2011, 16:26

Цитата(dj hoodo @ 21.12.2011, 14:51) *
Нет, пока что в твоем скрипте такой проблемы не было.

Ок. Пиши если что - решать будем.
Цитата(dj hoodo @ 21.12.2011, 14:51) *
Он не мог пропинговать 2 хаба (Птоха). Дело может быть было в кривой настройке самих хабов. Т.К. остальные Птохи норм пинговались. Да в принципе вот http://mydc.ru/r/?http://dj-hoodo.triolan.com.ua/forum/showthread.php?goto=newpost&t=43 мы пытались решать проблему

Судя по всему пингер кривой и валится при каких-то условиях.
Цитата(dj hoodo @ 21.12.2011, 14:51) *
Не факт... разве адрес из настроек берется?
[...]
И есть хаб dc-saltov.no-ip.org (159.224.37.225) но он тоже значится как локальный.

Не знаю что откуда берется, но судя по работе именно оттуда. Вот смотри что там написано: http://mydc.ru/r/?http://inethub.olvi.net.ua/dc/hub.php?id=716
Цитата
192.168.1.55:411

Цитата(dj hoodo @ 21.12.2011, 14:51) *
Тоесть если в поле адрес, на хабе вбить ИП Амстердама, то хаблист будет так опредилять?

Будет Амстердам. А для невалидного, думаю, что никак не будет. Будет дефолтный вариант - "инет".
Цитата(dj hoodo @ 21.12.2011, 14:51) *
попробую покурить мануалов

Здесь на форуме Setuper выкладывал функцию StrToLower. Поищи.

UPD: Посмотрел код. Не берется оттуда адрес. Если это домен, то через DNS резолвится ip, а по нему из файла GeoIP.dat находится страна. Может этот адрес у тебя локальный, так как принадлежит Триолану?

Автор: dj hoodo 21.12.2011, 17:28

Цитата
А для невалидного, думаю, что никак не будет. Будет дефолтный вариант - "инет".

та есть дефолтный вариант - ХЗ тоесть

Там много Триолановских хабов... скорее всего глюк с самом GeoIP.dat ТК только 159.224.37.225 опредиляет как локальный

Автор: Mellon 27.12.2011, 11:06

Цитата(NoviX @ 4.11.2011, 20:38) *
Автору огромнейшие спасибо!

А вот копирайты с сыллками поменять не мешало бы, иначе для чего показывать где я взял хаблист?

как убрать или замените на без ссылок, что бы небыло переходом на источник. Плиззз...

К теме поздно подключился, как то тестировал данный хаблист, легко это убрал во время настройки и установки скрипта где то в коде - хоть в Lua и не разбираюсь. А так наверное и нет смысла обьяснять как это сделано ибо любой человек с опытом и кто захочет думаю снимет, а для тех кто может поменять и редактировать код ты просто нуб и им нет дело и времени до тебя порой даже будет предпочтительнее соврать и\или сказать что никак и я ничего незнаю, нежели тратить время...

Но за отдельную плату или ещё чегонибудь, может кто и согласиться, если очень надо можешь обратиться ко мне и если будет время и я решусь потратить ещё раз 5 мин на установку этого хаблиста то во время установки снему и отправлю тебе, копирайт снимать не стану а вот косметическе изменения можно произвести. Тебе не понравилось то что в низу есть надпись, мне она тоже помешала когда я делал ifreme в сайт по этому я её и снял тогда а потом создал линк в др части скрипта что бы не забыть о том кто его создал и о этой теме, но потом все же тупо снес локалхост вместе со скриптом и даже не вспомнил а "TinY" ед что запомнил...

Все же решился тебе помочь, так как щас делаю работу над своим хаблистом рассматриваю все остальные - скачал тину, не успев скачать распокавал, не успев рспокавать открыл каталог themes в в нём default.tpl в нём производить косметик изменения в самом конце нашёл строку
</td></tr><tr><td align="center" valign="bottom" class="copyright">Powered by <a href="http://mydc.ru/topic4811.html?quot; target="_blank"><b>Tiny Hublist</b></a>. © 2011 <a href="http://alex82.org.ua/" target="_blank">alex82</a></td></tr></table>
И что здесь сложного ? у меня даже тину не установлен и я толком не помню что там за то в течении 10сек нашёл тв
причем 3 написали что это нельзя сделать - это стёб над юзером ?

так же там есть default2.tpl значит скорее всего где то есть конфиг со стилями или определяющий стиль скрипта а может просто так разнообразные стили к тину, разбирайся сам что и от куда растет.


Что до копирайта, если даже снимешь 65 строку в стилях он там останеться - открыв например страницу http://mydc.ru/r/?http://xdn.msk.ru/tiny/hublist.html текстовым HTML редактором в самом конце можно найти
<!-- Tiny Hublist 1.02 by alex82 -->
Этот содержится в 261 строке
if footer then f:write(footer,"\n<!-- Tiny Hublist ",_version," by alex82 -->") end

Автор: Ksan 27.12.2011, 16:51

Mellon, хосспади, какое-то невнятное бормотание и бред сумасшедшего ты пишешь.
Может, просто промолчишь и за умного сойдёшь?
Никогда не поверю, что человек, пишущий ТАК, способен написать хоть 10 строк кода без ошибок, неважно на каком языке...если русским-то не владеет и логика дико страдает.

Автор: dj hoodo 27.12.2011, 23:21

Хм.. я специально оставил копирайты... Мне не жалко

Автор: Mellon 28.12.2011, 3:01

Цитата(Ksan @ 27.12.2011, 17:51) *
Mellon, хосспади, какое-то невнятное бормотание и бред сумасшедшего ты пишешь.
Может, просто промолчишь и за умного сойдёшь?
Никогда не поверю, что человек, пишущий ТАК, способен написать хоть 10 строк кода без ошибок, неважно на каком языке...если русским-то не владеет и логика дико страдает.

лол, человек пишущий такие посты за 7 сек, параллельно юзающий скрипт,молчал бы

Автор: mariner 28.12.2011, 8:46

Все-таки иногда лучше жевать, чем говорить. Кстати, где же извинения за клевету в мой и Enyby адрес?

Автор: Ksan 28.12.2011, 15:08

Цитата
лол, человек пишущий такие посты за 7 сек, параллельно юзающий скрипт,молчал бы

Опять несвязный бред.

Автор: Nickel89 10.12.2014, 8:32

Не работает база стран на линуксе

Автор: CyberGhost404 12.11.2024, 13:08

Привет всем. Может это уже и не актуально но все же спрошу.
Был хаблист такой на 16 убунте, с lua 5.1, работало все замечательно, но пришлось сменить сервер и тут уже 20.04 убунту и lua 5.1
Но при старте хаблиста, выскакивает ошибка:

Код
root@vps-8b9d3e59:~# lua5.1 /etc/ptokax/hublist/hublist.lua
Ping mich-forever.ru:411
lua5.1: /etc/ptokax/hublist/hublist.lua:53: attempt to index global 'socket' (a nil value)
stack traceback:
        /etc/ptokax/hublist/hublist.lua:53: in function </etc/ptokax/hublist/hublist.lua:47>
        /etc/ptokax/hublist/hublist.lua:131: in main chunk
        [C]: ?


Вот строки:

47-53:
Код
setmetatable(tDNS,{__index = function(t,k)
  if k and not rawget(t,k) then
    local ip
    if k:find("^%d+%.%d+%.%d+%.%d+$") then
      ip = k
    else
      ip = socket.dns.toip(k)


и 131:
Код
table.insert(hubs,{Addr = addr,Info = Ping(pingaddr,port),Time = os.time(),Country = tDNS[pingaddr] and tGeoIP[tDNS[pingaddr]] or "??"})



Если кто вкурсе, подскажите пожалуйста.