Commit Graph

3 Commits

Author SHA1 Message Date
njomac d54bb27021 fix: login u Web GUI izbacivao van panela + nginx rate limit prenizak
1) Nakon uspjesnog logina redirect je isao na sirovi 'next' parametar.
   'next' dolazi iz request.path, dakle bez SCRIPT_NAME prefiksa, pa je
   /guacadmin/login?next=/ nakon prijave vodio na / -> /guacamole/.
   Korisnik bi se prijavio i zavrsio na Guacamole login ekranu umjesto
   na dashboardu. Sad se dodaje request.script_root, uz provjeru da je
   next relativna putanja (open-redirect).

2) limit_req_zone je bio rate=10r/m - deset zahtjeva po MINUTI.
   Guacamole je Angular SPA i na jedno otvaranje ispali desetke
   zahtjeva, pa je nginx redom vracao 503 na app.js, app.css,
   api/tokens i translations. Podignuto na 10r/s, burst 50.
   Brute-force i dalje pokrivaju basic auth + fail2ban.

Provjereno: /guacadmin/ -> login -> /guacadmin/dashboard (200), svih
osam GUI stranica 200, 40 paralelnih zahtjeva na Guacamole API sve 200.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 20:15:17 +02:00
njomac 0d96852947 fix: Web GUI je vracao 404 iza nginx prefiksa
Flask slusa na rootu, a nginx ga proxira na ${GUI_PATH} (/guacadmin/).
Bez SCRIPT_NAME-a svi redirecti i url_for pozivi generirali su putanje
izvan prefiksa - / je redirectao na /login, sto nginx ne poznaje, pa je
GUI bio potpuno nedostupan (404 odmah nakon otvaranja).

Dodan PrefixMiddleware koji postavlja SCRIPT_NAME iz nove GUI_PATH
env varijable; systemd unit je sad prosljedjuje. Isto primijenjeno na
webgui/app.py i na inline kopiju u install.sh.

Provjereno: /guacadmin/ -> /guacadmin/login -> login -> /guacadmin/dashboard
(200), svi navigacijski linkovi ostaju pod prefiksom.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 16:57:49 +02:00
njomac 50c125e0db Initial commit — GuacPanel v1.0
All-in-one installer za Apache Guacamole s Nginx reverse proxy,
fail2ban, SSL (Let's Encrypt / Self-signed), GeoIP blokiranjem
i Flask web GUI za upravljanje.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 11:21:44 +02:00