Автоматическая проверка готовности загранпаспорта

Гос. органы идут в массы, постоянно вводят новые, удобные для граждан (по крайней мере на первый взгляд), формы взаимодействия.
К такому нововведению можно отнести и сервис проверки готовности загран. паспорта на сайте УФМС, расположенный по адресу http://www.ufms.spb.ru/checkzp.php. С помощью сервиса можно быстро узнать, готов ли загран. паспорт или еще находится в процессе оформления, введя в поля формы данные своего гражданского паспорта (также доступна проверка по данным из свидетельства о рождении).

Всё в принципе хорошо и удобно кроме одной мелочи — чтобы воспользоваться проверкой готовности — нужно периодически вспоминать о ней и заходить на сайт. По-моему, приделай УФМС автоматическое оповещение о готовности паспорта по электронной почте — сервис выглядел бы законченным и действительно удобным в использовании.

Но раз УФМС не идет на встречу гражданину, значит гражданин должен сам облегчить себе жизнь. Я решил сделать это используя три простых и доступных инструмента: консольный браузер lynx (для отправки данных формы POST-запросом), планировщик заданий cron (для периодической проверки готовности загран. паспорта) и утилиту поиска по тексту grep (для поиска нужной строки в дампе страницы), для чего написал простенький скрипт, который закинул в cron. Скрипт с указанным в кроне периодом проверяет готовность моего паспорта и присылает мне отчет на электронную почту (которая указана в настройках крона).


#!/bin/sh
echo "checkser=p&seriap=XXXX&numberp=YYYYYY&submit=%CF%F0%EE%E2%E5%F0%E8%F2%FC" | lynx -post_data -dump http://www.ufms.spb.ru:80/checkzp.php | grep 'Ваш заграничный'

Вместо ХХХХ нужно подставить серию своего гражданского паспорта (макс. 7 символов, что, как я понимаю, позволяет использовать серии старых паспортов, с римскими цифрами), а YYYYYY заменить соотв. на его номер (макс. 6 символов). Если запускать скрипт из-под английской локали, то шаблон для grep надо изменить с ‘Ваш заграничный’ на ‘Vash zagranichnyj’, поскольку скрипт отдаст страницу в латинице.

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

Дополнение:
Если сайт проверки готовности загранника постоянно «радует» сообщением о превышении числа запросов, можно пропустить их через tor. В этом случае удобно будет воспользоваться другим способом отправки форм POST-методом из lynx — записать автоматический скрипт, который и будет осуществлять проверку.

Посутпаем следующим образом:

  1. вызываем lynx с ключем cmd_log=имя_файла_куда_сохранить_скрипт:
    lynx -cmd_log=script_name http://www.ufms.spb.ru:80/checkzp.php,
    вводим серию и номер паспорта, отправляем запрос, дожидаемся загрузки страницы с ответом и закрываем браузер.
  2. в дополнение к tor устанавливаем torsocks — утилита несколько сырая, но дело своё делает исправно, перенаправляя траффик на tor (можно естественно использовать любой понравившийся прокси, указав его в качестве умолчального export http_proxy="address:port").
  3. вызываем lynx через torsocks или выбранный прокси с указанием использовать для автоматизации отправки данных формы записанный ранее файл скрипта с передачей результатов работы на разбор в grip:
    torsocks lynx -cmd_script=script_name http://www.ufms.spb.ru:80/checkzp.php | grep «Ваш заграничный»

Всё, автоматизация проверки готовности заграничного паспорта успешно проведена! Пока скрипт работает за человека, человек может расположиться у телевизора и спокойно отдохнуть :)

Небольшое обновление генератора XML для WordPress

WordPress XML Creator Online (онлайн версия генератора XML файлов для импорта и автоматического наполнения блогов на wordpress) получила небольшое, но достаточно полезное, по-моему, дополнение — возможности добавления картинок к записям.

Ссылки на картинки берутся случайным образом из списка, указанного пользователем (если список оставить пустым — ничего к записям добавлено не будет) и добавляются в начало каждой записи, при это поддерживается два варианта обработки списка:

  • «Повторы возможны» — использованные ссылки не удаляются из списка, поэтому картинки могут повторяться.
  • «Без повторов» — каждая ссылка используется только один раз. Если ссылок меньше, чем записей — часть записей останется без картинок.

Ссылки указываются по одной на строку следующем виде:

  • http://mysite.ru/img01.jpg
  • http://mysite.ru/img02.jpg
  • И далее сколько нужно (в разумных пределах, поскольку скрипт не примет больше, чем 0,7 Мб данных в совокупности)

Подробней с возможностями программы можно ознакомиться на справочной странице.

Надеюсь, что нововведение окажется полезным. Предложения и сообщения об ошибках в работе WordPress XML Creator по-прежнему прошу присылать на адрес dimio@dimio.org.

cgroups — повышаем отзывчивость Linux

С недавних пор по интернету ходит новость про чудо-патч для ядра Linux, сильно уменьшающий время отклика системы. Однако ядерный патч — есть ядерный патч — для его использования нужно пересобирать ядро, что не каждому захочется делать (мне вот например не хочется). Между тем, уменьшить время отклика и повысить комфортность работы с ОС было бы не плохо.

И простой способ ускорить работу Linux не заставил себя ждать (следует заметить, что этот способ окажет влияние только на процессы, запущенные в текущей сессии оболочки). Появился он в ходе обсуждения разработчиками ОС вышеупомянутого патча для ядра. Получить ускорение можно, всего-лишь внеся несколько строк кода в .bashrc и выполнив пару команд от имени суперпользователя!

Читать далее cgroups — повышаем отзывчивость Linux

Адаптация Cygwin shred для Windows

Адаптация утилиты shred для windows

Набросал тут как-то в свободную минуту скрипт-оболочку для вызова утилиты безопасного удаления файлов shred, которой постоянно пользуюсь дома.
Win-аналоги искать было лень — попробовал как-то найти под win софтинку для конвертации mp3 в wav — ради того, что в линухе делается одной командой, пришлось час ползать по сети и засорять машину, а в итоге всё найденное было платным или кривым.

Поскольку у меня на работе всё равно установлен cygwin — воспользовался сборкой shred под него, а батник сделал для большего удобства использования. Дальше всё просто — батник на рабочий стол и перетаскиваем на него предназначенные для безопасного удаления файлы.

Код батника предельно примитивный, так что просто приведу его ниже (под катом). Достаточно скопировать в текстовый файл и изменить расширение на .bat.

Читать далее Адаптация Cygwin shred для Windows

Анонимайзер как замена прокси. Проверка анонимайзеров на валидность

Скрипт для составления и проверки списка веб-прокси

Наткнулся на любопытную заметку под названием «И еще немного про Google Hack«, в которой автор описывает использование анонимайзеров (пример анонимайзера — сайт Anonymouse) вместо публичных прокси для обхода капчи в Google.
Такой способ использования анонимайзеров мне тоже приглянулся и я решил написать свой скрипт для сбора и проверки на валидность списка публичных веб-прокси.

Читать далее Анонимайзер как замена прокси. Проверка анонимайзеров на валидность

Создание инфракрасной камеры ночного видения из веб-камеры

В качестве продолжения моей недавней заметки, посвященной созданию домашней системы видеонаблюдения под управлением Linux (при помощи программы Motion) я хочу рассказать о простейшем способе переделки обычной веб-камеры в так называемую камеру ночного видения — способную воспринимать инфракрасный диапазон спектра.

Что такое инфракрасная камера ночного видения

Фактически любая цифровая камера может выступать в качестве ЭОП (электронно-оптического преобразователя) для прибора ночного видения (ПНВ) нулевого поколения (в таких ПНВ используется активная ИК-подсветка местности), поскольку сами матрицы камер воспринимают не только видимый, но и ИК спектр. Отсекается «лишний» свет при помощи светофильтров (в данном случае — ИК фильтр) и делается это для того, чтобы выдаваемое камерой изображение соответствовало воспринимаемому человеческим глазом. К слову, в дешевых камерах ИК-фильтр слабый или может вовсе отсутствовать — для проверки можно посветить пультом ДУ например в камеру мобильного телефона. Следовательно, демонтировав ИК-фильтр можно из обычной веб-камеры сделать камеру ночного видения, заодно повысив общую чувствительность веб-камеры и избавившись от зашумлённости изображения в условиях недостаточного освещения

Читать далее Создание инфракрасной камеры ночного видения из веб-камеры

Видеорегистрация + видеонаблюдение для дома в Linux

Надумал и я побаловаться созданием простой и дешевой домашней системы видеонаблюдения и видеорегистрации (сподвигла меня на это статья из журнала «Хакер»). Естественно, что идея использовать веб-камеру и домашний компьютер в данном случае выглядит наиболее привлекательной.

Веб-камера для Linux

Свой выбор веб-камеры для Linux я остановил на Logitech Webcam C120 по ряду причин: во-первых, она отличается приемлемым качеством картинка (изображение с камер Genius аналогичного ценового диапазона меня не впечатлило совсем), во-вторых — камера работает по протоколу UVC, что означает её поддержку ядром Linux «из коробки» (штатно поддержка добавлена в ядро Linux с версии 2.6.26, также в Linux заработают веб-камеры, управляемые драйвером GSPCA) и в-третьих — эта веб-камера стоит всего 500 рублей и её мне не жалко разобрать с целью создания из неё ИК-камеры (камеры «ночного видения»).

Читать далее Видеорегистрация + видеонаблюдение для дома в Linux

Синхронизация текстовых файлов — простой скрипт на Perl

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

Решил набросать простейший скрипт на Perl (поскольку перл есть у меня и дома, и на работе, в отличие от баша например), который бы проходил по указанным мной файлам и синхронизировал их опираясь на дату последнего изменения, иными словами — более свежие файлы будут заменять устаревшие.

Читать далее Синхронизация текстовых файлов — простой скрипт на Perl

Обмен ссылками от WestSEO — три ссылки за одну

Как получить бесплатные тематические ссылки

Принял участие ещё в одной любопытной акции по обмену ссылками. Любопытна она своей «нетрадиционностью» — это не просто линкообмен, подобный тем, что проводятся в ЖЖ.

Алексей Московский предлагает бесплатно разместить написанную вами статью с тремя тематическими в своём блоге WestSEO. Таким образом, мы имеем некий сплав гостевого поста и статьи формата «википедии», где написавший получит три постоянных тематических ссылки с ресурса ТИЦ 50, а разместивший — качественный контент и ссылку с вашего блога на вашу статью.

Процитирую требования к статьям:

1. Объем от 2000 знаков без пробелов;
2. Интересный, уникальный текст вашего авторства. Давайте обойдемся без рерайта Википедии;
3. Соответствие статьи шаблону и стилю, предложенным ниже;
4. Не более 3-х внешних ссылок на ваши проекты или статьи. С точки зрения естественности, получается идеально если на каждые 1000 символов текста приходиться по одной внешней ссылке.;
5. Внешние ссылки должны быть хотя бы приблизительно тематичными моему блогу или теме статьи. Пластиковых окон и ипотеки не надо, умоляю вас;
6. На эту статью вы должны будете поставить ссылку у себя в блоге (можно постовой, можно использовать в контексте вашего будущего поста — как вам будет удобно). Всего одну ссылку, в обмен на три с моего блога — думаю, это справедливо;

Я уже поучаствовал в акции и написал статью про язык Perl, на котором создаю свои бесплатные SEO-скрипты. Написание заняло у меня всего пол-часа времени, а польза, на мой взгляд, очевидна — три бесплатных тематических ссылки и самосовершенствование в придачу. Так что предлагаю всем своим читателям рассмотреть предложение WestSEO, а возможно — и принять участие в акции.

А для все, кто, как и я, принимает участие в Марафоне молодых блогов, есть приятная новость — участник марафона invite4you предлагает всем марафонцам бесплатный прогон блогов! Спешите воспользваться!

Марафон молодых блогов — бесплатно раскручиваем свой блог!

Завтра, первого мая, стартует новая интересная акция по продвижению блога — «Майский марафон — забег молодых блогов«! Я со своим блогом «СетевойГибитобой» тоже решил принять в ней участие.

Информация по марафону — участники и спонсоры, официальные объявления. Не забываем читать блоги других участников!

Для начала озвучу официальные цели и задачи марафонцев:

Цель максимально увеличить количество посетителей блога, исправить недочеты, ошибки и получить навыки активного продвижения. Срок 1 месяц.
Я буду писать посты, посвященные развитию блога. Все основано только на моем личном опыте и эффективность проверенна. Будут рассмотрены следующие темы:
* Форумы
* Социальные сети
* Оптимизация, настройка блога
* ПС
* Подписчики
* ТИЦ и PR

Что же может получить молодой блоггер, помимо увеличения рейтингов блога, роста числа посетителей и улучшения своих позиций в поисковой выдаче? Безусловно — опыт работы по продвижению (путём изучения рекомендаций опытных блоггеров), опыт работы в команде (выполняя «задания» создателей марафона) и знакомство с коллегами по цеху (за счёт публикации взаимных обзоров блогов).

Логичным шагом будет записать основные показатели своего блога перед началом марафона, у меня они таковы:

Возраст: ~8 месяцев
Посещаемость: ~100 чел/сутки (по счётчику LiveInternet)
Прямых RSS-подписчиков: 50

Стать участником марафона проще простого — достаточно написать письмо организатору на адрес volandmail@gmail.com, в котором нужно представиться, указать адрес своего блога и оставить координаты для связи. Всё, вы в игре!

Perl, Linux, программирование, настройка и что-нибудь ещё…