The OpenNET Project / Index page

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

Создание локального сервера обновлений для Firefox
Инструкция, как поднять локальный сервер обновлений для Firefox.
В наличии имелся сервер с Debian Lenny. На него был поставлен apache2 и libapache2-mod-php5

   sudo apt-get install apache2
   sudo apt-get install libapache2-mod-php5

В файле /etc/apache2/sites-available/default директива AllowOverride None была
изменена на AllowOverride FileInfo
В каталоге /var/www был создан каталог
/var/www/update/Firefox/3.0.10/win32/ru/release и туда положены файлы:

   root@db-fw:/var/www/update/Firefox/3.0.10/win32/ru/release# ls -la
   -rw-r--r-- 1 root root  2188005 2009-05-28 11:22 firefox-3.0.10-3.0.11.ru.win32.partial.mar
   -rw-r--r-- 1 root root 10189913 2009-05-28 11:25 firefox-3.0.11.ru.win32.complete.mar
   -rw-r--r-- 1 root root       59 2009-05-28 10:12 .htaccess
   -rw-r--r-- 1 root root      658 2009-05-28 11:20 update
   -rw-r--r-- 1 root root      650 2009-05-28 12:12 update.xml

Файлы firefox-3.0.10-3.0.11.ru.win32.partial.mar и firefox-3.0.11.ru.win32.complete.mar 
были взяты с ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/3.0.11-candidates/build1/

Файлы .htaccess и update были взяты с
https://developer.mozilla.org/en/Setting_up_an_update_server без изменений.

.htaccess:

   <FILES update>
      ForceType application/x-httpd-php
   </FILES>

PHP скрипт update:

   <?php
   header("Content-type: text/xml");

   $url_array=explode("/",$_SERVER["REQUEST_URI"]);
   $noidea=$url_array[2];
   $product=$url_array[3];
   $version=$url_array[4];
   $build_id=$url_array[5];
   $build_target=$url_array[6];
   $locale=$url_array[7];
   $channel=$url_array[8];
   // filename is totally ignored
   $filename=$url_array[9];
   
   $updatefile = "update.dir/$noidea/$product/$version/$build_id/$build_target/$locale/$channel/$filename";

   if (file_exists($updatefile)) {
     $handle = fopen($updatefile, "r");
     $contents = fread($handle, filesize($updatefile));
     echo "$contents";
     fclose($handle);
   } else {
      echo '<?xml version="1.0"?>';
   ?>
   <updates></updates>
   <?
   }

   ?>


Потом был создан файл update.xml:

   <?xml version="1.0"?>
   <updates>
   <update type="minor" version="3.0.11" extensionVersion="3.0.11" buildID="2009042316" 
     detailsURL="http://192.168.0.1/ru/firefox/3.0.11/releasenotes/">
   <patch type="complete" URL="http://192.168.0.1/update/Firefox/3.0.10/win32/ru/release/firefox-3.0.11.ru.win32.complete.mar"
     hashFunction="SHA1" hashValue="1a08be9c203da5fb20f632e970e23331bb21b995" size="10189913" />
   <patch type="partial" URL="http://192.168.0.1/update/Firefox/3.0.10/win32/ru/release/firefox-3.0.10-3.0.11.ru.win32.partial.mar"
     hashFunction="SHA1" hashValue="67683707609194c20188459da2ecfe9853122de4" size="2188005" />
   </update>
   </updates>

Хэш функции были вычислены с помощью sha1sum.

Потом я открыл русский Firefox 3.0.10 для Windows и создал строковый параметр
app.update.url.override со значением
http://192.168.0.1/update/Firefox/3.0.10/win32/ru/release/update.xml и проверил
наличие обновлений.
Firefox успешно нашёл обновление для 3.0.11 и успешно его применил.
 
09.06.2009 , Автор: Unghost , Источник: http://blog.unghost.ru/2009/05/fire... (доп. ссылка 1)
Ключи: firefox, mozilla, update, web, linux
Раздел:    Корень / Пользователю / Работа с Web и Ftp

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, mma (?), 18:32, 09/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а аналогичную вещь можно сделать для дополнений - чтобы фаерфокс тягал их не с интернета а слокального сервера - строго заранее созданный набор
     
  • 1.2, ононим (?), 23:30, 09/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    если еще придумать, как сделать так, чтобы не надо было прописывать в каждом about:config параметр со своим именем сервера.

    вот параметр по умолчанию:
    https://aus2.mozilla.org/update/3/%PRODUCT%/%VERSION%/

    еще статью было бы не плохо дополнить скриптом, проверяющим обновления на сайте мозиллы

     
     
  • 2.3, ононим (?), 23:35, 09/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    сейчас распаковал exe файл фокса простым просмоторщиком архивов и нашел там /localized/browserconfig.properties.
    Думаю, что можно прописать туда настройку на свой сервер и после этого устанавливать фокс с этого exe файла.
     

  • 1.4, luzers (?), 10:00, 10/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    через гпо или реестр данное колдовство можно сделать?
    ну или батничком каким например
     
     
  • 2.5, ононим (?), 12:12, 10/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    фокс не хранит информации в реестре.
     

  • 1.6, Sergio (??), 14:53, 10/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Начиная с версии 3.5 можно будет делать свои сборки фокса ( https://www.opennet.ru/opennews/art.shtml?num=22081 ), так что инструкция как нельзя кстати. Спасибо!
     
     
  • 2.11, pavlinux (ok), 05:20, 16/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Начиная с версии 3.5 можно будет делать свои сборки фокса ( https://www.opennet.ru/opennews/art.shtml?num=22081
    >), так что инструкция как нельзя кстати. Спасибо!

    Начиная с версии 0.0.0.0.0.0.0.0.1-pre-beta-alpha-test.rc0.01 можно делать свои сборки :)


     

  • 1.7, yosemity (ok), 12:00, 11/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как в данном случае обновлять не имея прав админа? Допустим в офисе. Я ставлю и обновляю все проги самописными скриптами на WSH, установка при старте кампа. Установочный экзешник Фаерфокс можно распаковать и огнелис автоматически ставится с ключом /S
    Вот дополнения было б неплохо так автоматизировать.
    Кстати, сам фаерфокс не юзаю и не проверял, но считаю, что браузер  хранит настройки так же как и птицка в текстовых файлах, соответственно при логине юзера можно лопатить (да хоть тем же WSH) файл настроек и менять нужный параметр. Я аналогичным образом генерю профиль птицки для юзера, если у него обнаружено мыло в АД (с правильными подписями, выводимым именем и пр).

    ЗЫ, в упор не вижу обновление 11 %)

     
     
  • 2.8, yosemity (ok), 12:02, 11/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Прошу прощения, про неВиндус я как-то забыл )))
     

  • 1.9, Zenitur (?), 07:57, 12/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для жителей Томска был вроде бы такой проект. firefox.opentomsk.net
     
  • 1.10, pavlinux (ok), 05:17, 16/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дэцкий сад, не меньше...  
    Правильно настроенный Squid за вас всё сделает!

     
     
  • 2.13, hexes (??), 08:31, 03/08/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Стоит squid. Какие настройки?
    Взял бы да ткнул носом... В какую сторону копать?
     


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




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

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