Прозрачный прокси перед Squid

routingНа маршрутизаторе (Debian 6 Squeeze, ip1 10.2.16.181, ip2 192.168.56.1) с двумя сетевыми адаптерами необходимо предоставить интернет клиентской сети 192.168.56.0/24 как NAT (получаемый через шлюз по умолчанию). Сам маршрутизатор получает интернет от Squid (HTTP – IP 10.80.20.22, порт 3128, DNS – 10.10.110.10). В общем, необходимо выступить в роли прозрачного прокси для клиентской подсети 192.168.56.0/24.
Первым делом устанавливаем Squid 3, конфиг (/etc/squid3/squid.conf) такой:

Теперь включаем форвардинг:
echo 1 > /proc/sys/net/ipv4/ip_forward
Чтобы форвардинг автоматически включался при запуске системы в /etc/sysctl.conf добавляем строчку:

Затем добавляем правила в iptables:

Чтобы работало после перезагрузки, сохраняем настройки iptables в файл:
sudo iptables-save > /etc/iptables.rooslan
И добавляем в конец файла /etc/network/interfaces:
pre-up iptables-restore < /etc/iptables.rooslan
Не забудьте у клиента в качестве DNS-сервера и шлюза по умолчанию выставить свой IP-адрес (192.168.56.1)

Обязательно ли покупать “Право использования программы для ЭВМ “АС “Кабинет УЦ” по тарифному плану “КЭП для ФЛ” сроком действия 12 мес., без выдачи защищенного носителя”

Обязательно ли покупать “Право использования программы для ЭВМ “АС “Кабинет УЦ” по тарифному плану “КЭП для ФЛ” сроком действия 12 мес., без выдачи защищенного носителя” ?

Обе позиции счета (право на использование программ и обслуживание) являются неделимыми, т.е. исключение любой позиции из счета невозможно.
Разбивка счета на две позиции обусловлена тем, что реализуя право использования программ для ЭВМ (Веб-Диск, Личный Кабинет), АО «ПФ «СКБ Контур» применяет льготу по НДС на основании подпункта 26 п. 2 ст. 149 НК РФ. В соответствии с указанной нормой, передача прав использования программ для ЭВМ на основании лицензионного договора не подлежит налогообложению НДС. Услуги абонентского обслуживания подлежат налогообложению НДС по ставке 20% на основании п. 3 ст. 164 НК РФ. В соответствии с пунктом 4 ст. 149 НК РФ в случае, если налогоплательщик осуществляет операции, подлежащие налогообложению, и операции, не подлежащие налогообложению (освобождаемые от налогообложения), налогоплательщик обязан вести раздельный учет таких операций.

Avidemux — быстрый и простой видеоредактор

Изначально разрабатываемый только под Linux , проект Avidemux был портирован под Windows и Mac OS X и продолжает активно развиваться. Программа отлично конвертирует мультимедиа из одного формата в другой, обладает скромными возможностями редактирования видео, умеет добавлять субтитры и накладывать большое количество различных фильтров. Все нужные кодеки Avidemux “несет в себе”.
avidemux1
Рассмотрим поближе Windows и Linux версии.
Дистрибутив под Windows «весит» порядка 15 Мб и как и множество кроссплатформенного программного обеспечения, тащит за собой небольшой вагончик с QT. Если не хотите скачивать инсталлятор с официального сайта – можно скопировать к себе на флэшку “portable”-вариант видеоредактора. Линукс-версия занимает 18,5 Мб.
Avidemux поставляется с открытыми исходными кодами и является freeware ПО.
В самом редакторе нет русского интерфейса, однако в интернете много ссылок на файл avidemux_ru.qm, который надо положить в подпапку i18n (создайте ее).
Внешний вид программы совпадает с тем, что мы ожидаем увидеть в видеоредакторе. Avidemux очень похож на VirtualDub и по сути является утилитой для обработки видео. Благодаря поддержке Avisynth-скриптов возможности программы могут быть значительно расширены.
В программе предоставлено несколько возможностей улучшить редактируемое видео — вы можете настроить его цвета, контраст, яркость, изменить разрешение или повысить четкость картинки. Результат действий можно одновременно наблюдать в окошке «Preview».
avidemux2
В Avidemux возможно присоединение одного или нескольких видеофайлов к уже открытому файлу.
Avidemux поддерживает большое количество входных и выходных форматов, возможно, благодаря этому, он так распространен: AVI, FLV, MKV, MP4, H264, WMV, OGM, VOB, LAME.
Умеет программа резать и склеивать файлы без перекодирования (достаточно выставить в полях Video и Audio значение «Copy»).
avidemux3
версия под Linux
Этот видеоредактор поддерживает огромное количество фильтров для обработки видео. Все они, в том числе – поворот видео и изменение размера изображения, могут быть использованы в одной из самых часто используемых задач — обработки нескольких видеофайлов по очереди. Для этого у Avidemux есть «Список заданий» (каждое задание, помещенное в список, хранится в подпапке jobs профиля пользователя в формате JS). Добавив задания обработки различных файлов их все можно запустить позже.
Тех же кому такой вариант может показаться долгим и непрактичным заинтересуют возможности командной строки (avidemux CLI) список ключей можно взять здесь.
К примеру, поворот на 90 градусов и перекодирование из mov в mp4 пары сотни автоматически именованных файлов в Windows может быть выполнено такой строкой в bat-файле:

содержимое фильтра rotate90.xml, как и любого другого можно сохранить из показанного выше окна фильтров Avidemux.
Сейчас полным ходом идет тестирование экспериментальной версии Avidemux — 2.6. В которой уже сегодня можно увидеть много улучшений.
Страница проекта: http://www.avidemux.org
См.также Пакетная обработка видеофайлов в avidemux


Первая публикация – habrahabr.ru/post/118163

Перехват нажатия кнопки на сканере из NT-службы

Сканер HP G2710, точнее его ПО, не могло по нажатию кнопки отправлять изображение в общую сетевую папку, если пользователь не был залогинен в Windows (XP). Также сканирование “без вопросов, без окошек” требовалось для того, чтобы не отвлекать сотрудника, к чьему компьютеру был подключен сканер.

Скачать программу rooscan
версия 3.5 (06.02.13) | 1.2 Мб | stable

Программа rooscan представляет из себя NT-службу Windows XP и предназначена для перехвата нажатия кнопок сканера. Отсканированный файл будет сохранен в указанной папке (например, на сетевом ресурсе) в JPG или PDF-формате. Ведет краткий лог. Листинг основной части программы на C# приведен чуть ниже.
Перед запуском rooscan убедитесь, что у вас установлен .NET Framework 2.0, есть права администратора и выполните следующие действия:

  1. Скачайте приложенный к этой записи файл и установите, например, в C:\Program Files\rooscan
  2. Запустите оснастку управления службами (Пуск – Выполнить – services.msc), в списке дважды щелкните на службе rooscan, перейдите на вкладку “Вход в систему”, убедитесь, что выбран переключатель “Вход с системной учетной записью”. Однако, если вы работаете в домене, либо к папке сохранения нужны права доступа, то выберите переключатель “С учетной записью”, укажите здесь любой локальный или доменный аккаунт с достаточными правами доступа (особенно к сетевым папкам), например, “Администратор”, введите его пароль и нажмите “OK”, чтобы сохранить настройки.
  3. Убедитесь, что сканер подключен и присутствует в системе. Уберите из автозагрузки программное обеспечение сканера (есть или нет – здесь вам может помочь msconfig)
  4. Запустите и остановите службу rooscan. Все возможные идентификаторы событий от вашего сканера добавятся в конец файла rooscan.conf
    (добавление к концу файла выглядеть будет приблизительно так)
  5. Здесь параметрам scanEvent и pdfEvent выставьте свои значения-события, выбранные, как уже было сказано – из полученных способом выше. Если собираетесь использовать связку сканер+принтер (как ксерокс), также заполните параметры printEvent и printerName.
  6. Заполните остальные параметры (там даны комментарии), сохраните конфигурационный файл и запустите службу rooscan

Листинг основной части программы на C# (правда, это еще код версии 1.0, весь код есть в ссылке в комментариях):

Если у вас ADF (automatic document feeder, устройство автоматической подачи документов) можете дополнительно использовать библиотеку adfwia
Для тестирования взаимодействия кода с WIA установил виртуальный сканер Microsoft “WIA Sample MicroDriver Scanner Device”: файлы testmcro.dll и testmcro.inf находятся внутри установочного файла по ссылке выше (собрал при помощи XP DDK).
Для удаления старой версии службы достаточно выполнить – sc delete rooscan)
UPD. Если при запуске службы появляется “Ошибка 1053: Служба не ответила на запрос своевременно”, выполните
regsvr32 “C:\Program Files\rooscan\wiaaut.dll”

QiP 8097 + big smiles

Скачать QiP 2005_8097 (это не QiP 2010/2012!):
qip8097.cab
размер 6,3 Мб
или QiP 2005 8097 с большими смайлами:
qutim_bigsmiles
qip8097_bigsmiles.cab
размер 7 Мб
Для QutIM’а отдельный архив:
kolobkibig_qutim.zip
размер 1 Мб
Распакуйте в /home/user_name/.config/qutim/emoticons/
(C:\Documents and Settings\Имя пользователя\Application Data\qutim\emoticons)
Сам QutIM (для Debian Sqeezy/Ubuntu): qutim_0.2.tar.gz
размер 5,4 Мб; требует пакет libqt4-webkit
Поддержка протокола MRA (Mail.ru Agent) для Empathy (версии 3.4 и выше) – mrim-prpl_0.2.0+git.20130301-1_i386.deb

Быстро расшарить ресурсы Samba

Для того, чтобы быстро поднять сервер на самбе для хранения расшаренных файлов, например, в рабочей группе, где не требуется контроль прав, необходимо привести конфиг smb.conf к такому виду:

samba_logo

Миграция сервера 1С с W2k3/MSSQL8 на Fedora/PgSQL

1c81ico
Версии продуктов:
1C:Предприятие 8.1.12-101.i386 (подписчики ИТС могут забрать с веб-сайта 1C)
PostgreSQL 8.3.3-2.1C (нашел на свежем диске ИТС RPM’ы, а не исходники, как на сайте 1C)
Fedora Core 10
Замечаний по установке нет. Добавлю лишь, что сразу после установки изменил локаль системы на русский (System-Administration-Language). То есть в файле /etc/sysconfig/i18n у меня строчка LANG=”ru_RU.UTF-8″.
Это я сделал для того, чтобы initdb инициализировал новую базу с локалью RU, а не EN, так как в региональных настройках исходной ИБ 1C у меня установлено “Русский (Россия)”.
Скажу сразу, что сервер может работать и без ключа – но поддерживает лишь до 12 подключений (включительно).
Установка драйвера USB-ключа HASP не требует ряда шаманских танцев, описанных во всех руководствах (подозреваю из-за того, что там версия Fedora была старее).
Просто скачиваем драйвер отсюда, вытаскиваем из него aksusbd-redhat-1.5-1.i386.rpm и устанавливаем.
Есть еще версия под WINE, но я ее не устанавливал.
Устанавливаю 1C:

затем 1C_Enterprise-common-nls-8.1.12-101.i386, 1C_Enterprise-server-8.1.12-101.i386 и 1C_Enterprise-server-nls-8.1.12-101.i386
Аналогично попытался установить PostgreSQL (порядок установки такой:
postgresql-libs, postgresql, postgresql-server, postgresql-plperl и postgresql-contrib)
Однако, предварительно, для разрешения зависимостей, пришлось установить libtermcap2-2.0.8-36mdk.i586 и readline-compat-4.3-307.i586. RPM’ы взял с сайта rpm.pbone.net.
Далее инициализируем базу данных:

В файле /var/lib/pgsql/data/postgresql.conf найдите параметр
default_with_oids, раскомментируйте и установите его значение в on
Затем редактируем /var/lib/pgsql/data/pg_hba.conf
Будет вот такая строчка:
host all all 0.0.0.0/0 md5
Которая говорит серверу PostgreSQL не запрашивать пароль при локальном входе.
Превратите ее в
host all all 0.0.0.0/0 trust
Возможно, вместо trust, попробую написать password – пока выяснять было некогда.
Затем рестартим, выполняем вход в консоль PostgreSQL:

и даем команду

где sergtsop – новый пароль. У вас, естественно, он будет другим. Апострофы и точка с запятой в строке запроса к БД – обязательны. Выходим из консоли командой \q
Поздравляю, теперь вы знатный постгресмен!
В Система-Администрирование-Службы разрешаем и запускаем сервер PostgreSQL. Я выключил фаерволл, хотя оснастке вроде был нужен только порт 1540 TCP.
При решении проблем я также запретил работу SELinux.
Полагаем, что все в порядке. Базу данных будем создавать из винды.
Первым делом в винде в файле hosts прописываем IP-адрес и имя линукс-сервера.
Устанавливаем аналогичную виндовую версию 1C, запускаем MMC-оснастку “Серверы 1C Предприятия”, создаем центральный сервер, именем которого – имя линукс-сервера из hosts.
Далее в кластере пытаемся создать информационную базу, если оснастка зависает, то необходимо удалить папку /home/usr1cv81/.1cv81 и перезапустить демон 1C.

При создании новой информационной базы используйте аналогичные данные:
Имя: moyabasa
Сервер баз данных: ИмяСервераLinuxВфайлеhosts
База данных: moyabasa
Пользователь сервера БД: postgres
Пароль пользователя БД: sergtsop
Создать базу данных в случае ее отсутствия: ставим галочку.
Лично я еще установил phpPgAdmin – по умолчанию он находится по адресу http://localhost/phpPgAdmin/ (регистр важен!)
Изменений в конфиге /etc/phpPgAdmin/config.inc.php коснулись только строчки:

Ну, и httpd должен быть запущен.
Поздравляю, на этом этапе вы уже можете начинать работу в новой базе. Однако, мы же переходим к перекачке данных из MS SQL 2000 в наш PostgreSQL.
Для этого заходим конфигуратором в рабочую базу 1C и в меню Администрирование выбираем пункт “Выгрузить информационную базу”. Указываем куда и в какой файл. Время выгрузки из моей базы (файл БД MSSQL весил 48 Гб) длилось около двух часов. Файл информационной базы 1C в итоге занял ~1,5 Гб.
Логично, что теперь заходим конфигуратором во вновь созданную базу и открываем пункт меню “Администрирование”-“Загрузить информационную базу”. Загрузка будет происходить также долго. Размер базы PostgreSQL без малого такой же – 51 Гб.
Теперь можно переходить к бэкапу SQL-базы средствами 1C v8

Что означает "> /dev/null 2>&1"?

Долгое время никто не мог объяснить мне, что за амперсанды, знаки и цифры идут после юниксовых команд. При этом все примеры были показаны без объяснения – зачем все это? Гугл также не давал ответа. Особенно заметно использование таких команд во время работы компилятора. В этой статье постараюсь объяснить эти странные команды.
К примеру, у нас есть такая строчка:

Перенаправление вывода
Оператор > (“больше чем”), как в примере выше, переадресовывает вывод программы. В данном случае, что-что отправляется в /dev/null, а что-что переадресовывается в &1.
Стандартные ввод, вывод и ошибка
Существует три стандартных значения ввода и вывода для программ. Ввод получают от клавиатуры (интерактивная, диалоговая программа), или из программы, обрабатывающей вывод другой программы.
Результат программы обычно печатается в стандартной вывод и иногда в файл “STDERR” (ошибка). Все это три дескриптора файла (вы можете представить их как “потоки данных”, пришли из языка программирования C), которые часто называют STDIN, STDOUT и STDERR.
Но часто к ним обращаются не по имени, а по номеру:
0 – STDIN, 1 – STDOUT и 2 – STDERR
По умолчанию, если вы не укажете номер, то будет подразумеваться STDOUT.
В нашем примере видно, что команда направляет свой стандартный вывод в /dev/null (псевдоустройство, которое может принять произвольный объём данных, не сохраняя их совершенно нигде, следовательно, подавив стандартный вывод). Затем все ошибки (то есть STDERR) перенаправить в стандартный вывод. Необходимо поставить амперсанд “&” перед номером назначения.
Смысл вкратце – “весь вывод указанной команды спихнуть в черную дыру!“.
Это один из способов сделать программу по-настоящему безмолвной. Добавлю, что команда в примере аналогична команде

Официальный FAQ FreeBSD предупреждает: отправка данных в /dev/null/ перегревает ваш процессор!


© на английском, первая публикация перевода – blogs/nix

Работа в 1C 7.7 под Debian

1c77ico
Базу с сервера будем монтировать в .~/wine/drive_c/1c77bases – добавил строчку в fstab:

Устанавливаем под wine (из репозитория Debian) платформу 1C 7.7. Скачиваем файл dcom98.exe (1.2 мб) – можно найти на разных FTP-серверах через веб-сайт www.filesearch.ru. Скачанный файл перемещаем в ~/.wine/drive_c/
В “Wine configuration” на вкладке “Приложения” добавляем 1cv7.exe (исполняемый файл, который запускает 1C), выделив добавленный файл, переходим на вкладку “Библиотеки” и здесь добавляем следующие библиотеки – msvcrt40, ole32, oleaut32, olepro32, rpcrt4. Всем библиотекам присвойте замещение “Сторонняя, затем встроенная”.
Теперь распаковываем библиотеки DCOM98 командой
wine DCOM98.EXE /C /T:c:\\temp /Q
и перемещаем ole32.dll, oleaut32.dll, olepro32.dll из /drive_c/temp в папку /drive_c/Program Files/1Cv77/BIN (не в system32, так как там находятся одноименные библиотеки других версий для работы 1C 8.1).
Необходимо убрать заставку 1C при запуске. Для этого любым HEX редактором (например, Bless) заменяем в 1cv7.exe строчку 8B 83 54 85 00 00 на 31 C0 90 90 90 90 (естественно, это для сетевой версии, а не для для локальной).
deb1c77_1
Начиная с релиза 7.70.026 имеется возможность отключения проверки идентичности порядка сортировки, установленного для базы данных и системного порядка сортировки. Поэтому создаем в каталоге информационной базы сигнальный файл с именем OrdNoChk.prm
Запускаем 1C – wine 1cv7.exe и первым делом, чтобы 1C перестала аварийно завершаться, снимаем галочку в меню “Окна” -> Панель окон” -> “Показать”.
Единственное, что смущает, не открывается более одной базы одновременно (хотя еще один процесс 1cv7.exe создается). Думаю, что это можно обойти созданием копии отдельных exe-файлов для каждой базы с последующей настройкой свойств этих 1cv7.exe в Wine.
deb1c77_2

Бэкап SQL-базы средствами 1C v8

Файл 1cv8bckp.cmd с командами для выполнения бэкапа, планирую запускать каждую неделю из Windows 2003 – ночью, в то время, когда с базой никто не работает.
Клиент-серверных баз две – одна на Fedora Core 10, вторая – на Windows 2003.
Перед выгрузкой информационной базы требуется выкинуть из 1C всех пользователей. Разберем по очереди варианты с каждой ОС.
На сервере Fedora необходимо перезапустить демон 1C. Из Windows 2003 это можно сделать с помощью SSH для Windows.
Теперь, чтобы при логине на Fedora не запрашивался пароль, сгенерируем пару RSA-ключей:

Парольную фразу вводить не нужно, укажите, что файл хотите сохранить, например в C:\myid.rsa
Затем перемещаем файл C:\myid.rsa.pub на SQL-сервер Fedora и там даем команду:

(oneC.BIGMARKET – это hostname SQL-сервера)
Все, теперь можно подключаться без пароля.
Содержимое файла 1cv8bckp.cmd (здесь “/etc/init.d/srv1cv81 restart” это команда для перезапуска демона 1C):

В файл res_log.txt будут сыпаться ошибки для последующего анализа.
Если в Windows SSH будет выдавать ошибку: “Could not create directory ‘/.ssh'” (а Windows действительно не может создавать папки, начинающиеся с точки), то скачайте RegMon, посмотрите, где процесс ssh.exe ищет папку “.ssh” и создайте ее там в помощью команды mkdir
manual