Консольные помогаторы
$$$
До Н.Г.

Консольные помогаторы

Опубликовано: 24-07-2015 21:16 Автор: MBTY Теги: HTML, Мои разработки
А сегодня у нас два консольных костыля за раз.
Первый - NetSize:
Небольшая утилита, которая просто получает размер файла с сервера.
Вся эта паника вокруг Flash Player с его ежедневными фиксами привела к тому, что нужно каждый день обновлять установочные дистрибутивы браузеров на моей флешке.
У ЯндексБраузера ссылка на скачивание последнего билда имеет вид: http://browser.yandex.ru/download/?os=win&full=1
При обновлении дистрибутива ни aria2c ни wget не могут сравнить файл на сервере с файлом на флешке, потому что на сервере у него всегда меняется имя. Получается, что браузер всегда приходится перекачивать, даже если он не обновлялся.
Получается нужна сравнивалка размеров файла на сервере с локальным файлом. Получился NetSize.
Вбиваем в консоли NetSize "http://browser.yandex.ru/download/?os=win&full=1" и получаем в ответ 59194320 Скрипт, который демонстрирует его работу выглядит так.
1) for %%I in (Yandexlatest.exe) do set LocalFileSize=%%~zI
2) for /F %%a in ('%~d0\!_Soft\netsize "http://browser.yandex.ru/download/?os=win&full=1"') do set NetFileSize=%%a
3) if "%LocalFileSize%"=="%NetFileSize%" goto setup
4) :download
5) wget --trust-server-names --no-check-certificate "http://browser.yandex.ru/download/?os=win&full=1" -q -nv -N -O Yandexlatest.exe
6) :setup
7) Yandexlatest.exe
Поясню построчно.
1) Получаем размер файла на флешке и назначем ему переменную LocalFileSize
2) Получаем размер файла на сервере и назначем ему переменную NetFileSize
3) Если размеры одинаковы, то перескакиваем к процессу установки с маркером Setup, пропустив процесс скачивания.
4, 5) Если размеры не совпали, то начинается процесс скачивания с последнующей установкой.
6, 7) Установка браузера.
Скачать NetSize
Второй костыль - OPI:
Простая, но полезная утилита, которая будет удобна для обновления разных дистрибутивов.
Для примера рассмотрим как выкладываются дистрибутивы браузера Opera на оффициальном сервере.
Перейдя по ссылке http://get.geo.opera.com/ftp/pub/opera/desktop/, мы увидим, что нумерация версий приводит к тому, что в самом низу последним идёт самый свежий релиз браузера 30.0.1835.88
Сталкивался в сети с хитроумным скриптом для выполнения подобной цели - нахождение последнего билда любой программулины на страницах подобного формата. Скрипт скачивал всю страницу через Wget, отсеивал все ссылки в отдельный файл через find, затем gsar чистил сылку, чтобы получить только номер билда. Итого три утилиты.
OPI делает всё это за раз. Комманда opi.exe "http://get.geo.opera.com/ftp/pub/opera/desktop/" выдаёт в консоль: 30.0.1835.88 Скрипт демонстрации работы Opi:
1) for /F %%a in ('opi.exe http://get.geo.opera.com/ftp/pub/opera/desktop/') do set BUILD=%%a
2) wget http://get.geo.opera.com/ftp/pub/opera/desktop/%BUILD%/win/Opera_%BUILD%_Setup.exe
1)Opi вычисляет свежий билд и назначает переменную BUILD
2)wget скачивает файл по ссылке, но заменяет %BUILD% на 30.0.1835.88: http://get.geo.opera.com/ftp/pub/opera/desktop/30.0.1835.88/win/Opera_30.0.1835.88_Setup.exe

Скачать Opi

Комментарии
2 + 9
 

    Жамкай
    Последние комментарии
    31 - следим за близкими :)24.09.2017 (20:20)
    DannyhEn : [b]sweetcarollinne chaturbate [/b] http://www.camersave.bid/film/shakirababy Maren and Aloura both...
    31 - следим за близкими :)24.09.2017 (15:35)
    LeonSott : Dynasty Medical Present has locations to serve you in: Aberdeen, Cary, Clayton, Clinton, Dunn, Fuqua...
    31 - следим за близкими :)24.09.2017 (15:22)
    Inesoa : Medicines are comfortable in the public, covert, and informal sectors in urban and exurban areas. Ge...
    31 - следим за близкими :)24.09.2017 (14:43)
    Pedarmed : Medicines in this category embrace antidepressant medicines , and other mental constitution medicine...
    31 - следим за близкими :)24.09.2017 (14:05)
    Darylei : As affectionately as a strictly monitored expansion process, medicines last to be carefully regulate...
    31 - следим за близкими :)24.09.2017 (13:41)
    Miloklal : At your marines, our proficient tandem join up purposefulness dress you with the supplies and facts ...
    31 - следим за близкими :)24.09.2017 (13:13)
    Flintpi : Generic medicines are reach-me-down more again on treatment because they are as effective as the que...
    ◘▲▼▲◘◘▲▼▲◘◘▲▼▲◘
    epn - партнерская программа крупнейшей в мире торговой площадки AliExpress.
    TCPHost new- дешевый быстрый хостинг с гибкой настройкой тарифа и отзывчивым саппортом.
    Links Ads new - сокращай ссылки и получай деньги (даже без сайта)
    DepositFiles new - один из самых честных и проверенных обменников
    ICQadvert new - 2500р./1к кликов vk-message.
    advmaker - смешанная ПП для жирных белых сайтов.
    Telderi new - лучшая в рунете биржа купли-продажи сайтов!
    Sape - древнейшая биржа покупки/продажи ссылок.
    GoGetLinks - первая и лучшая биржа вечных ссылок.
    Wizard-Banners - медиарич парнерка, от 80Р/1000 показов.
    Media Rich - гибкая медиарич/попандер партнерка.
    ГдеСлон - гибкая товарная парнерка.
    Seopult - биржа автоматического продвижения.
    Rookee - мощная альтернатива Сеопульту.
    Blogun - постовые и вечные ссылки.
    Webunder - правильный кликандер 100Р/1000 показов.
    Popunder - мощный, механизмы от пессимизации.
    Teasernet - старейшая надежная тизерная сеть.
    Ladycash - женские тизеры, высокие ставки клик от 2+РУБ.
    Alawar - продажа мини-игр от мастистого издателя.
    Fotocash - парнерка тамагочи/дейтинга, высокая конверсия.
    Avtoprogon - автоматический прогон по 7,652 каталогам.
    Runetki new - партнерка ведущего эротического видеочата!
    Admitad - старая, честная, гибкая PPA.