Szczwane lisy

Szczwane i podłe lisy (tudzież pandy) mają w tej Mozilli! Tęczowe, zamordystyczne. Ale po kolei.

Wraz z premierą Firefoksa w wersji 48, wymuszono na twórcach dodatków podpisy cyfrowe przez co użytkownik nie mógł już samemu edytować archiwum ZIP (bo w takiej formie są dystrybuowane dodatki do tej przeglądarki). Konsekwencją wyświechtanego tłumaczenia się zwiększeniem bezpieczeństwa, było np. to że kiedy twórca porzucał rozwój swojego projektu, użytkownik końcowy nadal mógł korzystać z jego dotychczasowego owocu prac, zmieniając tylko numer wersji przeglądarki w pliku "install.rdf". Zmiana ta zabiła mnóstwo dodatków, które tylko teoretycznie nie były niekompatybilne z najnowszą wersją, jak również wszystkie modyfikacje użytkowników. Oczywiście troska o bezpieczeństwo nie była kłamstwem bo skoro każdy mógł edytować plik lub nakłonić ofiarę do instalacji dodatku spoza oficjalnego repozytorium, to taka blokada sens miała. I do tego przez pewien czas służył parametr "xpinstall.signatures.required" (rzecz jasna dziś ignorowany przez „zwykłego” FX wyłączając z tego beta wersje deweloperskie i niebrandowane (skompilowane, obecne np. w wielu dystrybucjach linuksowych)).

Następny krok w czeluść piekielną to wersja 57, gdzie usunięto możliwość instalowania „przestarzałych dodatków”. Przestarzałe (bo takie złowieszcze oznaczenie mają w menu) są tylko z nazwy, posiadają bowiem uprawnienia do wszystkich zasobów z jakich korzysta przeglądarka. Z tego też powodu, mnóstwo dodatków napisanych pod raczkujący – i jeśli wierzyć programistom – ubogi Web Extensions, zostało okrutnie wykastrowane z funkcji, a wielu deweloperów postanowiło całkowicie dać sobie spokój z Firefox'em. Wielu użytkowników (procentowo zapewne garstka ;)) postanowiło nie przechodzić na szybką jak tachion „kwantową pandę małą” pozostając na mulastym, ale funkcjonalnym 55 lub 56…

Skoro dodatki dla XUL/XPCOM nie są już wspierane to może je usunąć? Tak się stało pod koniec 2018. Dziś nie ma już żadnych, nawet tych hybrydowych pod "/versions". Jeśli ktoś nie zdążył sobie zbudować własnego archiwum z e-reliktami, to podpowiem że dla Gromoptaka jeszcze znaleźć można.

I tak oto dochodzimy do spiskowej teorii dziejów. Aby odstrzelić takich opornych jak ja, zupełnie przypadkowo uszkodzono weryfikację cyfrowego podpisu dodatków, co zaowocowało ich wyłączeniem bez możliwości włączenia z poziomu GUI (Firefox zgłasza się w tym celu do centrali co ~5min). Co ciekawe, problem dotyczy tylko tych dla WE i niektórych (?) hybrydowych. XULowe są bezpieczne. Ten, jak już ustaliliśmy przypadek, można naprawić magicznym skryptem do wklejenia w konsoli DOM na "about:addons", który krąży po sieci i nie zadziała na v56 (i oczywiście trzeba też uprzednio włączyć możliwość wklejania). ;) Można też zainstalować hotfix ze strony Mozilli – nie trzeba się przy tym zbytnio obnażać podążając ślepo za zaleceniami na ichnim blogu, wystarczy ręcznie zainstalować z pliku… Zresztą, jest już chyba z automatu puszczany jako feature („niewidzialny dodatek”). Naturalnie, nie zadziała na v56.

A jak z tym żyć na „starych” lisach? Jako zatwardziały foliarz-alarmista, założyłem aluminiową czapeczkę, przywdziałem palto co i raz to nerwowo się za siebie oglądając, i zszedłem ze szpadlem do piwnicy odkopać backup z dodatkami, który tam przed wiosną zakopałem właśnie na taką okazję. Delikatnie otwieram wieko z BD-R HTL, dyskretnie poruszam nozdrzami jak zawodowy kiper by sprawdzić poziom utlenienia miedzi. Zakonserwowały się dobrze, niczym babcine weki! – wyszeptałem. uBlock Origin v1.13.10, Mozilla Archive Format v4.1.4, DownThemAll! v3.0.8, i wiele, wiele innych – pyszne!

Jak inaczej sobie z tym poradzić by jednak nie rezygnować z możliwie najnowszych wersji po chamsku wyłączonych dodatków? Otóż nie wiem. Podejrzewam, że trzeba zwąchać np. WireSharkiem z czym lis tak chętnie i często rozmawia by wyciąć to na routerze, ogniomurku, a jeśli jest w domenach to nawet zwykłym "C:\Windows\System32\drivers\etc\hosts".

Można też przesiąść się na Waterfox lub wersję niebrandowaną, tudzież deweloperską i tam ustawić sprawdzanie sygnatur na "false".