Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Поддержка Firefox 60+ #18

Closed
Object905 opened this issue Nov 16, 2017 · 20 comments
Closed

Поддержка Firefox 60+ #18

Object905 opened this issue Nov 16, 2017 · 20 comments

Comments

@Object905
Copy link

Firefox 57 вышел в stable и перешел на Web Extension. Все довольно просто, proxy API PAC скрипты поддерживает. Изменения в основном коснутся неймспейсов.

Подробнее https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension

Будет время займусь сам (не очень скоро), если никто не заинтересуется.

@ilyaigpetrov
Copy link
Collaborator

Если бы не нависшая угроза забанить наши сервера, то однозначно отдался бы портированию. А так ещё неясно -- ты его портируешь, а на следующий день нас забанят.

@ilyaigpetrov
Copy link
Collaborator

По любым вопросам -- пишите на почту, можете деже мессенджер взять, помогу разобраться в коде.

@ilyaigpetrov
Copy link
Collaborator

ilyaigpetrov commented Nov 17, 2017

https://github.com/anticensority/chromium-extension/tree/firefox-port
Сюда можно pull-request сделать.

@ilyaigpetrov
Copy link
Collaborator

ilyaigpetrov commented Nov 21, 2017

Нужен аналог chrome.proxy.settings.set, вот есть proxy.register(url):
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/proxy/register:

url -- URL pointing to the PAC file to load. PAC files must be bundled with the extension, and url must be relative to the extension's manifest.json file.

У нас PAC-файлы постоянно обновляются с сервера и паковать их вместе с расширением мы не можем.

@ilyaigpetrov
Copy link
Collaborator

Первый рабочий порт, но всё равно лучше, чем на хроме работать не будет по ряду причин.

@ilyaigpetrov
Copy link
Collaborator

ilyaigpetrov commented Nov 28, 2017

Баг с неоткрыванием опций при установке зависит от этого билета: https://bugzilla.mozilla.org/show_bug.cgi?id=1420606
Происходит из-за того, что window.location.hash присваивается значение.

@ilyaigpetrov
Copy link
Collaborator

Они сняли расширение с магазина, т.к. у них появились подоздрения к безопасности кода.

@ilyaigpetrov
Copy link
Collaborator

ilyaigpetrov commented Nov 30, 2017

Firefox-порта не будет, т.к. по мерам безопасности нелокальные PAC-скрипты запрещены:

Using remote PAC files is not allowed.
https://wiki.mozilla.org/Add-ons/Reviewers/Guide/Reviewing#Policies_and_Actions_3

@ilyaigpetrov
Copy link
Collaborator

Чтобы сделать расширение для Firefox, придётся написать серверные скрипты, подготавливающие данные с https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv в каком-то виде, употребляемые Firefox-расширением. Это всё равно, что новое расширение написать. Я этого делать пока не хочу.

@sergeevabc
Copy link

Прошёл год. Может быть, что-то изменилось к лучшему?

@ilyaigpetrov
Copy link
Collaborator

В документации чётко сказано, что PAC-скрипт должен устанавливаться через URL к локальному файлу:

URL pointing to the PAC file to load. PAC files must be bundled with the extension, and url must be relative to the extension's manifest.json file.

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy/register#Parameters

Так что установить один из наших PAC-скриптов выходит только через хаки типа eval, что противоречит политикам безопасности магазина FireFox.

@ilyaigpetrov
Copy link
Collaborator

2018-05-09 выпустили Firefox 60 -- в нём есть proxy.settings и параметр autoConfigUrl. Работает так:

chrome.proxy.settings.set({
  value: {
    proxyType: 'autoConfig',
    autoConfigUrl: 'https://antizapret.prostovpn.org/proxy.pac',
  }
}, console.log);

Жаль, что я раньше не заметил.

@ilyaigpetrov ilyaigpetrov reopened this Oct 12, 2020
@ilyaigpetrov
Copy link
Collaborator

Первая тестовая версия для самых нетерпеливых: https://github.com/anticensority/runet-censorship-bypass/releases/tag/0.0.1.43-test1. Об ошибках и неисправностях лучше сообщать не сюда, а в новосозданный билет.

@ilyaigpetrov ilyaigpetrov changed the title Поддержка Firefox 57+ Поддержка Firefox 60+ Oct 12, 2020
@ilyaigpetrov
Copy link
Collaborator

ilyaigpetrov commented Oct 17, 2020

Прошёл проверку и опубликовал версию для тестирования 0.0.1.45 в магазине: https://addons.mozilla.org/addon/обход-блокировок-рунета (короткая ссылка: https://rebrand.ly/rcb-firefox).

В ней распирает интерфейс --, думаю, что это связано с этим багом: https://bugzilla.mozilla.org/show_bug.cgi?id=1671778.
Также в ней что-то не так с размером шрифта.

@ilyaigpetrov
Copy link
Collaborator

Предлагаю всем заинтересованным проголосовать за исправление бага, из-за которого распирает интерфейс расширения.
Для этого нужно:

  1. Зайти на https://bugzilla.mozilla.org/show_bug.cgi?id=1671778.
  2. Авторизоваться.
  3. В разделе "Details" нажать на кнопку "Vote", поставить галочку и нажать "Change My Votes".
    bugzilla-vote-for-bug

Возможно, это будет не единственный баг, который мешает нормальной работе расширения -- новые баги я буду публиковать в этой переписке.

@ilyaigpetrov
Copy link
Collaborator

Я опубликовал список багов и ограничений, мешающих нормальной работе расширения, здесь: #76.
Вдруг вы пропустили.
Благодарю за содействие.

@ilyaigpetrov
Copy link
Collaborator

В опубликованной версии 0.0.1.49 заработал PAC-скрипт "Антицензорити".
Билет для обсуждения: #77.

@macktab
Copy link

macktab commented May 21, 2021

Спасибо, товарищи.

@ilyaigpetrov
Copy link
Collaborator

В опубликованной только что версии 0.0.1.52 окно расширения больше не распирается.
Также с расширения сната метка "экспериментельное".
https://rebrand.ly/ac-firefox

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants