TWO Release Hub — hub licencyjny i wydań wtyczek
Opis
TWO Release Hub to autorski system, który zamienia płatną wtyczkę w licencjonowany produkt: serwer licencji + hub wydań dla wtyczek WooCommerce i PrestaShop (produkt „One Click Return”). Projekt własny, ale prowadzony jak realne wdrożenie produkcyjne — stąd dobry materiał na case study z pogranicza backendu, bezpieczeństwa i CI/CD.
Problem
Sprzedając wtyczkę trzeba wiedzieć kto, gdzie i do kiedy może jej używać, dostarczać aktualizacje tylko uprawnionym i chronić kod przed kopiowaniem. Zamiast płacić za zewnętrzny system licencyjny, zbudowałem własny — hostowalny na zwykłym hostingu PHP+MySQL.
Jak działa
- Produkty i wydania — każdy produkt ma repozytorium i wydania (upload ZIP + suma sha256). Publikacja idzie wyłącznie przez GitHub Actions (push na main → build → /publish), nie ręcznie.
- Klienci i domeny (mini-CRM) — klient ma typ i wiele domen; katalog wtyczek z przypisaniami, datami wgrania i wygaśnięcia.
- Tokeny per domena×produkt — licencja to token przypięty do konkretnej domeny i produktu, z ważnością i akcjami (regeneruj / zawieś / cofnij / przedłuż).
- API /validate — wtyczka woła hub, a odpowiedź jest podpisana kluczem Ed25519 i weryfikowana po stronie klienta (cache + tryb grace przy braku sieci). Pobrania (/download) są bramkowane tokenem.
- Przypomnienia o wygaśnięciach — hub grupuje wygasające licencje i wtyczki na jednej domenie w jedno powiadomienie i pilnuje kontaktu z klientem.
Bezpieczeństwo
Podpis Ed25519, tokenowane pobrania, panel tylko dla administratora, oddzielne klucze produkcyjne. Wtyczka i API przeszły pentest (raporty w repo), a znalezione uwagi zostały naprawione.
Stack
PHP 8.3 + Slim 4, MySQL (PDO), Docker (lokalnie), Mailpit do podglądu maili, panel w stylu marki Two Colours. Cel docelowy: self-hosting na tanim hostingu PHP+MySQL, bez Dockera na produkcji.
Opis roboczy — do uzupełnienia szczegółami (np. metryki, zakres pentestu, docelowy hosting).
Technologie
Zrzuty ekranu





