# MainWP böngészőbővítmény

> A Chrome-bővítmény telepítése és csatlakoztatása a vezérlőpulthoz API-kulccsal: frissítések, Time Tracker, Cost Tracker, beállítások, átállás régi verzióról, hibaelhárítás és adatvédelem.

A MainWP böngészőbővítmény a böngésző eszköztárából mutatja a vezérlőpult adatait, anélkül hogy megnyitnád a vezérlőpultot. Ellenőrzi a Child-webhelyek elérhető frissítéseit, jelzi a MainWP-n kívüli változásokat, Time Tracker-időzítőt futtat, és mutatja a Cost Tracker összesítéseit és a licenclejárati figyelmeztetéseket. A kérések közvetlenül a böngésződből mennek a saját üzemeltetésű vezérlőpultra, HTTPS-en.

## Követelmények

- Chrome 116 vagy újabb. A bővítmény Manifest V3-at használ, ezért olyan Chromium-alapú böngészőkben is futhat, amelyek támogatják, például Edge, Brave, Arc, Vivaldi, Opera.
- MainWP vezérlőpult 5.2 vagy újabb: ez kell a REST API v2-höz, a Bearer-tokenes hitelesítéshez, a Time Trackerhez és a Cost Trackerhez.
- HTTPS-es vezérlőpult-cím. A bővítmény a sima HTTP-t elutasítja. Fejlesztéshez használható a `https://localhost`, a `https://127.0.0.1` és HTTPS-es privát IP-cím, ha a böngésző eléri.
- Engedélyezett REST API-kulcs a vezérlőpulton.
- A WordPress közvetlen hivatkozásai nem lehetnek „Alap” beállításon, mert a REST API-hoz szép hivatkozások kellenek.

A bővítmény csak olyan vezérlőpult-címhez tud csatlakozni, amelyet a böngésződ elér. Egy másik gépen futó `localhost` nem érhető el.

## Telepítés

### Chrome

1. Nyisd meg a bővítményt a Chrome Web Store-ban.
2. Kattints a **Hozzáadás a Chrome-hoz** gombra.
3. Hagyd jóvá a bővítmény hozzáadását.
4. A bővítmények menüjéből rögzítsd a MainWP ikont az eszköztáron.

Ha a Chrome fokozott biztonságú böngészése telepítéskor jelez, a folytatáshoz válaszd a telepítés folytatását.

### Firefox

A Firefox-bővítmény elavult, kivezetés alatt áll. Az új funkciók (Bearer-tokenes hitelesítés, Time Tracker, Cost Tracker) csak Chrome-on érkeznek. A Firefox-felhasználóknak érdemes Chromium-alapú böngészőre váltaniuk, ha frissítéseket akarnak kapni.

## Csatlakozás a vezérlőpulthoz

A jelenlegi Chrome-bővítmény a MainWP REST API v2-vel és Bearer-tokenes hitelesítéssel kapcsolódik.

1. A vezérlőpultot futtató webhelyen nyisd meg a **Beállítások → Közvetlen hivatkozások** oldalt, és válassz az Alapon kívüli beállítást.
2. A MainWP-ben nyisd meg az **API Access → API-kulcsok hozzáadása** oldalt.
3. Add meg az API-kulcs nevét (például „Böngészőbővítmény”), és hagyd bekapcsolva a kulcsot. Frissítések és Cost Tracker figyeléséhez elég az **Olvasott** jogosultság. Ha a bővítményből Time Tracker-feladatot akarsz indítani, szüneteltetni, leállítani vagy létrehozni, kapcsold be az **Írás és törlés** jogosultságot is.
4. Másold ki az **API-kulcs (Bearer token)** mező értékét, és tárold biztonságban: a token csak a kulcs létrehozásakor látható.
5. Kattints a **Kulcs mentése** gombra. A kulcs mentés nélkül nem aktív.

![Az API-kulcsok hozzáadása oldal a kulcs nevével, a jogosultságokkal és a Bearer tokennel](./kepek/halado-api-kulcs-hozzaadasa.webp)

*Az API-kulcsok hozzáadása oldal a kulcs nevével, a jogosultságokkal és a Bearer tokennel* (https://minta-bolt.hu/wp-admin/admin.php?page=AddApiKeys)

A képen látszik a kulcs bekapcsolása, a neve, az **Olvasott** és az **Írás és törlés** jogosultság, és a másolható token.

6. Kattints a MainWP ikonra a böngésző eszköztárán. Megjelenik a **Welcome to MainWP** köszöntő.
7. A **Enter your MainWP Dashboard URL** mezőbe írd be a vezérlőpult teljes címét. `https://` kezdetű legyen, és a webhely gyökerére mutasson, ne a `/wp-admin` címre.
8. A **Paste your Bearer Token** mezőbe másold be a tokent.
9. Kattints a **Connect Dashboard** gombra. A Chrome engedélyt kér, hogy a bővítmény elérje a vezérlőpult eredetét: engedélyezd.
10. A **Connected Successfully!** képernyőn válaszd ki, mit szinkronizáljon: WordPress-, bővítmény-, sablon- és fordításfrissítések, valamint a MainWP-n kívüli változások. Válassz szinkronizálási gyakoriságot és témát, majd kattints a **Start Monitoring** gombra.

A bővítmény saját felülete angol nyelvű, ezért a gombok feliratai a fenti angol szövegek.

## Az eszköztáron látható jelzések

Az eszköztár-ikon jelvénye szinkronizálás után mutatja az állapotot. Frissítésfigyelésnél a `5-2` jelvény azt jelenti: 5 kiválasztott frissítés és 2 MainWP-n kívüli változás. Mindkét szám legfeljebb 99, és a jelvény üres, ha mindkettő nulla. Ha Time Tracker-időzítő fut vagy szünetel, a jelvény az eltelt időt mutatja; az időzítő leállása után visszaáll a frissítésszámláló, ha van gyorsítótárazott érték. Asztali értesítés jöhet elérhető frissítésről, időzítő-állapotváltásról, licenclejárati figyelmeztetésről és szinkronizálási hibáról. Az értesítési kategóriákat a **Settings → Notifications** részen állíthatod.

## Frissítések

Az **Updates** nézet a függő frissítéseket mutatja:

- bővítmények,
- sablonok,
- WordPress-mag,
- fordítások,
- MainWP-n kívüli változások.

Minden sor kinyitható, és megmutatja az érintett webhelyeket. A sáv műveletei gyorsan szinkronizálnak, vagy megnyitják a vezérlőpult megfelelő oldalát. A szinkronizálás gyakoriságát a **Settings → Monitoring** részen állítod: 15 perctől naponta egyszerig.

## Time Tracker

A vezérlőpult-áttekintő Time Tracker kártyájával időzítőt indíthatsz, szüneteltethetsz, folytathatsz és leállíthatsz anélkül, hogy megnyitnád a vezérlőpultot. A **Start Timer** gyors, helyi időzítőt indít, a **New Task** ügyfélhez, webhelyhez és kategóriához kötött feladatot hoz létre. Az időzítő állapota megmarad a felugró ablak bezárása, a háttérfolyamat újraindulása és a böngésző újraindítása után is. A szüneteltetett időzítők a **Paused Timers** alatt vannak, onnan folytathatók.

A Time Tracker működéséhez a vezérlőpulton telepítve és aktívan kell lennie a Time Tracker kiegészítőnek. Ha nincs, a bővítmény jelzi, hogy a Time Tracker nincs telepítve.

## Cost Tracker

A Cost Tracker nézet a teljes portfólió költségeit összesíti:

- havi és éves összeg (**Monthly Total**, **Annual Total**) előrejelzése;
- követett webhelyek és költségek száma;
- költségek kategóriánkénti bontása;
- licenclejárati figyelmeztetések.

A licencfigyelmeztetésnek két küszöbe van: a hét napon belül lejáró licenc sürgős, a harminc napon belül lejáró figyelmeztetés. A költségadatok naponta frissülnek a háttérben, és helyben, a böngészőben vannak gyorsítótárazva.

A Cost Trackerhez a vezérlőpulton elérhetőnek kell lennie a költségkövetésnek. Ha a szükséges végpont nincs meg, a bővítmény jelzi, hogy a Cost Tracker nem érhető el.

## Beállítások

A beállítások a felugró ablak fogaskerék ikonjával nyílnak, öt szakaszban:

| Szakasz | Mit tartalmaz |
|---|---|
| Connection | A vezérlőpult URL-je és hitelesítő adatai, az „I have saved the API Key in my Dashboard” jelölőnégyzet, a **Disconnect Dashboard** gomb |
| Appearance | Világos, sötét vagy rendszer szerinti (**System (Auto)**) téma |
| Monitoring | Szinkronizálási gyakoriság, kedvelt pénznem, mely adattípusok számítanak a szinkronba és a jelvény összegébe |
| Notifications | Asztali értesítések frissítésekről, licenclejáratról és szinkronizálási hibákról |
| About | A telepített verzió, hivatkozások a dokumentációra, a támogatásra és a MainWP-re |

A **Clear All Data** törli a hitelesítő adatokat, a gyorsítótárazott számlálókat, a Cost Tracker gyorsítótárát és az időzítők előzményeit a böngészőből. A módosításokat a **Save Settings** gombbal mentsd.

## Átállás régebbi verzióról

Ha korábban Consumer Key és Consumer Secret hitelesítő adatokkal használtad a Chrome-bővítményt, az új verzió a frissítés után ellenőrzi a mentett kapcsolatot. Ha a vezérlőpult támogatja a REST API v2-t, a bővítmény **Credential Update Available** üzenetet adhat: hozz létre új Bearer tokent a vezérlőpulton, és frissítsd vele a kapcsolatot. Ha a vezérlőpult nem támogatja a REST API v2-t, a bővítmény átállási vagy frissítési üzenetet mutat: frissítsd a vezérlőpultot 5.2-es vagy újabb verzióra, és csatlakozz újra. Ha a mentett cím HTTP-t használ, **HTTPS Required** üzenet jelenik meg, és a bővítmény leállítja az API-hívásokat, amíg a címet `https://`-re nem cseréled.

## Hibaelhárítás

### Kapcsolati hibák

| Hiba | Mi történik | Teendő |
|---|---|---|
| `401 Invalid Credentials` | A Bearer token hibás vagy lejárt | Hozz létre új kulcsot az API Access oldalon, és másold be az új értéket a bővítménybe |
| `403 API Key Not Activated` | A kulcs ki van kapcsolva, vagy hiányzik a szükséges jogosultság | Kapcsold be a kulcsot, ellenőrizd a jogosultságokat, és győződj meg róla, hogy elmentetted |
| `404` vagy nem JSON válasz | A cím rossz, a `/wp-admin` címre mutat, vagy az oldalon nem fut MainWP vezérlőpult | A vezérlőpult gyökércímét add meg `https://`-sel, a megfelelő domainnel vagy alkönyvtárral |
| A vezérlőpult verziója túl régi | Nem támogatja a REST API v2-t | Frissítsd a vezérlőpultot 5.2-es vagy újabb verzióra |
| Időtúllépés | A vezérlőpult nem érhető el, vagy az SSL-tanúsítvány érvénytelen | Nyisd meg a címet böngészőlapon, és előbb a tárhely-, DNS-, tűzfal- vagy SSL-hibát javítsd |
| Nem jönnek értesítések | A böngésző vagy az operációs rendszer értesítései ki vannak kapcsolva | Kapcsold be a böngésző értesítéseit az operációs rendszer beállításaiban |

### A REST API-t biztonsági bővítmény blokkolja

A biztonsági és teljesítményoptimalizáló bővítmények blokkolhatják a REST API-t. Teszteld: jelentkezz ki a WordPressből, és nyisd meg ezt a címet:

```
https://a-te-vezerlopultod.hu/wp-json/
```

Működő telepítés JSON-t ad vissza. Ha hozzáférés-megtagadást kapsz, egy bővítmény vagy szerverszabály blokkolja a REST API-t. A jelenlegi Chrome-bővítmény gyakori REST API-útvonalai:

- `/mainwp/v2/sites/count`
- `/mainwp/v2/sites`
- `/mainwp/v2/updates`
- `/mainwp/v2/sites/{id}/non-mainwp-changes`
- `/mainwp/v2/time-tracker`
- `/mainwp/v2/settings/cost-tracker`
- `/mainwp/v2/costs`

Csak az elavult Firefox-bővítmény vagy egy régebbi Chrome-bővítmény hibaelhárításához kellenek ezek az útvonalak:

- `/mainwp/v1/sites/all-sites`
- `/mainwp/v1/sites/sites-available-updates-count`
- `/mainwp/v1/site/non-mainwp-changes-count`

### Ütközés a HTTP alapszintű hitelesítéssel

A böngészőbővítmény nem kompatibilis a vezérlőpult HTTP alapszintű hitelesítésével. Használd helyette a Dashboard Lock kiegészítőt, amely hasonló védelmet ad a REST API-kérések blokkolása nélkül.

### A háttérfolyamat vizsgálata

Mélyebb hibakereséshez nyisd meg a `chrome://extensions` oldalt, keresd meg a MainWP Browser Extension bővítményt, és kattints a **Inspect views: service worker** hivatkozásra. A **Console** lapon látszanak az API-hívások, a szinkronizálási kísérletek és a bővítmény hibái.

## Jogosultságok és adatvédelem

A Chrome-bővítmény három alapvető jogosultságot kér:

- `alarms` az ütemezett szinkronokhoz;
- `storage` a beállításokhoz, a gyorsítótárazott számlálókhoz, az időzítők állapotához és a Cost Tracker gyorsítótárához;
- `notifications` az asztali értesítésekhez.

A gazdagép-jogosultságokat futásidőben kéri a megadott vezérlőpult-címhez, telepítéskor nem kap hozzáférést minden webhelyhez. Az API-forgalom a böngészőből a vezérlőpultra megy, HTTPS-en. A hitelesítő adatokat a `chrome.storage.local` tárolja, a Chrome-szinkronon át nem szinkronizálódnak. A nem érzékeny beállítások és a gyorsítótárazott frissítésszámlálók használhatják a `chrome.storage.sync` tárat; ha a Chrome-szinkron be van kapcsolva, a Chrome ezeket a Google szokásos szinkronrendszerén át szinkronizálhatja. A bővítmény nem küld API-adatot a MainWP szervereire, elemző szolgáltatásokba, telemetriai végpontokra vagy külső tartalomkézbesítő hálózatokra.

## Ellenőrzőlista

- A bővítmény telepítve van a Chrome-ban és rögzítve az eszköztáron.
- A WordPress közvetlen hivatkozásai nem „Alap” beállításon vannak.
- A REST API-kulcs létezik, a szükséges jogosultságokkal.
- A kulcsot a vezérlőpulton elmentetted.
- A vezérlőpult címe `https://`.
- A Bearer token be van írva a bővítménybe.
- A Chrome-engedély megvan a vezérlőpult eredetére.
- A figyelési beállítások kiválasztva.
- A függő frissítések számlálói látszanak a felugró ablakban.
