The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Утилита, превращающая обычные браузеры на основе Firefox в Developer Edition

23.06.2022 20:01

Ввиду несогласия с политикой Mozilla и дистрибутивов не распространять сборки Firefox, имеющие незаблокированные возможности установки неподписанных дополнений и использования API WebExtensions Experiments, был разработан инструмент, преобразующий обычные сборки Firefox в вариант "Developer Edition", допускающий использование дополнений без цифровой подписи.

Разработка инструмента была облегчена тем, что нужная функциональность в Firefox реализована в коде на ECMAScript и входит в состав любого варианта Firefox, но включается во время выполнения кода в зависимости от установленных значений констант. Константы ("MOZ_DEV_EDITION", "MOZ_REQUIRE_SIGNING") определяются в одном файле ("modules/addons/AddonSettings.jsm"), который находится в zip-архиве "/usr/lib/firefox/omni.ja".

Предложенная утилита парсит нужный файл с помощью esprima-python, патчит AST, и сериализует с помощью jscodegen.py. Работа с форматом zip обеспечивается libzip.py - биндингов к libzip. Указанные библиотеки рекомендуется установить вручную из соответствующих git репозиториев.

Дополнительно можно отметить скрипт unpin.py, который позволяет отвязать ограничения "{", "==" и "~=" на версии зависимостей в предсобранном пакете формата wheel, используемый многими разработчиками, что позволяет избежать автоматического даунгрейда при установке нужного пакета через pip при настройках по умолчанию.

  1. Главная ссылка к новости (https://github.com/KOLANICH-to...)
Автор новости: KOLANICH
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/57398-firefox
Ключевые слова: firefox, extention, patch
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (65) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (3), 21:11, 23/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ожидание: после запуска утилиты релизные сборки сегфолтятся и глючат.
    Реальность: а они и до ее запуска...

     
     
  • 2.13, Аноним (13), 22:35, 23/06/2022 [^] [^^] [^^^] [ответить]  
  • –23 +/
    К сожалению, у меня даже на 3 вкладках иногда падает. Спасибо разрабам, всего. Разрабам ядра Linux - за 12309. Разрабам приложений и библиотек, и особенно - Firefox, языковых серверов, KDE (именно в таком порядке) - за неуёмное потребление памяти.
     
     
  • 3.21, Аноним (21), 00:46, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Робин Гуд с четвёртым пнём?
     
     
  • 4.29, Андрей (??), 06:14, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Дартаньян, вы хотели сказать ? :)
     
  • 4.37, AleksK (ok), 08:10, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У этого походу ещё третий
     
     
  • 5.54, Аноним (54), 17:14, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    вот не надо врать!

    на 3ем 78-фокс на 3х вкладках вполне себе живчик, если оперативы 512 есть...

     
     
  • 6.62, AleksK (ok), 11:06, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > вот не надо врать!
    > на 3ем 78-фокс на 3х вкладках вполне себе живчик, если оперативы 512
    > есть...

    Ага если в этих вкладках кроме чистого HTML ничего не открывать. Всё-таки во времена третьих пней интрнет был сильно другим.

     
     
  • 7.63, Аноним (63), 13:46, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да, действительно, в вольер для macaca radiata в зоопарке ещё не был превращён. У меня JS заблокирован (и мне норм.), а всё равно крешится иногда даже на 3 вкладках. 8 гигов Рамы.
     
  • 3.41, Аноним (41), 10:34, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня - по 20-30 вкладок всегда, и ничего не падает. Поскольку мой комп безвентиляторный - то конфигурация очень слабая - 4ГБ ОЗУ, мобильный челерон.
    По софту - Кубунта, EarlyOOM, Ungoogled Chromium.
    Может вычто-то не правильно готовите? По 12309 - даже самый дешёвый SSD спасает полностью.
     
     
  • 4.44, AlexYeCu_not_logged (?), 10:49, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Может вычто-то не правильно готовите? По 12309 - даже самый дешёвый SSD спасает полностью.

    Он и проявлялся-то в довольно особых условия: например при копировании с HDD на HDD больших объёмов информации в случае, если не повезло с контроллерами матплаты. И было это во времена 4-х пеньков, да core2duo, после нигде не встречал. Но Анонимы помнят, хоть ни разу и не видели.

     
  • 3.55, ымыныны (?), 17:52, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Поллитрухин, залогинься
     
  • 3.60, vladimir (??), 07:03, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да Вам, батюшка, к врачу/чам... У Вас и плазма, наверное, падает.
     
     
  • 4.61, Аноним (61), 09:07, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хуже. Раньше падала плазма, её можно было перезапустить вручную, програмы не закрывались. А теперь - целиком иксовый сеанс, со всеми вытекающими.
     
  • 2.64, Аноним (-), 13:47, 25/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Ожидание: после запуска утилиты релизные сборки сегфолтятся и глючат.
    > Реальность: а они и до ее запуска...

    Учитывая что это байда на питоне, скажи спасибо если она хотя-бы не упадет с стектрейсом при патчинге, угробив файрфокс.

    А так нагамнякали кода для того что пятком строчек шелскрипта делается, my ass...

     

  • 1.5, Аноним (5), 21:13, 23/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Классика вспоминается :"а ты не чеши" . Столько возни вместо пары маленьких файлов ...
     
     
  • 2.16, Аноним (13), 22:48, 23/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Палок в колёса они конечно понавставляли, но пока что без фанатизма. Если бы константы в бинарник захардкодили, то это была бы ещё не очень великая проблема. Я рад, что эту функциональность не перенесли в плюсы и не выпилили вообще с помощью препроцессора/шаблонов, а могли бы, если бы очень захотели.
     
     
  • 3.39, n00by (ok), 08:28, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так функциональность - это проверка подписи. Если её выпилить, то утилита не потребуется. :)
     
  • 3.46, Bob (??), 10:59, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В случае с Firefox Android с осени 2020 это уже швабра...
    --
    То есть урезанная тормозная pre alpha на новом движке с одним аддоном и почти без настроек против:
    стабильного, экономного, функционального полноценного браузера. С кучей важных настроек и несколькими десятками аддонов.
    --
    Программное отключение от сервера синхры Android 68 это "забота о безопасности", а выгрузка вкладок с браузера начиная со второй (Spapdragon 625, 4\64 без гугл сервисов) из-за утечки памяти — это фича?)
    Как вообще можно выпускать моб. браузер с вырубленной подгрузкой вкладок из кэша?!
    --
    На компе всё больше усложняют ковыряние в firefox. Обычными средствами вы можете удалить предустановленные поисковики, но если в ESR 78 я мог эти же спокойно добавить с официальных страниц, то теперь — возвращай дефолт или ковыряй omni.ja Смысл? Встроенные поисковики имеют отслеживающие параметры и рефереры от лисы, а у чистых такой фигни нет) Пруф: https://12bytes.org/articles/tech/firefox/firefox-search-engine-cautions-and-r
     

  • 1.9, Попандопала (?), 21:42, 23/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    manifest.json ublock edition?
     
  • 1.10, Кирилл (??), 21:50, 23/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На waterfox кто-нибудь пробовал?
     
     
  • 2.15, Аноним (13), 22:43, 23/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуй. В репозитории инструкция приведена.
     
  • 2.19, Аноним (-), 23:39, 23/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты доверишь безопасность своих данных и трафика браузеру, который делает один студент-ноунейм? Ну удачи...
     
     
  • 3.26, Аноним (26), 02:58, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    а если много студентов из яндекса, как с вивальди, - доверишь?
     
  • 3.45, AlexYeCu_not_logged (?), 10:50, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Ты доверишь безопасность своих данных и трафика браузеру, который делает один студент-ноунейм?

    Чем студент-ноунейм хуже поехавших сжв-шников на подсосе у Гугла?

     
  • 2.43, Аноним (41), 10:36, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    LibreWolf!
     
     
  • 3.51, Аноним (-), 16:05, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    два студента?
     
     
  • 4.67, Аноним (67), 10:49, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так waterfox реально студент пилить начинал) а потом продал его компании занимающейся рекламой)
     

  • 1.11, Kuromi (ok), 22:24, 23/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    "Ввиду несогласия с политикой Mozilla и дистрибутивов не распространять сборки Firefox, имеющие незаблокированные возможности установки неподписанных дополнений и использования API WebExtensions Experiments, был разработан инструмент, преобразующий обычные сборки Firefox в вариант "Developer Edition", допускающий использование дополнений без цифровой подписи."

    А просто Nightly поставить не пробовали?

     
     
  • 2.12, Аноним (12), 22:34, 23/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А есть ESR?
     
  • 2.14, Аноним (13), 22:42, 23/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    1. В составе дистрибутива ни он, ни DE не поставляются.
    2. Сёрфить на Nightly нехорошо, Nightly по-умолчанию экспортирует новейшие веб-стандарты, включая те, которым вообще не место в веб-стандартах, WebGPU, например.
     
     
  • 3.23, Kuromi (ok), 01:55, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    WebGPU opt-in вообще-то. Что до серинга, то серфить на нем даже безопаснее, т.к. в силу постоянного изменения кода эксплойты на нем как правило не работают. Как-то раз помню в ФФ нашли бооольшую дыру, т.к. хоть она формально в Ночнушке и была, но работала уже не так как надо. А специально целиться в ночнушку никто не станет.
     
     
  • 4.38, Аноним (13), 08:20, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это безусловно плюс Но некоторые уязвимости могут быть вообще не в доступе к па... большой текст свёрнут, показать
     
  • 3.66, anonymous (??), 22:08, 26/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    2. есть unbranded build, который по сути релизная версия фф, только с отключенной проверкой подписей. Распространяется самой мозиллой.
     

  • 1.17, Аноним (13), 22:49, 23/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    https://0x0.st/oSqX.png
     
     
  • 2.50, Аноним (-), 13:26, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > The connection has timed out

    An error occurred during a connection to 0x0.st.

    Залей на нормальный хостинг, этот вечно сломан.

     
     
  • 3.56, аннанас (?), 21:55, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хостинг работает замечательно.Проблема с твоей стороны, с нашей пакеты ушли.
    Капча 48239 гарантирует это.
     

  • 1.18, Аноним (-), 23:28, 23/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А чем Developer Edition отличается от ESR?
    Вот я щас в ESR нажал F12 и вылезло некое devtools.
    Зачем тогда Developer Edition нужно?
     
     
  • 2.20, Аноним (5), 23:51, 23/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    DE для разработчиков расширений , пока не зарелизили , потому там и поблажки .
     
  • 2.42, penetrator (?), 10:35, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    версиями, ESR древняя ветка с патчами с долгосрочной поддержкой, Developer Edition +1 от текущей
     
  • 2.47, Bob (??), 11:04, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Множить сущности и оправдывать надбавки менеджменту =)
    --
    На мобилах — схожая чехарда.
    Зачем FF Focus, если то же самое можно запилить в приватной вкладке обычной лисы?)
    Спорная ошмётка webview в виде Firefox Lite, где сжатие убогое, блок рекламы дыряв, а функционал убог до безобразия на фоне Naked Browser. Который, на минуточку, пилит всего лишь один чувак)
     

  • 1.22, Менеджер по поддержке ржавчины (?), 01:10, 24/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    а что мешает просто скачать и поставить Developer Edition?
    я в федоре ещё с 2018 его юзаю.
     
     
  • 2.58, Аноним (58), 23:42, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вы там на федоре и flatpak не против поюзать.
     
  • 2.68, Аноним (67), 10:53, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Там багов много и дыр т.к. туда каждый день прилетает не отттестированный функционал. 100% уверен что хакеры следят за bugzilla и на лету пишут эксплоиты. Особоенно правительственные которые занимаются этим как работой.
     
     
  • 3.69, Аноним (69), 12:45, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты с ночной путаешь.
     

  • 1.25, Ivan_83 (ok), 02:52, 24/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Тут проблема концептуальная.
    Во фре ФФ собирается с нуля из портов.

    Мне не нужны xpi плагины от мазиллы и я бы вообще хотел чтобы браузер с мозилой через инет взаимодействовал только когда я попрошу установить или обновить плагины, а не так как щас, когда туда сливается телеметрия а мне сливаются команды на установку экспериментальных расширений и настроек, чем фактически они превратили браузер в RAT.

    Так вот я это всё не могу отключить при сборке, в том смысле что мозилла потребует удаления своего логотипа и названия тк по их мнению это будет уже не их браузер.
    А деблоатед фф пока почему то не делают, не считая ватерфокса, который был изначально обречённым тк один автор не мог тянуть старый двигло, а теперь растерял фанатов старого двигла, а других не завёл потому что не понятно зачем он нужен.
    В отличии от хрома и около 5 его деблоатед версий, которые отлично поживают.

     
     
  • 2.34, ryoken (ok), 07:36, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >>А деблоатед фф

    LibreWolf, не?

     
     
  • 3.48, Bob (??), 11:06, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Конфиг от васянов? Очень сильно)
    --
    Собранный с исходников и без хлама IceWeasel передаёт привет) Как и IceCat
    --
    По хардкору — Тор Браузер без подключения к Тор сети.
     
     
  • 4.53, ryoken (ok), 16:21, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Собранный с исходников и без хлама IceWeasel передаёт привет) Как и IceCat

    Надо глянуть, есть ли ебилды :).

     
  • 2.36, Аноним (13), 07:50, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Инструмент также патчит MOZ_TELEMETRY_REPORTING, MOZ_CRASHREPORTER и MOZ_DATA_REPORTING. Ещё тебе может подойти https://github.com/arkenfox/user.js/ .
     

  • 1.27, Бывалый смузихлёб (?), 03:52, 24/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Но зачем столько питона :(
     
     
  • 2.28, Аноним (28), 05:21, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это такой намёк: менеджерам FF показали одноглазого удава...
     
     
  • 3.30, Аноним (30), 07:10, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Они только рады будут. Там же сплошная инклюзивность.
     

  • 1.31, Аноним (30), 07:14, 24/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > 1. Learn how to install python packages from git.
    > 2. Install manually the latest versions of the dependencies mentioned in the Dependencies section of this ReadMe.
    > 3. Install this tool.

    Серьезно? Ещеж и питон должен быть установлен самораспоследний. Не проще самому распаковать этот omni.ja и в блокноте пару строчек поправить?

     
     
  • 2.32, Аноним (30), 07:17, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А, все понятно. Всегото и нужно было - посмотреть на автора новости и "инструмента". Больше вопросов нет.
     
     
  • 3.49, Bob (??), 11:12, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На порядок проще)
    1) unzip omni.jar -d <target directory>
    2) вносим правки
    3) zip -0DXqr omni.ja <file(s)/dir(s) to pack>
    Можно под 7-zip переделать
    --
    Короче — батник и 7-zip (или оригинальная утилита ftp://ftp.info-zip.org/pub/infozip/win32/unz552dn.zip) - всё, что нам нужно)
    --
    Фигарить это питоном — клиника и нужно срочно звать санитаров...
     
     
  • 4.52, YetAnotherOnanym (ok), 16:18, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну чо ты сразу "клиника", "санитары"? Чел сделал удобняшку для себя, решил поделиться. Пусть будет.
     
  • 4.57, Аноним (58), 22:17, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    1 скрипт не распаковывает всё хотя наверняка и зипом можно селективно распаков... большой текст свёрнут, показать
     
  • 4.72, Александр (??), 10:38, 16/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А какие ключи под 7-zip чтобы сжимало коректно?
     
  • 2.35, Аноним (13), 07:45, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Ещеж и питон должен быть установлен самораспоследний.

    3.7 должно быть достаточно для установки setuptools 61 (а иметь последнюю версию setuptools для разработчика на питоне - необходимость), необходимого для сборки пакетов, имеющих метаданные в формате PEP 621. Код инструмента специально написан так, что должен пойти и на 3.4, если в стандартной бибилиотеке заменить enum.py и pathlib.py на оные от 3.5. Но я запускал его только на питоне по-умолчанию из пакетов.

     
  • 2.40, Аноним (13), 08:36, 24/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Не проще самому распаковать этот omni.ja и в блокноте пару строчек поправить?

    Проще - когда один раз. А тут это может иметь смысл запихнуть в триггеры пакетного менеджера. Но я это пока-что не реализовал. По-хорошему триггеры для питонячьего кода нужно роутить через мой слой абстракции, который ещё не завершён и неизвестно, когда будет завершён. Слой нужен потому, что питоньи пакеты ставятся из wheel, который является дистрибутиво-независимым форматом. Соответственно, нужен дистрибутиво-независимый python-native формат триггеров. Скорее всего это будут entry_points.

    Но как временное решение никто не мешает создать пакет с триггерами. Если слой абстракции над триггерами не доделаю, видимо придётся сделать так.

     

  • 1.33, mos87 (ok), 07:27, 24/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Чит код открывает секретки
     
  • 1.59, anonymous (??), 02:02, 25/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Крякаем опенсорс... Дожили.
     
  • 1.65, anonymous (??), 22:05, 26/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так мозилла же сама распространяет версии стабильного фф с отключенной проверкой подписей как unbranded builds.
     
     
  • 2.70, Аноним (70), 23:28, 27/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Мне плевать, что там Мозилла распространяет. Лица с виндузятным менталитетом могут себе хоть зип/тар скачать, хоть снэп/флэтпак/докер-контейнер поставить, хоть целую виртуальную машину с Виндой, хоть ванильный фф с мозиллотелеметрией, хоть ребрендированную васяносборку с васянотелеметрией, я им не запрещаю. У меня браузер установлен из пакетов, и цель этого инструмента - пропатчить браузер, установленный из пакетов. Вообще это не я должен такой хренью страдать, а мейнтейнеры дистрибутива следовало бы наложить необходимые патчи. И если Мозилла начнёт права качать - вообще убрать Firefox из дистра и вместо него поставлять IceWeasel/LibreWolf. Что, имя Firefox и иконка с огненной лисой настолько ценны и незаменимы, что ради них надо выходки оторванных от реальности наглецов терпеть?
     
     
  • 3.71, Аноним (71), 11:15, 29/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Лица с виндузятным менталитетом

    Вернее лица, свободные от пакетного рабства.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру