~s - скрипты-утилиты — различия между версиями

Материал из YourcmcWiki
Перейти к: навигация, поиск
м (find-alisska.pl: Новая тема)
(pgraph-dot: Новая тема)
Строка 127: Строка 127:
 
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/find-alisska?view=log сам инструмент find-alisska.pl].
 
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/find-alisska?view=log сам инструмент find-alisska.pl].
 
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/findall-alisska?view=log небольшой скрипт для обработки большого количества gzip’анных файлов инструментом].
 
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/findall-alisska?view=log небольшой скрипт для обработки большого количества gzip’анных файлов инструментом].
 +
 +
== pgraph-dot ==
 +
 +
Скрипт для вывода графов зависимостей с использованием [http://www.graphviz.org/ Graphviz] веток патчей для расширения системы контроля версий [http://arrenbrecht.ch/mercurial/pbranch/ Mercurial pbranch], служащего для автоматизированного управления множеством веток патчей.
 +
 +
Использовать в каталоге Mercurial-репозитория следующим образом: <tt>pgraph-dot имяфайла.формат</tt>, где формат — один из поддерживаемых Graphviz форматов вывода (png, svg, dot и т. п.)
 +
 +
* [http://svn.yourcmc.ru/viewvc.py/vitalif/trunk/scripts/pgraph-dot?revision=831&view=markup pgraph-dot]

Версия 16:22, 18 января 2010

По адресу ~/s я поддерживаю некоторое количество простеньких полезных скриптов для решения различных задачек.

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

FastPerl

Простой однопоточный FastCGI демон для запуска CGI-скриптов в FastCGI-среде без перекомпиляции и дополнительных телодвижений. Хорошо подходит, например, для запуска awstats.

Опции запуска:

-h
вывод справки;
--verbose
подробный вывод;
--pid=PIDFILE
установка пути в pid-файлу;
-l=LOGFILE
установка пути к файлу журнала;
-S=UNIXSOCKET
установка пути к UNIX-сокету, на котором оно будет слушать;
-P=UNIXPORT
установка TCP/IP-порта, на котором оно будет слушать и биндиться к 0.0.0.0 (ко всем интерфейсам);
-r=REGEXP
установка ограничений на SCRIPT_FILENAME. Если оно не удовлетворит регулярному выражению REGEXP, будет отдан ответ HTTP 403 Forbidden.

Init-скрипт прилагается, по умолчанию выполняется под пользователем www-data и группой www-data, логи в /var/log/fastperl.log, сокет в /var/run/fastperl.socket, PID-файл в /var/run/fastperl.pid, без ограничения. Init-скрипт понимает /etc/default/fastperl с переменными:

  • USER=user:group
  • LOGFILE=
  • SOCKET=
  • PIDFILE=
  • RESTRICTION=

Для работы init-скрипта сам демон нужно класть как файл /usr/sbin/fastperl.

apache1-configure

./configure с параметрами для установки Apache 1.x в /usr/local/apache1.

bashrc.any

Команды для переключения кодировок koi8, utf8, cp1251 в Konsole из консоли, не прибегая к помощи менюшек. Версии для KDE 4.x и 3.x.

А команда yc вам не нужна, удаляйте её. :)

convert-filenames

Скрипт для перекодирования имён файлов в каталоге из одной кодировки в другую. Сама ничего не выполняет, только выводит на STDOUT список команд mv A B. Пример использования:

./convert-filenames /path/ cp1251 koi8-r | sh

convert-many

Скрипт для перекодирования множества изображений из одного формата в другой с помощью GraphicsMagick или ImageMagick, возможно, в несколько потоков. Пример использования:

find /path/ -name *.png | xargs ./convert-many png jpg 2 | sh

fromto

Скрипт для перекодирования файлов из одной кодировки в другую. Использовать очень просто:

~/s/fromto cp1251 utf-8 файл1 файл2 ...

Поддерживает все кодировки, понимаемые Perl модулем Encode.

gamin.pl и gamin2.pl

Скрипты для мониторинга файлов и директорий с помощью модуля Sys::Gamin версии 0.1 (gamin.pl) или 0.2 (gamin2.pl, с поддержкой userData). События выводятся на STDOUT. Использовать так:

./gamin.pl /directory1 /directory/2 some.file
./gamin2.pl /directory1 /directory/2 -u UserData2 some.file

Во втором случае со всеми событиями от /directory/2 вы будете получать свои данные UserData2.

gcauthcd.pl

Клиент для МиГ-Телекомовской авторизации (Gagarin-Club AUTHentication Client Daemon), переписанный на Perl’е. Исходников реального gcauthcd я не видел, данный сделан чисто исходя из тривиального реверс-инжиниринга. Сам его и использую, по причине того, что SSL-сертификаты у них давно протухли, виндовый gcauthcd это не парит, а реальный линуксовый работать отказывается, а хакнуть и заставить его не получается по причине статической линковки.

Логин-пароль берёт либо из /etc/gcauth.passwd, либо из файла указанного ./gcauthcd.pl -c /path/to/password.file, в формате «LOGIN:PASSWORD». Опция --fg даёт возможность не сворачивать его в background, --force — запускать при неработающей авторизации, время от времени открыть доступ он тогда всё равно будет пытаться.

mc.color

Настройки цветов для Midnight Commander.

unzip.pl

Используйте вместо стандартного unzip — после разархивации перекодирует кривые имена файлов, бывших русскими внутри архива.

Syntax

Описания синтаксиса для Midnight Commander.

  • Syntax
  • tt.syntax — синтаксис шаблонов Template::Toolkit.
  • tpl.syntax — синтаксис шаблонов Template|VMX::Template
    “Template|VMX::Template” не может быть использован как заголовок статьи на данном сайте.
    .
  • патч для perl.syntax — исправленный синтаксис для Perl кода.

fglrx_30.diff

Патч для компиляции модуля ядра fglrx Linux-версии проприетарного драйвера ATi Catalyst для версий 9-6 и 9-7 и версии Linux ядра 2.6.30. Для более новых версий драйвера fglrx патч не требуется.

find-alisska.pl

Простейший carving-инструмент, написанный на Perl’е, для извлечения нефрагментированных JPEG-изображений из образов файлов. Data Carving — термин, перевода которого на русский я не нашёл, но означает он поиск и восстановление данных откуда-нибудь на основе некоторых эвристик. Alisska означает, что инструмент был написан для восстановления Ljuser.gifАлискиных фотографий с жёсткого диска, полностью похеренного вирусом :-)

Вообще-то это велосипед — есть куча инструментов, а по области восстановления-добычи данных есть целая Forensics Wiki.

pgraph-dot

Скрипт для вывода графов зависимостей с использованием Graphviz веток патчей для расширения системы контроля версий Mercurial pbranch, служащего для автоматизированного управления множеством веток патчей.

Использовать в каталоге Mercurial-репозитория следующим образом: pgraph-dot имяфайла.формат, где формат — один из поддерживаемых Graphviz форматов вывода (png, svg, dot и т. п.)