Prosze o nakierowanie na rozwiazanie sprawy z node.js/compass/js PLIKI

0

Czesc.
Nie oczekuje rozwiazania problemu od A - Z (chodz byloby milo :)) Ale oczekuje ze ktos podpowie mi gdzie mam zaczac podroz w tym co chcesz stworzyc. Nie przedluzajac zbytnio przedstawie kontekst

Mam server web na Rasberry pi zlozony z node.js/compass.js Chodzi 24/7 w wiekszosci.. Czasem moze sie zrestartowac ale wazne jest to ze po restarcie uruchamia sie serwer a uzytkownik ma nieustanny dostep do strony web. Strona jest stworzona prywatnie.

Wyobrazcie sobie ze kupujecie ode mnie taki mikrokontroler wraz z podstawowa strona web.
Jednak gdy postanowicie dokupic rozszerzenie funkcjonalności strony (czyli wiecej komponentow na stronie, zakladek itp.) nazwijmy to pakietem premium.

To po zakupie, chcialbym aby osoba z daną malinką mogla pobrac update PREMIUM z serwera dedykowanego. Czyli chce umozliwic tylko i wylacznie danej malince, pobranie strony zaktualizowanej na mikrokontroler.

Wyobrazcie sobie ze w sieci jest 100 takich urzadzen. Ale tylko osoba ktora zakupila rozszerzenie moze pobrac strone web z nowym front i backendem.

Co i jak z czym się je.. Brzmi skomplikowanie ale, przydadza sie kazde wskazowki, jak to ugryźć..

Dzięki

0

Zakładając że ktoś nie ma dostępu do kodu serwera, możesz używając pm2 do odpalania procesu nodejs dodać pakiet https://github.com/keymetrics/pm2-auto-pull, i masz załatwione aktualizacje.
Następnym korkiem jest stworzenie api do sprawdzania czy dany ID urządzenia ma "licencje" jeśli ma to pozwala na uruchomienie dodatkowych funkcji.

Drugą opcją gdy ktoś ma dostęp do kodu jest taki sam schemat jak wyżej ale musisz wrzucać juz zbudowane i zakodowane pliki na git w a w ENV systemowym określić jakiś ID urządzenia. wtedy korzystając z ID sprawdzać czy to "licensed" czy tez nie i ładować konkretne funkcje.

Do zabezpieczenia kodu możesz użyć //obfuscator.io/ lub https://jscrambler.com/

Opcja nr 3.
https://www.npmjs.com/package/require-from-url Piszesz moduły importujesz je i w zależności czy to "licensed" czy nie zwracasz moduł gotowy do załadowania lub moduł pusty

Opcja nr 4. Najgorsza bo nie można aktualizować i jest offline:
Robisz moduły i szyfrujesz kod za pomocą klucza i gdy ktoś wpisze klucz moduł jest rozszyfrowywany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1