мониторинг активных сессий Squid с помощью SqStat

сайт автора. Текущая версия 1.20 доступна по ссылке

 

установка очень простая

Installation

  1. Unpack the distribution in your webserver’s document root.
  2. Copy file config.inc.php.defaults to config.inc.php, edit config.inc.php
    to specify your squid proxy server IP and port.
  3. Edit your squid.conf to allow cachemgr protocol:
    acl manager proto cache_object
    # replace 10.0.0.1 with your webserver IP
    acl webserver src 10.0.0.1/255.255.255.255
    http_access allow manager webserver
    http_access deny manager
  4. Point your browser to sqstat.php file and see what happens 🙂
  5. (optionally) enable ip resolving in config.inc.php. Also you can make “hosts”
    like file with ip->name pairs.

принудительное удаление Nod32

если стандартными средствами удалить антивирус не получается

 

Тогда пробуйте следующие действия.

1. Загрузитесь в безопасном режиме.

2. Убедитесь, что ни одна из служб ESET не запущена. Для этого нажмите Пуск-Выполнить, введите services.msc и нажмите Enter. В появившемся окне найдите все службы ESET, и если они запущены, то сначала остановите их,
а затем удалите. У ESET всего 2 службы: ESET Service и ESET Http Server.

3. Удалите, если они есть, следующие папки:

Для Windows XP:
C:\Program Files\ESET
C:\Documents and Settings\%userprofile%\Application Data\ESET
C:\Documents and Settings\All Users\Application Data\ESET

Для Windows Vista и Windows 7:
C:\Program Files\ESET
C:\ProgramData\ESET\
C:\Users\%userprofile%\AppData\Roaming\ESET\
C:\Users\%userprofile%\AppData\Local\ESET\
C:\Users\All Users\ESET\

4. Проверьте удалились ли следующие файлы, если нет – удалите их:
c:\windows\system32\drivers\eamon.sys
c:\windows\system32\drivers\easdrv.sys
c:\windows\system32\drivers\ehdrv.sys

5. Нажмите Пуск-Выполнить, введите Regedit и в появившемся окне перейдите в раздел реестра HK_LOCAL_MACHINE\Software, и удалите запись ESET. Появится окно о подтверждении удаления, нажмите в нем “Да”.

 

Также можно сделать все автоматически утилитой ESETUninstaller.exe. Описание работы с ней тут

быстрое “выключение” Asterisk

Утро 3 января. Хорошо выспался, настроение приподнятое. Решил проверить сервера, а заодно еще у приятеля.
У него uptime показал 86 дней – прекрасно, а вот Asterisk …… ВСЕГО 3 дня и 20 часов!!!!
– Так, что у вас случилось? Почему Asterisk перезапускался?
– Просто у нас совещание было. Вот я его и вырубил, чтобы звонки не шли!!!!!

Вот это ДА! Т.е. когда у них началось “совещание” (читай корпоратив) – просто УБИЛИ всю телефонию!
Ну звери, честное слово! 🙂

Надо сделать нормальное решение.

Я уже писал статью о так называемых праздничных днях и изменении маршрутов звонков в зависимости от календаря/настроек и т.д. Но вот тут-то совсем другое дело: ведь предсказать ТОЧНО когда состоится очередной корпоратив или же настоящее совещание просто невозможно. Что ж, будем делать нормальное решение  – пусть на такой период все звонки приходят, но не на офисные телефоны, а на ту же голосовую почту.

Для этого написал резервный extensions.conf в котором указал маршруты входящих на VoiceMail и не забыл вставить кусок для разблокировки. Назвал его extensions.conf.mute.

Далее в оригинальном диалплане сделал следующее:

exten => 666,1,Answer
exten => 666,n,System(cp /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.back)
exten => 666,n,System(cp /etc/asterisk/extensions.conf.mute /etc/asterisk/extensions.conf)
exten => 666,n,System(asterisk -rx ‘dialplan reload’)
exten => 666,n,Hangup

Т.е. по набору 666 происходит резервирование текущего диалплана, далее его подмена “новогодним” и перечитывание состояния. Аналогичный кусок для разблокировки в файле extensions.conf.mute только наоборот 🙂

Вот вроде бы и все. Правда потом еще попросили сделать голосовое уведомление в каком же режиме работает станция, а потом еще и меню выбора режимов и т.д. и т.п. А я-то думал что легко отделался 🙂

Еще из опыта.

Пару лет назад такая же аналогичная задача стояла для операторского зала. Дело в том, что смена операторов менялась в 10 утра и 18 часов. Для каждой смены операторов необходимо было вести статистику их работы – сколько за смену принято или пропущено звонков, уровень обслуживания и т.д.
Этот показатель есть в статистике очереди, но он НАКОПИТЕЛЬНЫЙ, а необходимо было его сбрасывать в 0 перед началом новой смены. При этом отработавшая смена должна сначала записать свои показатели.

По идее – просто. Однако простой queue reload all не дает сброса, если не увидел изменений параметров в файле queue.conf.
Поступили тогда простым методом: был написан скрипт на perl, который парсил queue.conf и создавал “двойника”. Если обнаруживал “хитрую” строку-флаг – отбрасывал ее, если нет – добавлял. Т.е. получали на выходе постоянно изменяемый новый файл конфигурации очередей, что приводило к сбросу статистики.

Правда обнаружили небольшую странность: у нас в agents.conf установлен парамтер acceptdtmf=#
который позволяет отвечать на вызов нажатием клавиши на телефоне, а не автоматически. Так вот. После таких перезагрузок получалась ситуация с точность наоборот – будто срабатывал ТРИГГЕР – то отвечать по клавише, то автоматически. Решили это просто – не один раз давали queue reload all, а сразу два.

Ну вот собственно и все.
Всех с наступившим Новым Годом. Удачи всем и хорошего настроения.

оригинал 

Opera — показывать полный адрес в строке адреса

По умолчанию в  опере в адресной строке отображается адрес без GETов, чтобы «вернуть как было раньше»:
Ctrl+F12->Расширенные->Навигация->Показывать полный веб-адрес в поле адреса

Смена OU для компьютеров по умолчанию в Active Directory

При включении компьютера в домен Active Directory при помощи GUI Windows или команды NETDOM.EXE,по умолчанию вновь созданный объект попадает в контейнер (OU) Computers, который является контейнером по-умолчанию для всех вновь созданный объектов типа «Computer».

Недостаток такого подхода заключается в том, что вы не можете назначить ни одной доменной групповой политики на OU Computers, и получается, что на новых компьютерах домена (потенциально небезопасных) вы просто не сможете применить специальные параметры безопасности (помимо стандартных для всего домена).

Разберемся, где же хранятся настройки, определяющие OU  по-умолчанию для компьютеров домена. Откройте консоль Active Directory Users and Computers или же консоль ADSI Edit, при помощи контекстного меню перейдите в свойства домена, а затем перейдите на вкладку Attribute Editor.

Контейнер AD, в который попадают по-умолчанию новые компьютеры, определяются в атрибуте wellKnownObjects.

description: image

Но при попытке дважды щелкнуть по этому атрибуту, появится окно с ошибкой о том, что нет зарегистрированного редактора для обработки такого типа атрибутов. Я предполагаю, что данный атрибут просто защищен от ручного внесения изменений. Поэтому для доступа к данному параметру, я воспользуюсь замечательной утилитой от Марка Русиновича – Active Directory Explorer.

Атрибут  wellKnownObjects содержит примерно такую информацию:

98 39 240 175 31 194 65 13 142 59 177 6 21 187 91 15, CN=NTDS Quotas,DC=LABHOME,DC=local

244 190 146 164 199 119 72 94 135 142 148 33 213 48 135 219, CN=Microsoft,CN=Program Data,DC=LABHOME,DC=local

9 70 12 8 174 30 74 78 160 246 74 238 125 170 30 90, CN=Program Data,DC=LABHOME,DC=local

34 183 12 103 213 110 78 251 145 233 48 15 202 61 193 170, CN=ForeignSecurityPrincipals,DC=LABHOME,DC=local

24 226 234 128 104 79 17 210 185 170 0 192 79 121 248 5, CN=Deleted Objects,DC=LABHOME,DC=local

47 186 193 135 10 222 17 210 151 196 0 192 79 216 213 205, CN=Infrastructure,DC=LABHOME,DC=local

171 129 83 183 118 136 17 209 173 237 0 192 79 216 213 205, CN=LostAndFound,DC=LABHOME,DC=local

171 29 48 243 118 136 17 209 173 237 0 192 79 216 213 205, CN=System,DC=LABHOME,DC=local

163 97 178 255 255 210 17 209 170 75 0 192 79 215 216 58, OU=Domain Controllers,DC=LABHOME,DC=local

 

 

170 49 40 37 118 136 17 209 173 237 0 192 79 216 213 205, CN=Computers,DC=LABHOME,DC=local

 

169 209 202 21 118 136 17 209 173 237 0 192 79 216 213 205, CN=Users,DC=LABHOME,DC=local

Теперь, когда мы поняли, где хранится нужный нам параметр, попробуем изменить его. Как я уже говорил, атрибут wellKnownObjects  нельзя отредактировать при помощи консолей AD, наверное, это и к лучшему )). Для модификации этого параметра Microsoft разработала специальную утилиту, которая называется redircomp.exe, которая хранится в папке %SystemRoot%\System32 (на системах Windows Server 2003/2008).

Перед использованием утилиты redircomp.exe, создадим новый Organizational Unit, в который в дальнейшем будут  попадать объекты Computer. Для примера я создал OU StagedComputers.  Выполним следующую команду:

redircmp OU=StagedComputers,DC=LABHOME,DC=local
description: image

А затем при помощи Active Directory Explorer просмотрим содержимое атрибута wellKnownObjects (как вы увидите, оно изменилось):

170 49 40 37 118 136 17 209 173 237 0 192 79 216 213 205, OU=StagedComputers,DC=LABHOME,DC=local

98 39 240 175 31 194 65 13 142 59 177 6 21 187 91 15, CN=NTDS Quotas,DC=LABHOME,DC=local

244 190 146 164 199 119 72 94 135 142 148 33 213 48 135 219, CN=Microsoft,CN=Program Data,DC=LABHOME,DC=local

9 70 12 8 174 30 74 78 160 246 74 238 125 170 30 90, CN=Program Data,DC=LABHOME,DC=local

34 183 12 103 213 110 78 251 145 233 48 15 202 61 193 170, CN=ForeignSecurityPrincipals,DC=LABHOME,DC=local

24 226 234 128 104 79 17 210 185 170 0 192 79 121 248 5, CN=Deleted Objects,DC=LABHOME,DC=local

47 186 193 135 10 222 17 210 151 196 0 192 79 216 213 205, CN=Infrastructure,DC=LABHOME,DC=local

171 129 83 183 118 136 17 209 173 237 0 192 79 216 213 205, CN=LostAndFound,DC=LABHOME,DC=local

171 29 48 243 118 136 17 209 173 237 0 192 79 216 213 205, CN=System,DC=LABHOME,DC=local

163 97 178 255 255 210 17 209 170 75 0 192 79 215 216 58, OU=Domain Controllers,DC=LABHOME,DC=local

169 209 202 21 118 136 17 209 173 237 0 192 79 216 213 205, CN=Users,DC=LABHOME,DC=local

И наконец, с целью тестирования, я попробовал включить Windows XP (имя ПК VMXP-001) в домен LABHOME, действительно новый объект типа Computer появился в контейнере StagedComputers.

description: image

 

настройка vTigerCRM

В этой статье расскажу собственный опыт по донастройке данной CRM

взял русскоязычный дистрибутив от SalesPlatform (5.4.0-201208) поскольку в нем полнее русификация

краткая инструкция по установке находится здесь

Руководство пользователя и администратора системы SalesPlatform vtiger CRM 5.4.0

В этой статье я опишу полезные настройки системы после устновки

Содержание

настройка apache и php
интеграция с Astersik
некорректное отображение названий папок IMAP. Кракозябры в MailManager

  • настройка apache и php

установка стандартная. Требуемые параметры  php сделал только для этого сайта. Пример моего файла конфигурации апача сайта ( для Ubuntu|debian это /etc/apache2/sites-enabled/crm)

<VirtualHost *:80>
ServerName crm.local
DocumentRoot /var/www/crm

 

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<IfModule mod_php5.c>
php_value display_errors “1”
php_value max_execution_time “600”
php_value error_reporting “2”
php_value allow_call_time_pass_reference “1”
php_value log_errors “Off”
</IfModule>

</VirtualHost>

дальше пошли самые интересные настройки кастомизации под себя

  • интеграция с Astersik. Модуль Менеджер PBX

Менеджер Модулей – Менеджер PBX. Задаем адрес сервера Asterisk, порт 5038 (по умолчанию), логин и пароль для подключения к астериску и вытсавляем версию. Для моего астериска 1,8 в настройках ставлю 1,6

еще надо в самом астериске в файле manager.conf добавить этого пользователя

[vtiger]
secret = vtiger
deny=0.0.0.0/0.0.0.0
permit=192.168.1.50/255.255.255.0  ;можно и не делать ограничения по IP
read = call
write = originate
displayconnects=yes  ; так будем видеть в консоли подключения vtiger

после правки этого файла можно не перегружая сервера дать команду manager reload и проверить появился ли наш новый пользователь командой manager show users. Он должен появиться в списке пользователей

По умолчанию звонки из vtiger модуль делает в контексте default. Поскольку у меня стоит FreepBX, то мне надо исправить контекст для исходящих звонков на from-internal.  Делается это в файле modules/PBXManager/utils/AsteriskClass.php (сейчас это 108 строчка кода)

default:
$context = “default”;

меняем на

default:
$context = “from-internal”;

Теперь из vtiger можно совершать звонки

 

  • исправление некорректного отображения названий папок IMAP

в файле Smarty/templates/modules/MailManager/Folder.List.tpl меняем все @htmlentities на @htmlentities:null:”UTF-8″

исправленный текст 

301 редирект – корректная переадресация через htaccess и php header

Редирект 301 (301 Permanent Redirect) используется в нескольких случаях: при смене домена, при переносе страницы сайта, для склейки имени сайта с www и без него. Это важно для передачи Page Rank (PR) и сохранения поискового трафика.

Сам я столкнулся с его необходимостью, когда после переезда своего портала из зоны com, в ru обнаружил, что Google, Яндекс и другие поисковые системы, естественно не “забывают” старого сайта (отчасти еще и из-за того, что у меня была некорректно установлена своя страница, для обработки 404 ошибки, которая возвращала код ответа 200 OK). Более того, Google за полгода оставил для нового сайта PR=0, хотя для старого он сохранился PR=4.

Тема 301 редиректа постоянно обсуждается в различных SEO-форумах, да и каждая поисковая система в своей системе помощи имеет специальные разделы. Пока разбирался я нашел перечисленные ниже варианты организации редиректа, часть из которых опробовал у себя.

301 редирект это наилучший метод сохранения ваших позиций в поисковых системах, когда вы переносите страницу или сайт. Код “301” интерпретируется как постоянное перемещение (“moved permanently”).

  1. Простой редирект (в файле .htaccess или httpd.conf для Apache):

    Redirect 301 / http://www.you.com/new.htm
    где:
    Redirect 301 – это инструкция, говорящая что страница перемещена
    / – означает, что все с верхнего уровня сайта, включая все подкаталоги, будет переадресовано
    http://www.you.com/new.htm – новая страница или сайт (не забывайте поставить последний “/”, если переадресация идет на сайт).Чтобы переадресовать только страницу, сохранив PR старой страницы:
    Redirect 301 /old/old.htm http://www.you.com/new.htm
    где:
    /old/old.htm – путь и имя старой страницы

    Аналогичный синтаксис для переадресации сайта:
    RedirectPermanent / http://www.you.com/

    Пример переадресации каталога:
    RedirectPermanent /old-directory http://www.domain.com/new-directory/Например, зашедших в test переадресуем на www.test.com, остальных на enter.test.com (порядок следования записей важен):

    Redirect permanent /test    http://www.test.com/
    Redirect permanent /        http://enter.test.com/

    Примечание: для моих целей (изменение домена) хватило первого варианта простого 301 редиректа.
  2. Использование mod_rewrite (прописывается в файле .htaccess):

    Ставшая классической задача слияния имена сайта с www и без него, решается так:

    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^yoursite\.com
    RewriteRule ^(.*)$ http://www.yoursite.com/$1 [R=permanent,L] .

    или альтернативный синтаксис:
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

    Обозначение [R=301,L] означает: перенаправить клиента и отправить ему код статуса 301 (R=301) и сделать это правило последним (L).

    Редирект старого домена на новый:

    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

    Например, если необходимо чтобы вместо rewrite.htm загружался файл rewrite.html, добавьте в .htaccess:
    RewriteEngine   on
    RewriteBase     /
    RewriteRule     ^rewrite\.htm$  rewrite.html [R=permanent]

    Для замены всех .htm файлов .html файлами:
    RewriteEngine  on
    RewriteBase     /
    RewriteRule     ^(.*)\.htm$  $1.html [R=permanent]
  3. Редирект на PHP:

    <?php
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://www.newdomain.ru/newdir/newpage.htm");
    exit();
    ?>

    Лучше указать HTTP/1.1, так как более старые не поддерживают виртуальный хостинг. Не забудьте, что до вызова header, ничего не должно выводиться (например, echo или print). Поэтому этот код лучше ставить в начало php-скрипта. Более полный вариант php редиректа с сохранением передаваемой страницы и параметров вызова:
    <?
    $ref=$_SERVER['QUERY_STRING'];
    if ($ref!='') $ref='?'.$ref;
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: http://newdomain.com/'.$ref);
    exit();
    ?>
  4. Редирект на ASP

    <%@ Language=VBScript %>
    <% 
    Response.Status="301 Moved Permanently"
    Response.AddHeader "Location", "http://www.new-url.com"
    response.end
    %>
  5. Редирект на ASP.NET

    <script runat="server">
    private void Page_Load(object sender, System.EventArgs e)
    {
    Response.Status = "301 Moved Permanently";
    Response.AddHeader("Location","http://www.new-url.com");
    }
    </script>
  6. Редирект на ColdFusion

    <.cfheader statuscode="301" statustext="Moved permanently">
    <.cfheader name="Location" value="http://www.new-url.com">
  7. Редирект с помощью meta refresh

    <meta http-equiv='refresh' content='0; url=http://newdomain.com'>

    где 0 – задержка переадресации в секундах, newdomain.com -страница, куда переадресуем. Некоторые старые браузеры не поддерживают meta refresh со значением 0, для совместимости можно установить ненулевой значение, хотя, на мой взгляд это уже не актуально. Такой редирект не сможет склеить ваши сайты (с www и без) и передать PR, так как игнорируется поисковыми системами. Он возвращает код 200 OK, что соответствует обычной странице. Эта техника популярна у спамеров, поэтому ее стоит применять только для страниц, которые не будут индексироваться.
  8. Редирект с помощью JavaScript

    Варианты переадресации на JavaScript чаще реализуются с использованием функции setTimeout(‘функция’, задержка).

    Например, автоматически сделать Click на кнопке “Submit” формы “searchform” через 0.1 сек после загрузки кода:

    setTimeout(‘document.forms[“searchform”].Submit.click()’, 100);

    На кнопку “Submit” можно повесить любое действие, например, открыть новый url в этом окне. Кстати такое редиректы чаще встречаются при организации Дорвеев (DorWay) – браузер Пользователя будет переадресован на другую страницу, а поисковый робот, который “не понимает” JavaScript, будет индексировать эту страницу, недоступную пользователю. На ней дорвейщики размещают текст, напичканный “нужными” ключевыми словами.

    Чтобы просто переадресовать на другую страницу можно вставить после один из вариантов кода на JavaScript:

    • location=”http://www.newdomain.com”;
    • document.location.href=”http://www.newdomain.com”;
    • window.location.reload(“http://www.newdomain.com”);
    • document.location.replace(“http://www.newdomain.com”);

    В последнем случае уже нельзя будет вернуться на страницу выполнившую переадресацию, так как ее адрес стирается из history, что нередко и нужною. Если нужна задержка по времени, можно оформить location=”http://www.newdomain.com”; в виде функции и вставить ее в setTimeout(‘функция()’, задержка_в_мсек); Редирект на JavaScrupt не является 301 редиректом и не передаст PR страницы, не сможет обеспечить ее склейку.

Отметим дополнительно некоторые особенности редиректов:

  • Методы редиректа с .htaccess работают только на Linux серверах, имеющих Apache с включенным модулем Mod-Rewrite.
  • Использование .htaccess создает дополнительную нагрузку на сервер Apache, более эффективно прописывать те же команды в его конфигурационном файле hpptd.conf, но, как правило, к нему нет доступа у вебмастера.
  • 301 редирект, позволяет сберечь трафик и передать PR страницы для поисковых систем (для Google точно).
  • процесс склейки и передачи PR занимает длительное времени – до нескольких месяцев и также зависит от поисковой системы, поэтому не удаляйте старую страницу или сайт, пока не произойдет окончательный перенос.
  • некоторые поисковые системы требуют для склейки сайтов дополнительных настроек, например, для Яндекса нужно дополнительно прописывать robots.txt

Заключение. Безопасный способ редиректа старых страниц на новые или старого сайта на новый адрес, с сохранением позиций в поисковых системах, заключается в использование 301 редиректа, который также позволит вам передать старый Page Rank страницы на новый сайт.

Более подробно про mod_rewrite можно прочитать на:
http://www.engelschall.com/pw/apache/rewriteguide/
http://www.apache.org./docs/mod/mod_rewrite.html

Проверить корректность редиректа и других возвращаемых заголовков, можно, например, здесь:
http://www.rexswain.com/httpview.html

 

Автор: Сергей Брундасов http://sb-money.ru/

история установки SugarCRM

понадобилось установить SugarCRM (SugarCRM Community Edition For Free) на hvosting.ua

скачиваем инсталятор бесплатной версии, распаковываем его на сервер хостинга по FTP или любым другим удобным способом

и начинаем устанавливать, заранее создаем базу MySQL и пользователя для этой базы

В итоге предварительная проверка инсталятора выдала ошибку

PHP allows to use stream (upload://)  Upload stream is blocked by Suhosin, please add “upload” to suhosin.executor.include.whitelist (See sugarcrm.log for more information) 

решить ее редактированием файла .htaccess не получилось добавив

<IfModule mod_php.c>.
php_value suhosin.executor.include.whitelist upload://
</IfModule>

поскольку php работает в режиме fastcgi, поэтому пришлось править php-bin/php.ini. Ожнако по умолчанию у пользователя нет прав на его запись

~/php-bin$ ls -l
total 8
-r-xr-xr-x 1 h37429 h37429 19 Dec 6 2011 php
-r——– 1 h37429 h37429 120 Feb 3 2012 php.ini

пришлось менять права и уже потом добавлять туда строчку

suhosin.executor.include.whitelist = upload://

после этого pre-check прошел без ошибок и SugarCRM установилась

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

дальше стало проще.

  • установка русского языка RUSSIAN RAPIRA Language Pack FOR SUGAR CE 6.5. (Admin – Module Loader)
  • установка русского языка по умолчанию: В config.php меняем ‘default_language’ => ‘en_us’ на ‘default_language’ => ‘ru_ru’
  • добавление поддержки Asterisk (Asterisk SugarCRM Connector). Настройки этого модуля в Admin – ASTERISK Configuration. В самом низу страницы

 

 

ssh клиент под Windows

всем широко известный Putty имеет форк (модифицированную версию программы) Kitty с дополнительными функциями

KiTTY имеет все возможноcти исходной программы, кроме этого в неё было добавлено следующее:

Самое часто запрашиваемое:

Технические усовершенствования:

Усовершенствования в пользовательском интерфейсе:

Другие нововведения:

Приятное дополнение:

 

настройки может хранить как в реестре, так и в папке. При первом запуске импортирует все настройки из putty

мне не понравилаось что по умолчанию по F7 вызывается окно печати. Невозможно создать каталог в любимом mc. Решается все просто: создаем файлик kitty.ini в папке с kitty и в него вставляем

[KiTTY]
shortcuts=yes

 

[Shortcuts]
print={F12}
printall={SHIFT}{F12}

теперь F7 свободна от вызова стандартного окна печати