Перейти к содержимому
SDV

Библиотека мониторинга lua-программ в реальном времени

Рекомендуемые сообщения

Так и должно быть (см. кол-во строк)?

 

 

PXATfwA.png

 

 

 

P. S. Только заметил (см. вр. обн.). При удалении токена в лог сыпятся ошибки стэктрейсовые (не успел разглядеть). Что-то в пхп напортачено.

 

P. P. S. Лучше для публичных токенов делать указываемое ИМЯ, а не использовать название токена заместо него. email легко узнать, я бы сказал, СЛИШКОМ легко.

Не понял в смысле ИМЯ, а не название? Шило на мыло? А кто сказал что надо ставить свой реальный e-mail. Вот молодец @@LeshaInc,он указал "левый".

Вообще почта это как типа логин и пасс, только пасс это у нас токен, а логин - email. Поэтому чтобы не взломали лучше указывать не реальную почту, а какую-нибудь фейковую, которую конечно потом можно вспомнить.

А то Вы я смотрю любите @computercraft.ru :)

 

А то что ты видел в логе при удаление, это ответ AJAX-а на то что он не нашел файл, который удалился, т.к. страница дольше перезагружается чем AJAX пришел ответ (КЭП).

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так могла бы выглядеть страница настройки токена

 

 

qtYNtqA.png?1

 

 

Изменено пользователем LeshaInc

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так могла бы выглядеть страница настройки токена

 

 

qtYNtqA.png?1

 

 

Пожалуйста monitoring-LeshaInc.c9.io ждет Вас.

Я жду от Вас реального сервиса, а не просто скрины.

 

P.S. Вы, @LeshaInc, мне напоминаете @cyber01. Он тоже постоянно говорил про всякие разработки (особенно веб), что это типа ерунда и есть аналоги, зачем писать велосипед.

Но после, в ЛС @cyber01 объяснил мне все о своем отношении ко всем разработкам.

Теперь Вы стали тут показывать что то что создают игроки это ерунда и мое лучше (хотя заметите это не вы придумали изначально).

Так что давайте покажите и докажите что Ваш сервис лучше чем мой, а не прикладывайте просто скрины.

И посмотрим как Ваш сервис будет отображать информацию о том что роботу срочно нужны криперовы какашки чтобы заделать лаву :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пожалуйста monitoring-LeshaInc.c9.io ждет Вас.

Я жду от Вас реального сервиса, а не просто скрины.

 

P.S. Вы, @LeshaInc, мне напоминаете @cyber01. Он тоже постоянно говорил про всякие разработки (особенно веб), что это типа ерунда и есть аналоги, зачем писать велосипед.

Но после, в ЛС @cyber01 объяснил мне все о своем отношении ко всем разработкам.

Теперь Вы стали тут показывать что то что создают игроки это ерунда и мое лучше (хотя заметите это не вы придумали изначально).

Так что давайте покажите и докажите что Ваш сервис лучше чем мой, а не прикладывайте просто скрины.

И посмотрим как Ваш сервис будет отображать информацию о том что роботу срочно нужны криперовы какашки чтобы заделать лаву :D

Ждите дальше. Проект находится на стадии активной разработки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не знаю чем я тебя так зацепил, но сервис прикольный получился :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не знаю чем я тебя так зацепил, но сервис прикольный получился :)

Теперь ничем :)

Раньше был плохо мнения о тебе. Но времена меняются.

Теперь лавры первенства походу перешли к @LeshaInc :D

 

P.S. Спасибо за оценку. Делал на скорую руку как мог :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Конструктивный оффтоп (как мы все любим).

Понеслась.


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

Хотя, конечно, можно придерживаться правила вроде "главное — работает" (что, собственно, я обычно и делаю, если большего не требует никто и ничто). Но в данном случае, повторюсь, нет ни слова про ужасную работу. Просто предложение.


Штуке чертовски не хватает отдачи команд пользователем с веб-морды. Помещать в буфер команды с веб-интерфейса и на либе делать команду .read(), которая возвратит строку и удалит из буфера. То бишь, сокет на прослушивание команд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Штуке чертовски не хватает отдачи команд пользователем с веб-морды. Помещать в буфер команды с веб-интерфейса и на либе делать команду .read(), которая возвратит строку и удалит из буфера. То бишь, сокет на прослушивание команд.

Думаешь я не думал об этом.

Но как заставить OC "слушать" сервер. Он может только отправлять запросы и получать на них ответ.(или делать while на постоянную отправку запроса на файл на сервере который будет содержать команду и выполнять ее через shell.execute).

Пока что логику и структуру этого RCON для OC я не придумал. Если есть реально практическая реализация (код в частности для OC), то я буду этому рад.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Думаешь я не думал об этом.Но как заставить OC "слушать" сервер. Он может только отправлять запросы и получать на них ответ.(или делать while на постоянную отправку запроса на файл на сервере который будет содержать команду и выполнять ее через shell.execute).Пока что логику и структуру этого RCON для OC я не придумал. Если есть реально практическая реализация (код в частности для OC), то я буду этому рад.

Ну у меня есть идея на этот счёт. Но я её тебе не скажу. :P

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Думаешь я не думал об этом.

Но как заставить OC "слушать" сервер. Он может только отправлять запросы и получать на них ответ.(или делать while на постоянную отправку запроса на файл на сервере который будет содержать команду и выполнять ее через shell.execute).

Пока что логику и структуру этого RCON для OC я не придумал. Если есть реально практическая реализация (код в частности для OC), то я буду этому рад.

Так ведь нам не нужна эта фоновая прослушка сообщений с сокета! Приведу пример кода под ОС, правда, не тестил, ибо в эмуляторах нет инета =\

 

local ADDR = "monitoring-tuxshot.c9.io/"
local sock = inet.connect(ADDR .. "read.php") -- Создание сокета

repeat                     -- Ожидание подключения
  os.sleep(.1)             -- к скрипту
until sock.finishConnect()

-- Придётся использовать авторизацию.
local gemail, gtoken --, password (если будет)
local connected = false

-- ...несколько строк опущено... --

function monitoring.read(email, token)
  if (type(email) ~= "string" or type(token) ~= "string") and not (gemail and gtoken) then
    return nil, "email and/or token not set, or wrong type"
  end
  if gemail == nil then gemail = email end
  if gtoken == nil then gtoken = token end

  if gemail == nil then return nil, "email not set" end
  if gtoken == nil then return nil, "token not set" end
  if not connected then
    sock.write("auth", gemail, gtoken)
    local resp = sock.read()
    if resp == "OK" then
      connected = true
      return true
    end
    return nil, resp
  end
  return sock.read()       -- Чтение из сокета через АПИ инет-карты **НЕ блокирует**
                           -- исполнение программы.
end

-- Можно дополнить функцией показа данных авторизации.
function monitoring.getUser()
  return gemail, gtoken
end

-- При работе с сокетами через АПИ инет-карты создаётся некий "стэк" сообщений
-- с сервера. При каждом обращении .read() этот стэк обновляется, заполняясь
-- **_построчно_**. Таким образом, если при обновлении в стэке пришли две строки,
-- то первый вызов .read() возвратит первую строку, второй же — вторую, и т. д.
------
-- Тем не менее, можно сделать иначе, через внутренний листенер сообщений.
-- Код короче, но возможна потеря данных на os.sleep().

-- Код сверху до ф-ии monitoring.read();

local event = require("event")
local comp = require("computer")

local function read()         -- Внутренняя функция => локальная.
  local data = sock:read()
  if data ~= nil or data ~= "" then
    comp.pushSignal("monitor_data", data)
  end
end

function monitoring.auth(email, token)
  if not connected then
    gemail, gtoken = email, token
    sock.write(gemail, gtoken)       -- Проверка на стороне сервера
    local resp = sock.read()
    if resp == "OK" then
      connected = true
      event.timer(.5, read, math.huge) -- В фон ставим на бесконечность работу read()
      return true
    end
    return false
  end
  return nil, "already logged in"
end
Повторюсь, не тестил. Писал наобум, код ужасный, особенно в первом примере, нужно переписать по-человечески.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну у меня есть идея на этот счёт. Но я её тебе не скажу. :P

:без комментариев:

:facepalm.jpeg:

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

Ну так на глаз я посмотрел практически понял мысль (хм, хотя с сокетами и не работал).

Не знаю если хватит времени попробую сделать что-нибудь.

Кстати а где в коде вообще POST запросы? Что пых должен обрабатывать какие параметры? Я кроме inet.connect из интернет-сетевого не понял.

Ну у меня есть идея на этот счёт. Но я её тебе не скажу. :P

Вообще, создай свою тему и "показывай свой знания" в своей теме.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну так на глаз я посмотрел практически понял мысль (хм, хотя с сокетами и не работал).

Не знаю если хватит времени попробую сделать что-нибудь.

Кстати а где в коде вообще POST запросы? Что пых должен обрабатывать какие параметры? Я кроме inet.connect из интернет-сетевого не понял.

Придётся писать отдельный скрипт read.php, который будет работать с сокетами. Принимать команду "auth" с параметрами email, token. Возвращать OK при успешной авторизации и любую ошибку в противном случае. А дальше уже от реализации. Нужно с дашборда все сообщения переносить на этот read.php, который в свою очередь будет отправлять полученное на клиент (простого сенда хватит).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Придётся писать отдельный скрипт read.php, который будет работать с сокетами. Принимать команду "auth" с параметрами email, token. Возвращать OK при успешной авторизации и любую ошибку в противном случае. А дальше уже от реализации. Нужно с дашборда все сообщения переносить на этот read.php, который в свою очередь будет отправлять полученное на клиент (простого сенда хватит).

Ладно разберемся, надо маны почитать по апишкам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

OCMonitor

by LeshaInc

 

Не все готово, а в частности настройки, консолька и статистика, но выглядит уже круто. (Ссылочка прилаагется)

 

 

nXae89J.png?1

feNJOtK.png?1

2OZLybh.png?1

1KovFKx.png?1

7jQqtzu.png?1

933pqHn.png?1

 

 

 

Посмотреть можно тут: https://monitor-includeralex.c9.io

Посмотреть на код (или помочь) можно тут: https://ide.c9.io/includeralex/monitor

 

PS: Я серьезно, статистика, консоль и настройки не работают. Не надо писать мол не доделал, не доделал. Я просто показываю то, что уже сделал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

OCMonitor

by LeshaInc

 

Не все готово, а в частности настройки, консолька и статистика, но выглядит уже круто. (Ссылочка прилаагется)

 

 

nXae89J.png?1

feNJOtK.png?1

2OZLybh.png?1

1KovFKx.png?1

7jQqtzu.png?1

933pqHn.png?1

 

 

 

Посмотреть можно тут: https://monitor-includeralex.c9.io

Посмотреть на код (или помочь) можно тут: https://ide.c9.io/includeralex/monitor

 

PS: Я серьезно, статистика, консоль и настройки не работают. Не надо писать мол не доделал, не доделал. Я просто показываю то, что уже сделал.

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

Сказываются разные css-фрейморки (у меня bootstrap).

 

Но вот это и как раз минус.

Честно признайся @LeshaInc, ты по своей сути сделал только веб-обязку (ПЫХ-ПЫХную) и тупо натянул на нее готовый шаблон Семантики.

От тебя требовалось всего ничего. И жаль что нет формы генерации токена, одни input-ы на сайте.

 

И вопрос - а где клиент для OC? :blink: А то как посмотреть как будет робот говорить что ему нужны ресы для заделывания дыры?

 

Пока что Ваше творчество сделано на 50%.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...

1. Почему то что используется CSS фреймворк — минус? И это вовсе не готовый шаблон. Я взял обычную семантику и с помощью неё сверстал сайтик. Никаких шаблонов.

 

2. Я же специально для таких как ты написал, мол не доделано. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Началооооось... :facepalm:

Опять друг дурга поливать будете дёгтем? Просто возьмите и объединитесь.

ТаксШотовым вариантом я вряд ли вообще буду пользоваться до того, как там появится нормальный пароль и управление токенами централизованное (вы мне предлагаете между двумя токенами в двух браузерах вообще бегать?). Лёшиным я вообще не смогу воспользоваться, так как это нефункциональные картинки цветные (фейковые игрушки для дошкольников).

А своими недоделками не спамьте, @@LeshaInc.

 


 

Самым лучшим вариантом мониторинга была бы отправка КОНТЕНТА в виде HTML на страницу, с заголовками ещё, может, там. И шаблон дефолтный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ТаксШотовым вариантом я вряд ли вообще буду пользоваться до того, как там появится нормальный пароль и управление токенами централизованное (

Ваше право. Вообще то я просто показал наработку.

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

 

Просто возьмите и объединитесь.

Я всегда открыт к диалогу, но вот готов ли @LeshaInc к этому?

Я вот именно ничего как поливания меня дегтем от него больше не увидел (он лишь показал что его разработка лучше и все).

Изменено пользователем TuxShot

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я всегда открыт к диалогу, но вот готов ли @LeshaInc к этому?

Я всегда готов к диалогу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я всегда готов к диалогу.

Ну давай объединяться в коллаборейшн.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...