Pakon webUI in Safari - Failed to load data


#1

Zdravim,
nevim absolutne co delam spatne, ale po upgradu na Turris OS 3.10 jsem sel zkusit ono webUI Pakone, ale jediny co dostanu je:

Konzolovy pakon-show normalne funguje.

Odlisnosti: Mam SDD a nechal jsem ho pres STORAGE namountit na /srv (1. Obsah /srv nakopirovan na USB flashku, protoze interni SSD disk uz byl za pomoci symlinků z /mnt/SSD uz na to pouzit. 2. Pouziti interniho SSD na /srv 3. Vraceni obsahu z USB flashky zpet na /srv).
Protoze mi webUI pakone nechodilo, tak jsem pro sichr provedl uplny reinstall vseho co ma v nazvu pakon (foris-controller-pakon-module foris-pakon-plugin suricata-pakon pakon-lists pakon). Ve fazi odinstalace jsem smazl veskery obsah /srv/pakon a /srv/suricata.

Ve fazi nove instalace mam malou vsuvku: Nemyslim si ze je uplne v poradku kdyz cista instalace pakone provede toto:

root@omnia:/# opkg install pakon
Installing pakon (1.2-3) to root...
Downloading https://repo.turris.cz/omnia/packages//turrispackages/pakon_1.2-3_mvebu.ipk
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13012  100 13012    0     0   235k      0 --:--:-- --:--:-- --:--:--  244k
Installing suricata-pakon (1-4) to root...
Downloading https://repo.turris.cz/omnia/packages//turrispackages/suricata-pakon_1-4_mvebu.ipk
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 23674  100 23674    0     0   366k      0 --:--:-- --:--:-- --:--:--  372k
Installing pakon-lists (4) to root...
Downloading https://repo.turris.cz/omnia/packages//turrispackages/pakon-lists_4_mvebu.ipk
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  223k  100  223k    0     0  1294k      0 --:--:-- --:--:-- --:--:-- 1302k
Configuring pakon-lists.
Traceback (most recent call last):
  File "/usr/libexec/pakon-light/domains_reapply.py", line 75, in <module>
    main()
  File "/usr/libexec/pakon-light/domains_reapply.py", line 71, in main
    replace('/var/lib/pakon.db', multiple_replace)
  File "/usr/libexec/pakon-light/domains_reapply.py", line 55, in replace
    for row in c.execute('SELECT DISTINCT(app_hostname) FROM traffic WHERE app_hostname IS NOT NULL'):
sqlite3.OperationalError: no such table: traffic
Command failed: Not found
Command failed: Not found
Configuring suricata-pakon.
Configuring pakon.
br-lan br-guest_turris
root@omnia:/#

Kazdopadne pakon se vsim vsudy reinstalovan, konzolovy pakon-show funguje, ale webUI tvrdosijne hlasa “Failed to load data”.

Kam bych se mel podivat dal v tomhle pripade?


A couple of PaKon questions
Pakon-monitor stops running
#2

Jsem na tom stejně, první instalace z forisu trvala dlouho, vypadalo to že neproběhla


#3

Tak maly, ale myslim ze dulezity, update: Nechce to chodit v Safari, ve Firefoxu ESR to jde.
A asi to ma nejakou souvislost s tim, ze ‘https:///foris/config/main/pakon/ajax?action=eventsource&query=%7B%22start%22%3Anull%2C%22end%22%3Anull%2C%22aggregate%22%3Atrue%7D’ mi v Safari vraci 404.


#4

Dobrý den,
co se týče toho tracebacku, není to nic kritického, je to špatným pořadím ve kterém se spustí post-install skripty. Je to nehezká hláška, ale není to žádný problém.

Poladím do příštího vydání, problém je v tom že databáze ještě není vytvořená (při čisté instalaci) ve chvíli kdy se spustí postinst skript pakon-lists. Ta se vytvoří až při postinst skriptu pakon. Ty skripty se spouštějí v jiném pořadí než jsem uvažoval. Nicméně ten postinst skript pakon-lists má stejně smysl jen při vytvořené databázi, zkouší ji updatovat.

Co se týče toho problému se Safari, o tom mox nevím. Přehodím na kolegu který vyráběl UI.


#5

Jeste doplneni: Asi jde o parametr query= pro onen foris/config/main/pakon/ajax.
Firefox: query=%7B%22start%22%3A1525903200%2C%22aggregate%22%3Atrue%7D
Chrome: query=%7B%22start%22%3A1525903200%2C%22aggregate%22%3Atrue%7D
Safari: query=%7B%22start%22%3Anull%2C%22end%22%3Anull%2C%22aggregate%22%3Atrue%7D

t.j.:
Firefoxi query=: {“start”:1525903200,“aggregate”:true}
Chromi query= : {“start”:1525903200,“aggregate”:true}
Safari query= : {“start”:null,“end”:null,“aggregate”:true}

V pripade Safari (resp. jeho cURL podobe) obdrzim misto nejake odpovedi krasne: HTTP/1.1 404 Not Found


#6

Dalsi pokus o doplneni, ciste jen mezitim ziskany poznatky ktery by se mohly hodit:
Firefox:

> new Date();
< Date 2018-05-11T11:29:45.926Z
> new Date('5, 10, 2018, 00:00:00');
< Date 2018-05-09T22:00:00.000Z

Chrome:

> new Date();
< Fri May 11 2018 13:30:37 GMT+0200 (CEST)
> new Date('5, 10, 2018, 00:00:00');
< Thu May 10 2018 00:00:00 GMT+0200 (CEST)

Safari:

> new Date();
< Fri May 11 2018 13:31:41 GMT+0200 (CEST)
> new Date('5, 10, 2018, 00:00:00');
< Invalid Date

Pakon & Safari - no data ve webUI
#7

Problém s “Failed to load data” se mi také projevuje.

Zde je moje konfigurace:

Zařízení Turris - rtrs01
Verze Turris OS 3.10
Verze jádra 4.4.131-fea04ecaf4d3e8a8c81b9e278dafea4f-2
macOS 10.12.6
Safari 11.1 (12605.1.33.1.4)

Console v Safari ukazuje následující:

[Error] WebSocket connection to 'ws://10.111.111.1/foris-ws' failed: WebSocket is closed due to suspension.
[Error] WebSocket connection to 'ws://10.111.111.1/foris-ws' failed: WebSocket is closed due to suspension.
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (screen.css.map, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (fa-regular-400.woff2, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (fa-regular-400.woff, line 0)
[Log] WS registering for: maintain,lan,router_notifications,updater (foris.min.js, line 1)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (fa-regular-400.ttf, line 0)
[Log] WS message received: {"result": true, "subscriptions": ["lan", "maintain", "updater", "router_notifications"]} (foris.min.js, line 1)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (fa-regular-400.svg, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (fa-solid-900.woff2, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (ajax, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (ajax, line 0)

Chyba se projevuje ať jsem připojen po HTTP a nebo HTTPS.

Z jiných prohlížečů jsem zkoušel Firefox a ten funguje.

51


#8

Zdravím,
velmi nám to pomohlo. Předal jsem to kolegovi, co má na starost web UI Pakoně a podívá se na to. :slight_smile:

// Přidáno na seznam známých chyb - Errata!


#9

To snad pomůže každému vývojáři, když mu uživatel udělá kompletní analýzu problému, nebo ne?
Já myslím, že si @kmarty zaslouží kromě poděkování nejméně jednoho MOXe zadara! :slight_smile:


#10

To zase nutny neni :slight_smile:
Ja uz mam i patch, ale nejak mi blbne forum.turris.cz (konkretne prihlaseni pres mojeid - koncim na 500 Bad Gateway) a pres mobil to sem posilat nebudu. Ona to stejne zadna slava neni, jen zmena z pomlcek na lomitka a cas je oddeleny jen mezerou. Stejne nevim jestli je to dobre, ale v kazdym pripade v tyhle uprave mi to chodi ve vsech trech prohlizecich.


#11

Forum je nějaké “vyhnilé” - má šíleně dlouhé reakce na všechno.
Asi by to chtělo restart! :slight_smile:


#12
Tak ten veleslavny patch je tohle
--- /usr/share/foris/plugins/pakon/templates/javascript/pakon/pakon.js.tpl.orig 2018-05-11 14:31:56.079793128 +0200
+++ /usr/share/foris/plugins/pakon/templates/javascript/pakon/pakon.js.tpl      2018-05-11 14:36:25.110167370 +0200
@@ -1885,7 +1885,7 @@
                                                                const columnPosition = this.getColumnPositionBy( item.id );
                                                                let node;
                                                                if ( item.id === 'datetime' ) {
-                                                                       const currentDate = new Date( this.dataStructure[ i ][ columnPosition ] );
+                                                                       const currentDate = new Date( this.dataStructure[ i ][ columnPosition ].replace('-','/').replace('-','/'));
                                                                        cell.setAttribute( 'data-raw-content', String( Number( currentDate ) / 1000 ) );
                                                                        node = document.createElement( 'time' );
                                                                        node.dateTime = currentDate[ this.toW3CString ]();
@@ -3199,9 +3199,9 @@
                if ( dateTo && dateTo.value ) {
                        const part1 = dateTo.value.substr( 0, 4 );
                        const part2 = dateTo.value.substr( 5 );
-                       toString += part2.replace( '-', ', ' ) + ', ' + part1 + ', ';
+                       toString += part2.replace( '-', '/' ) + '/' + part1 + ' ';
                } else {
-                       toString += ( d.getMonth() + 1 ) + ', ' + d.getDate() + ', ' + d.getFullYear() + ', ';
+                       toString += ( d.getMonth() + 1 ) + '/' + d.getDate() + '/' + d.getFullYear() + ' ';
                }
                if ( timeFrom && timeFrom.value ) {
                        toString += timeTo.value;
@@ -3211,10 +3211,10 @@
                if ( dateFrom && dateFrom.value ) {
                        const part1 = dateFrom.value.substr( 0, 4 );
                        const part2 = dateFrom.value.substr( 5 );
-                       fromString += part2.replace( '-', ', ' ) + ', ' + part1 + ', ';
+                       fromString += part2.replace( '-', '/' ) + '/' + part1 + ' ';
                } else {
                        d.setDate( d.getDate() - this.settings.timeLimitation.suggestedInterval );
-                       fromString += ( d.getMonth() + 1 ) + ', ' + d.getDate() + ', ' + d.getFullYear() + ', ';
+                       fromString += ( d.getMonth() + 1 ) + '/' + d.getDate() + '/' + d.getFullYear() + ' ';
                }
                if ( timeFrom && timeFrom.value ) {
                        fromString += timeFrom.value;

Je dost dobre mozny ze to neni spravne, ze mi neco uteklo (ale treba filtr casovyho okna nefungoval ani predtim u Chrome a Firefoxu), proste je to takovej hotfix pac jsem chtel vedet jestli tam neni jeste jinej problem.


#13

Doplnil jsem do nadpisu Safari, protoze se ten problem tyka jen jeho.


#14

zaznamenal som rovnaky problem testovane v Opere aj v Chrome


#15

No, na Turrisu 1.0 mi ani Chrome,Firefox 60 (mac verze) ani EDGE nezobrazí nic a končí jen točícím se kolečkem… MSIE11 pak nezobrazí ani to kolečko.

Konzolový pakon-show funguje v pořádku.

Update: uvedené problémy zmizí s web je funčkní pokud do administrace jdu pomocí https. Při obyčejném http skončí Pakon GUI jen točíčím kolečkem.


#16

je jedno ci pouzijem http alebo https

pakon show comand hlasi:

nejaky napad na fix ?


#17

@BuloZB: pročti si to tady Pakon ve Foris a IE 11. Asi je tam bug, který by měli opravit v 3.10.1


#18

Tady bych rád poopravil @jkmh.

Pokud nejde Pakoň z CLI, tak Vám to nepůjde ani ve Web UI.
Chyba, kterou Vám to píše v konzoli by mohla zřejmě souviset s tím, že jste pravděpodobně odstranil data z databáze Pakoně, případně smazal rovnou celý adresář /srv/pakon.

Řešení je možné najít v tomto přípěvku:


#19

dakujem po vytvoreni DB a restarte vsetko funguje


#21