-- -- (C) 2017-20 - ntop.org -- local json = require "dkjson" local telemetry_utils = {} -- local TELEMETRY_URL = "http://192.168.2.131:8000/phptest.php" -- local TELEMETRY_URL = "http://192.168.2.131:8000" local TELEMETRY_URL = "https://telemetry.ntop.org/crash.php" local TELEMETRY_TIMEOUT = 3 local TELEMETRY_ENABLED_KEY = "ntopng.prefs.send_telemetry_data" local TELEMETRY_RECORDS_SENT = "ntopng.cache.telemetry_data_sent" local TELEMETRY_MAX_NUM_RECORDS = 5 function telemetry_utils.telemetry_enabled() local tm = ntop.getPref(TELEMETRY_ENABLED_KEY) return tm == "1" end function telemetry_utils.telemetry_disabled() local tm = ntop.getPref(TELEMETRY_ENABLED_KEY) return tm == "0" end function telemetry_utils.notify(obj) if telemetry_utils.telemetry_enabled() then local mail = ntop.getPref("ntopng.prefs.telemetry_email") if isEmptyString(mail) then mail = nil end local msg = {data = obj, mail = mail, timestamp = os.time()} local encoded_msg = json.encode(msg) local res = ntop.httpPost(TELEMETRY_URL, encoded_msg, nil, nil, TELEMETRY_TIMEOUT, true) if res and res["RESPONSE_CODE"] == 200 then ntop.rpushCache(TELEMETRY_RECORDS_SENT, encoded_msg, TELEMETRY_MAX_NUM_RECORDS) end end end local function dismiss_notice() local dism = ntop.getPref(TELEMETRY_ENABLED_KEY) return not isAdministrator() or dism ~= "" end function telemetry_utils.notice_msg() print(i18n("about.telemetry_data_opt_out_msg", {url=ntop.getHttpPrefix() .. "/lua/admin/prefs.lua?tab=telemetry", tel_url=ntop.getHttpPrefix().."/lua/telemetry.lua", ntop_org="https://www.ntop.org/"})) end function telemetry_utils.show_notice() if not dismiss_notice() and (not _SERVER or not _SERVER["URI"]:match("/lua/admin/prefs.lua")) then print('
| ]] print(i18n("telemetry_page.send_telemetry_data")) print [[ | ]] if telemetry_utils.telemetry_enabled() then print(''..i18n('prefs.telemetry_contribute')..'') elseif telemetry_utils.telemetry_disabled() then print(''..i18n('prefs.telemetry_do_not_contribute')..'') else -- no preference expressed print(''..i18n('telemetry_page.telemetry_data_no_consent')..'') end if isAdministrator() then print[[ (]] print(i18n("telemetry_page.telemetry_data_change_preference", {url = ntop.getHttpPrefix().."/lua/admin/prefs.lua?tab=telemetry"})) print[[)]] end print[[ |
|---|---|
| ]] print(i18n("telemetry_page.telemetry_data")) print [[ |
]] print(i18n("telemetry_page.crash_report")) print[[. ]] print(i18n("telemetry_page.crash_report_descr", {product=ntop.getInfo()["product"]})) print [[{"entity_type":1,"type":20,"when":1558634220,"entity_value":"ntopng","message":"Started after anomalous termination (bug report) ]] print(info.product) print[[ v.]] print(info.version) print[[ (]] print(info.OS) print[[[pid: 28775][options: --interface \"tcp://*:1234c\" --interface \"eno1\" --interface \"view:tcp://*:1234c,eno1\" --local-networks \"192.168.2.0/24\" --disable-login \"1\" ]","severity":2}
|
| ]] print(i18n("telemetry_page.last_data_sent")) print[[ | ]]
for i, msg in ipairs(transmitted_data) do
if msg then
print(noHtml(msg).." |