dwwb - Добро пожаловать! Снова.
До Н.Г.

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

Опубликовано: 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

Читать далее

HotLauncher

Опубликовано: 14-07-2015 23:08 Автор: MBTY Теги: Мои разработки


Новое поделие. HotKeyLauncher (HL)
Надоело пихать всякое в панель быстрого запуска, а лаунчеры по краям экрана - не люблю.
Заделал микролаунчер, который ставится в автозагрузку ОСи и вызывается через Ctrl+Alt+Пробел. Появится контекстное меню, а по выбору пункта - запустится программа.


  1. Имеется возможность создания разделителей для меню написанием. "-=-"
  2. Имеется возможность создания меню с вложениями делается так:
    • Заголовок указывается дважды (Заголовок = Заголовок)
    • Открытие подуровня через "(=("
    • Пункты меню
    • Закрытие подуровня через ")=)"
Меню лаунчера, разумеется, редактируется. Пример Ini для меню со скриншота:
[opt]
Блокнот=%WinDir%\notepad.exe
Paint=%WinDir%\System32\mspaint.exe
Калькулятор=calc

Питание = Питание
(=(
Выключение через 60 сек.=shutdown -s -t 600
Отменить выключение=shutdown -a
)=)

-=-

Игры = Игры
(=(
Солитер="c:\Program Files\Microsoft Games\Solitaire\Solitaire.exe"
Сапер ="c:\Program Files\Microsoft Games\Minesweeper\MineSweeper.exe"
Паук="c:\Program Files\Microsoft Games\SpiderSolitaire\SpiderSolitaire.exe"
Червы= "c:\Program Files\Microsoft Games\Hearts\Hearts.exe"
Шахматы="c:\Program Files\Microsoft Games\Chess\Chess.exe"
)=)
Скачать

Читать далее

Установка Android x86 рядом с Windows XP

Опубликовано: 20-05-2015 20:53 Автор: MBTY Теги: Мои разработки, Android

Руководство для XP не проверял. Писал, опираясь на память. Всё делаете на свой страх и риск!
Нужно, чтобы, при включении компьютера, осуществлялся выбор системы: Либо Windows XP, либо Android.
Нам понадобится:
1) Чуть допиленный дистрибутив Androidx86 4.4 R1 от мая 2015 (тот же, что и для 7-ки здесь)
2) Приложение редактирования меню загрузки Windows. Буду использовать BootICE - есть русский интерфейс, установка не нужна, маленький размер.
Начнем.

Читать далее

Hash Drive Test

Опубликовано: 16-03-2015 10:34 Автор: MBTY Теги: Мои разработки

Hash Drive Test (dwwb.ru)Hash Drive Test Накопилось несколько частично рабочих флешек. Недуг общий - заливаешь файлы - все читаются и открываются, проходит время - какой-нибудь файл превращается в кашу. То есть сектора флешки читаются, но, почему-то сбоят. У одних недуг проявлялся только после отключения/подключения флешки, у других сразу. И пользоваться такими особо не хочется и выбрасывать жалко. Такие сгодились бы для хранения музыки для автомобильного магнитофона, переноса видео на телевизор и вообще для работы с прочей некритичной информации. Всякие Crystal Disk Info и виктории в упор не увидели поврежденных секторов, а потому и пометить их как нерабочие я не смог.
В голову пришла идея закинуть множество копий одного и того же файла, проверить его целостность (md5), найти поврежденные и оставить их на своих местах, как "заплатки", а неповрежденные удалить. Это место и было бы новым рабочим объемом флешки.
Ручками такое делать лень:
1) Создать несколько копий
2) Залить на флешку
2а) Извлечь флешку на время
3) Сверить целостность
4) Повторить для нескольких флешек

К тому же такое встречал и с HDD (Seagate 320): секторов битых нет, а файлы повреждаются. Делать такое на объеме в 8ГБ - не так то тяжело, а проверять 320 ГБ не сильно хочется.

Создал инструмент, который делает всё за нас.
1) Мы выбираем тестируемый диск и файл (любой, на ваше усмотрение), затем жмем старт
2) Приложение просчитывает MD5 выбранного нами файла
3) Копирует файл с именем по нарастающей (1,2,3.....144,145....)
4) Сразу сверяет MD5 с оригиналом и выдает результат в список удачных или ошибочных результатов.
5) Повторяет шаги с 2 по 4, пока на тестируемом носителе не закончится свободное место.

Галочка "Копировать файлы" нужна, если мы хотим провести сразу и копирование и проверку CRC, но, есть флешки, которые не сбоят, пока их не переподключишь.
Для таких флешек:
1) Делаем тест с включенной галочкой
2) Отключаем флешку
2а) Тушим компьютер, ложимся спать, гуляем....
3) Запускаем Hash Drive Test, выбираем флешку, оригинальный файл для теста.
4) Проводим тест без галочки - файл копироваться повторно уже не станет, а только проверится MD5 с оригиналом.

Скачать

Читать далее

Как выбрать имя для ребенка?

Опубликовано: 23-02-2015 11:22 Автор: MBTY Теги: Мои разработки

Пришло время выбирать имя для ребенка? Бывает :)
Вот вам рулетка с самыми популярными именами для девочек и мальчиков - "NameDice".
Всего две кнопки. Жмёте нужную - получаете имя. Некоторые с коротким описанием, некоторые-нет.

Скачать

Читать далее

Дайте ЛЮДЯМ рому!

Опубликовано: 10-02-2015 11:20 Автор: MBTY Теги: Youtube

Делаем бэкап FTP папки

Опубликовано: 08-02-2015 21:18 Автор: MBTY Теги: Консоль, Мои разработки

Нужно сделать резервную копию сайта на компьютер по FTP.
Есть множество инструментов, которые это способны осуществить, но часто от приложения не нужно десятка лишних функций, интерфейса и прочего. Нужно только, чтобы приложение работало.
Больше скажу. Достаточно скрипта, который скачивал бы содержимое и архивировал.
Сделал два скрипта:
1) !GO-7z скачивает нужную папку со всем ее содержимым через Wget и архивирует скачанное в файл с датой. Например: 2015-02-08_21-26-45.7z
Минус этого метода - каждый бэкап - отдельный файл. Даже, если в сайте были изменения на 2-3КБ, то бэкап будет в мегабайт 10. Нужно делать инкрементальный бэкап.
2) !GO-wim точно так же скачивает папку, но сжатие ведется через imagex в wim файл. Бэкап всегда будет делаться в один и тот же файл, в котором будет несколько вариантов бэкапа с разной датой.
Настройки осуществляются в начале скрипта:

set FTPHost=ftp://some-ftp.com     - Тут вводим адрес ftp сервера
set FTPFolder=www/site.ru/content          - Папка на FTP, которую нужно забэкапить
set FTPPass=*******       - Пароль к FTP
set FTPUser=UserName   - Логин к FTP
set wimfile=Backup    - Эта строка есть только в !GO-wim   - настройка имени бэкапа. Файл будет называться backup.wim
Сам пользуюсь wim-методом. Папка для бэкапа - 350МБ. Пара-тройка бэкапов в 7z - 1ГигаБайт. Десяток бэкапов в wim - 350МБ.

Скачать

Читать далее
Версия для слабовидящих

Заранее спасибо за поддержку!