Страница 1 из 11
Модератор форума: LED 
Форум эмуляции игровых консолей » Общий раздел » Свободное обсуждение » Делаем свою сборку Firefox Portable , операподобную
Делаем свою сборку Firefox Portable , операподобную
LEDДата: Четверг, 22.05.2014, 12:32 | Сообщение # 1
Гуру
Группа: Модераторы
Сообщений: 405
Награды: 7
Репутация: 10
Статус: Offline
Старая опера более не поддерживается, а новый движок мало что может и функций старого браузера в нём нет. Старая опера при этом очень медленно работает со скриптами и после недавнего обновления youtube стал очень медленным, на прогруз каждой страницы уходит несколько минут.
ФФ ничего не умеет, да и с дополнениями умеет не совсем всё, но они хотябы есть, при этом браузер в своё время был очень раскручен, до появления хрома который пока лидирует всем модным, но не характиристиками.

Скачать
Вариант 1
Полная сборка на обменнике Доступно только для пользователей

Вариант 2
Только дополнения и настройки, без браузера.
Установка.
1.Получить FirefoxPortable из PortableApps, если это FirefoxPortable_29.0_Russian.paf.exe установить в удобную папку следуя мастеру установки и запомнив путь.
По умолчанию установка создаёт папку в текущей, или в папке PortableApps.com Platform если она используется.
2.Распаковать содержимое архива Доступно только для пользователей.zip в папку FirefoxPortable с портативным приложением

Скрин

 
LEDДата: Четверг, 22.05.2014, 13:10 | Сообщение # 2
Гуру
Группа: Модераторы
Сообщений: 405
Награды: 7
Репутация: 10
Статус: Offline
Качаем.
FirefoxPortable
Для сборки был взят FirefoxPortable portableapps.com текущей версии 29 .
Запускаем файл FirefoxPortable_29.0_Russian.paf.exe и получаем папку FirefoxPortable стандартной для portableapps.com структуры, что значит тут есть и лишнее.

Папка App/DefaultData хранит все предустановки браузера она то и нужна.
Папка Data содержит текущий профиль, её нужно будет удалять для чистого запуска с новыми настройками.
Файл help.html ресурсы которого в Other\Help мало информативен, а если точнее бесполезен. Всю папку Other лучше запаковать в один файл это ускорит копирование на флешку, можно и вообще её удалить. Эта папка нужна только для сборки FirefoxPortable.exe
Чтоб при запуске браузера не опвлялось надоедливое окно запуска нужно в папке сборки рядом с FirefoxPortable.exe создать файл FirefoxPortable.ini с содержимым
Код
[FirefoxPortable]
DisableSplashScreen=true
часть из возможностей файла описана в Other\Source\Readme.txt .

Программы.
Для сравнения файлов взято первое что попалось, Diffuse оказалась удачной программой наблюдения. Не блокирует файл от удаления или редактирования, сравнивает в реальном времени.
Редактор файлов Notepad++ который есть и на portableapps

Установка дополнений.
Тактика.
1.Найти нужное дополнение.
2.Настроить отслеживая изменение настроек в профиле.
3.Создание этих изменений в App\DefaultData .

Поиск дополнений это самое сложное, бывает что они немного похожи на нужные , но для правильной работы нужно изменить почти все настройки. Установка дополнений идёт с сайта mozilla , найти их можно будет в папке профиля,
для портативной версии это Data\profile\extensions .
Дополнение может быть zip архивом с расширением .xpi или папкой. Чтоб узнать название дополнения нужно зайти на страницу about:addons в браузере.

Нужное дополнение кидаем в App\DefaultData\profile\extensions , удаляем папку Data и запускам браузер.
В окне программы Diffuse открываем файл Data\profile\prefs.js , делаем его копию например -prefs.js и открываем в другом окне, сейчас файлы равны и разница может быть только в служебных записях браузера.
Включаем дополнение и смотрим что изменилось в prefs.js , чаще там отличие от дефолтных настроек дополнения, но не всегда дополнение там чтото меняет.

Чаще всего при запуске дополнения открывает новая вкладка , бывает и что на этой вкладке меняются настройки, такие вкладки лучше сразу отключать. Когда будет много дополнений браузер запустится с десятками вкладок и часть настроек пропадёт. Одна из подобных неприятностей пропадание кнопки с нужного места в панель инструментов или вообще в набор кнопок.
Некоторые неиспользуемые кнопки дополнений лучше убрать из набора на скрытую панель.

Чтоб отключить эти вкладки нужно поискать в prefs.js упоминание версии или firstrun от этого дополения.
В некоторых программах это так
Код
/*All-in-One Sidebar 0.7.22*/
user_pref("extensions.aios.changelog", "0.7.22");

/*Tab Mix Plus 0.4.1.3.1*/
user_pref("extensions.tabmix.version", "0.4.1.3.1");
Таким же способом сравнивая prefs.js в Diffuse с его первой копией находим нужные строки меняя настройки дополнения. Дополнение может менять и настройки самого браузера, такие настройки лучше лишний раз проверить.
Все нужные изменения нужно записать в App\DefaultData\profile\prefs.js .

Бывает что дополнение ничего не меняет в настройках и просто хранит их в одном файле. Так делает FireGestures храня все настройки в Data\profile\firegestures.sqlite .
Другие программы как написанная на java SmoothWheel может писать в prefs.js вообще все свои настройки, и не сразу, а с задержкой.

Используя настройки prefs.js и другие, при запуске браузера в нём будет уже настроенные дополнения, остаётся только включить их и расставить кнопки.
Таким способом находится большинство настроек, но не все.

Вот что получилось с несколькими дополнениями для создания минимального удобства Opera.
App\DefaultData\profile\prefs.js
 
LEDДата: Понедельник, 26.05.2014, 01:58 | Сообщение # 3
Гуру
Группа: Модераторы
Сообщений: 405
Награды: 7
Репутация: 10
Статус: Offline
Настройка интерфейса
Настройки кнопок и панелей интерфейса хранятся в файле localstore.rdf и в параметре browser.uiCustomization.state .

Тут всё проще, по традиции удаляем папку Data чтоб не захватить лишний мусор, запускаем браузер, включаем дополнения, перезапускаем браузер, настраиваем интерфейс и выключаем браузер в нужной настройке.

Для эстетической чистки можно удалить из Data\profile\localstore.rdf кусок кода с упоминаем #main-window и его размеров
Код
<RDF:Description RDF:about="chrome://browser/content/browser.xul#main-window"
                        width="960"
                        aiosOpen="false"
                        aiosVButtons="true"
                        screenX="4"
                        height="745"
                        sizemode="normal"
                        screenY="64" />

Полученный localstore.rdf кидаем в App\DefaultData\profile .
Вот что получилось

С файла Data\profile\prefs.js копируем строку в App\DefaultData\profile\prefs.js , проще всего её найти в Diffuse .
Строка эта очень длинная

Запуск дополнений
Запустить дополнения без указания путей оказалось самым сложным. Переменных в браузере нет или я их не нашёл, а единственный подозреваемый файл extensions.json оказался написан в 1 строку, да ещё и с кучей параметров.
В этом файле очень строгий синтаксис и потеряв одну запятую ничего работать не будет, комментарии так же запрещены.

Методом вырезок удалось найти нужный минимальный кусок кода.
Список дополнений находится в каркасе
Код
{"schemaVersion":16,
"addons":[
описание дополнения
]}

Код
{"id":"{097d3191-e6fa-4728-9826-b533d755359d}","location":"app-profile",
"defaultLocale":{"name":"","description":"","targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"29.0","maxVersion":"29.*"}],"targetPlatforms":[]}
},

{097d3191-e6fa-4728-9826-b533d755359d} идентификатор самого дополнения такой же как и его название в папке extensions.
{ec8030f7-c20a-464f-9b0e-13a3a9e97384} идентификатор приложение в котором работает дополнение, в данном случае браузер Firefox.

"minVersion":"29.0","maxVersion":"29.*" минимальная и максимальная версия приложения пишется после каждого guid приложения.
Если идентификатор и версии не соответствуют приложению в котором они установлены и даже работают, дополнение включить невозможно.
Поскольку в сборке используется Firefox 29 , то эти предварительные настройки будут работать только в нём, но не в другом. После того как профиль будет создан запущенным браузером, файл extensions.json будет перезаписан, перенесённый профиль в другой firefox подобный браузер вероятно будет работать.

Это предварительные урезанные настройки extensions.json для запуска браузера с включенными дополнениями. В других браузерах возможно эти настройки не включат дополнения потому как сильно урезаны и их нужно будет дополнить.
После запуска браузера файл Data\profile\extensions.json будет перезаписан уже с полными настройками и в 1 строку.
Получившийся App\DefaultData\profile\extensions.json
 
LEDДата: Понедельник, 26.05.2014, 03:02 | Сообщение # 4
Гуру
Группа: Модераторы
Сообщений: 405
Награды: 7
Репутация: 10
Статус: Offline
Баги сборки.
В процессе были случаи случайного раскомментирования вписанных настроек в prefs.js , хотя возможно проблема не только в этом.
Страница первого запуска отключена , но при тестировании она почемуто включилась. При этом в папке сборки вместо неё как и положено домашняя страница. Мелочь, но по возможности поправлю

Информация на странице встроенная в боковой панели All-in-One Sidebar, работает не корректно, баг дополнения.На сильно скриптованых сайтах, невозможно сменить вкладку на "мультимедиа" или другую дольше чем на 3сек.
Решение пока одно, отключить "информацию о странице" из боковой панели, в своём окне оно работает корректно.
 
adminДата: Вторник, 27.05.2014, 13:46 | Сообщение # 5
Admin
Группа: Администраторы
Сообщений: 414
Награды: 3
Репутация: 5
Статус: Offline
Использую периодически Chrome Portable, сталкиваюсь с медленной загрузкой или зависанием страниц. Как в этом плане Firefox Portable себя ведет?

 
LEDДата: Вторник, 27.05.2014, 18:46 | Сообщение # 6
Гуру
Группа: Модераторы
Сообщений: 405
Награды: 7
Репутация: 10
Статус: Offline
Не пользуюсь хромом, репутация его не очень, а функционально он никак. Знаю что сайты он открывает ровно , долго им никогда не пользовался.

У оперы страница показывается до того полностью загружена, лис так не может ему нужно загрузить всю, думаю что и у хрома также.
На некоторых сайтах много скриптов особенно рекламных и бывает что они никуда не ведут, с медленным интернетом страница долго грузится даже в опере.

Если вспомнить провайдеров у ростелекома есть такая проблема что скорость отдачи 200кб не смотря на мегабитную скорость закачки, сложные страницы открываются очень долго. Но это адсл,и наверно вдсл, как их оптика не знаю.

Сейчас сменил провайдера на оптику частная компания, скорость хорошая, пинг был 20 , теперь доходит до 50 как у ростелекома, но хотябы скорость отдачи есть не смотря на падение днс и ночные отвалы инэта.

На сайтах бываю не на многих, иногда бывает что по ссылке в поиске не грузится вообще, скорее дело в сайте.
Интересное явление на gdeposylka.ru , страница из письма открывается сразу, первая страница с подробным описанием тоже сразу, на следующих задумывается, возможно просто защита сайта от перегрузки базы.
speedtest.net тормозит флеш теста (в опере 12 не тормозит) трудно чтото выбрать, отключил ImgLikeOpera стало можно выбирать, но всё равно тормозит. Сам сайт рекламирует хром, думаю дело в оптимизации.

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

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


Прикрепления: 4277167.gif(8Kb)
 
LEDДата: Среда, 28.05.2014, 02:11 | Сообщение # 7
Гуру
Группа: Модераторы
Сообщений: 405
Награды: 7
Репутация: 10
Статус: Offline
Маленькая неприятность.
Это скорее проблема пользователей оперы и появляется в стандартной связке Firefox+FireGestures , хотя это и решаемо ковыряния настроек, но в виду фанатов окон глобально их менять не буду, а для себя не имеет смысла, часто удаляю профиль.

FireGestures это такое дополнение которое делает с помощью правой кнопки мыши почти полный контроль над браузером, это десятки жестов, при этом левая кнопка и уж колёсик вообще не нужны.
Доходит да такого бреда как открытие ссылки в новой вкладке с помощью жеста, я вообще не представляю как это, но вероятно связано с тем что нужно зажать левую кнопку на ссылке и потом правой сделать жест, хотя этоже действие делается простым нажатием колёсика.
В моём случае это пришлось отключить, нужен именно этот жест, и ссылки больше нельзя перетаскивать, включен костыль для их выделения.

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

Так вот неприятность в том что очень часто при закрытии вкладки(вниз вправо) создаю новое окно(вниз вправо вверх), а закрывать это окно жестом не умею smile
 
LEDДата: Четверг, 05.01.2017, 21:34 | Сообщение # 8
Гуру
Группа: Модераторы
Сообщений: 405
Награды: 7
Репутация: 10
Статус: Offline
Обновил браузер x64 до версии 50.1 , скорости добавилось вдвое.
Пошлая сборка была ночной 39, с памятью работала в режиме 32бит.
Теперь и память жрёт вдвое меньше.
С 32бит пока не связывался, неначем тестировать, хотя там только папку заменить и пару файлов докинуть.
Проект можно скачать с гита https://github.com/74ls00/FirefoxPortable

При запуске FirefoxPortable.exe система определяется автоматически, так что пользователи 32бит ничего нового не увидят.
Хотя есть вариант положить другой запускатор от портативной версии где нет 64 версии.
Файл FirefoxPortableRun.bat делает бэкап сессии перед запуском.
Никакой надёжной защиты от потери сессии нет, так что лучший способ физически сохранять копию файла.

Картинка с кучей вкладок
 
Форум эмуляции игровых консолей » Общий раздел » Свободное обсуждение » Делаем свою сборку Firefox Portable , операподобную
Страница 1 из 11
Поиск: