git: нормализация lrlf

Если вы решили переконвертировать ваш репозиторий, убрав из файлов символы переноса каретки, то можно использовать https://rtyley.github.io/bfg-repo-cleaner/. Он работает намного быстрее, чем обычный filter-branch.

Итак, склонируем наш репозиторий с параметром —mirror

git clone —mirror https://github.com/voiplab/mysuperrepo
echo «regex:\r(\n)==>$1» > replacements.txt
java -jar bfg-1.13.0.jar —no-blob-protection —replace-text replacements.txt mysuperrepo.git

Запускаем провреку репозитория

Меняем origin если хотим запушить в новое место

git push origin -all

Screen resolution in selenium tests in teamcity

Many developers and testers try to change screen resolution in teamcity service. Default screen resolution is 800×600, but its so small. As one of solution is to start teamcity agent like a simple application. But this solution is bad. Because you need to use one license on Windows Server and start teamcity agent after Windows server finished to boot.

I found a solution which allows you without hacks.

  1. Open services.msc. Open properties in teamcity agent service and check on checkbox Allow service to unteract with desktop.
  2. Open registry and change this key HKLM\SYSTEM\CurrentControlSet\Control\Windows\NoInteractiveServices to 0.
  3. Change Interactive Service Detection start mode to auto and start it.
    sc config UI0Detect start= auto
    sc start UI0Detect
  4. Connect to server using RDP.
  5. Enter this text command in commandline rundll32 winsta.dll,WinStationSwitchToServicesSession. RDP session will broken but it’s ok.

Thats all. When you will run a new end2end tests you see that screen resolution will increase.

Конвертируем pfx в crt и key файл

Итак, есть виндовый pfx. Решили закрыть backend nginx-ом. Надо конвертить сертификат, чтобы nginx его понял. Открываем консоль и пишем

openssl pkcs12 -in [yourfile.pfx] -nocerts -out [keyfile-encrypted.key]
openssl pkcs12 -in [yourfile.pfx] -clcerts -nokeys -out [certificate.crt]
openssl rsa -in [keyfile-encrypted.key] -out [keyfile-decrypted.key]

На выходе получаем [certificate.crt] и [keyfile-decrypted.key]. Теперь можно поднимать ssl на nginx

AMI Launcher for Asterisk / Elastix / FreePBX

amilaunchernewДавно хотел написать универсальное приложение для Asterisk, которое могло бы запускать внешнее приложение после поднятия трубки оператором.

«Для чего это нужно?» —  спросите вы, и это будет хороший вопрос. Это бывает необходимо в тех случаях, когда нет возможности/желания/средств на интеграцию вашей системы IP-телефонии на основе Asterisk в вашу CRM, backoffice или «систему помощи клиентов». Предположим, у нас есть некий backoffice с возможностью поиска клиентов по номеру телефону. И мы хотим автоматизировать процесс поиска так, чтобы при поступлении входящего вызова, оператор call-центра уже видел карточку клиента(его заказы или другую информацию). С помощью AMI-Launcher это реализуется проще-простого.

Возможности AMILauncher:

  • Возможность выполнения внешней программы, после поднятия трубки оператором.
  • Возможность выполнения внешней программы, перед поднятием трубки оператором.
  • В качестве аргумента к внешним программам имеется возможность отправить входящий CallerID через параметр {num};
  • Программа работает с сервером Asterisk через AMI;
  • В качестве внешнего приложения можно указать как прямой путь до программы Windows, так и http/https-адрес.

Пример использования:

[tube]https://www.youtube.com/watch?v=lBFSf0Hunao[/tube]

Исходники:

https://github.com/voiplab/AMI-Launcher-Asterisk
(далее…)

CrowdInspect 1.0.0.1

В раздел Загрузки добавил программу CrowdInspect.

CrowdInspect — это инструмент, призванный предупредить пользователя о наличии потенциальных вредоносных программ, которые поселились на компьютере и осуществляют взаимодействие по сети. Программа представляет собой host-based инструмент проверки процессов. Для обнаружения недоверенных или вредоносных сетевых процессов использует различные источники информации, включая такие сервисы, как VirusTotal, Web of Trust (WOT), Team Cymru’s Malware Hash Registry. Благодаря этим сервисам можно определять репутацию процесса, которая вычисляется из успешности/неуспешности пройденной проверки по каждому сервису и отображается в специальном поле цветом (зеленый/серый/красный) и репутации домена, с которым установлено соединение. Еще одной интересной возможностью инструмента является возможность записи истории взаимодействия с удаленным IP-адресом. И напоследок CrowdInspect способен определять thread injection, которую так любят вредоносные программы.

Windows_CrowdInspect

Управление вентиляторами в Windows на Macbook и iMac

lubbofancontrol_1Летом очень жарко (спасибо, капитан:-)) и мой iMac очень сильного греется, особенно когда рубишься игрушки. У меня для игр стоит Windows 7 второй системой(BootCamp),   поэтому пришлось позаботиться об охлаждении. Попробовал пару программ для управления вентиляторами, но они не работали.

Мне на глаза попался рабочий вариант — Lubbofancontrol. Программа простая и понятная, думаю вы в ней сами разберетесь.

Windows 7 теряет шлюз по-умолчанию

Столкнулся с небольшой проблемой в Windows 7. Ко мне обратился пользователь, который утверждал, что после перезагрузки у него не работает интернет. Стали выяснять, оказалось что даже если установить статические настройки шлюз по-умолчанию просто «слетает». Проблема оказалась в параметре реестра, который отвечает за настройки сети. В него прокрался лишний пробел.

Для решения данной проблемы откроем редактор реестра regedit и перейдем в ветку:

HKLM/System/CurrentControlSet/Services/Tcpip/Parameters/Interfaces/

В этой ветке будут ваши сетевые интерфейсы. Необходимо выбрать сбойный интерфейс. Определить его можно, например, по параметру IPAddress. После этого необходимо открыть параметр DefaultGateway и удалить лишнюю пустую строку и перезагрузить компьютер.

Избавляемся от рекламы в Skype

В последнее время Skype достал своей рекламой. Причем, баннеры с каждым месяцом становятся все больше и больше, загромождая рабочее пространство. Решение проблемы очень простое. Открываем файл C:\Windows\System32\drivers\etc\hosts (для Linux: /etc/hosts) и добавляем в конец 2 строки:

127.0.0.1 rad.msn.com
127.0.0.1 apps.skype.com

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

Напоследок открываем настройки: Инструменты -> Настройки -> Оповещения -> Извещения и сообщения и снимаем галку с Рекламные акции. Перезапускаем Skype и наслаждаемся отсутствием баннеров.

Как узнать ключ Windows

In order to find Windows product key you need to create VBS script, after exec of which you have to enter Computer Name(You can find it in the system properties).

The script itself:

' Find Product Activation Key on Remote Machine
' Got this from a posting by 'Alatar1' at www.theeldergeek.com
'
' I just added the inputbox - Rob

If Wscript.Arguments.Count = 0 Then
    strComputer = inputbox("Enter a computer name to query the Windows product key from","Enter computer name")
    if strComputer = "" then wscript.quit
Else
    strCOmputer = Wscript.Arguments.Item(0)
End If
Dim Digits (24)
Digits (0) = "B" : Digits (1) = "C": Digits (2) = "D": Digits (3) = "F":
Digits (4) = "G": Digits (5) = "H": Digits (6) = "J": Digits (7) = "K":
Digits (8) = "M": Digits (9) = "P": Digits (10) = "Q": Digits (11) = "R":
Digits (12) = "T": Digits (13) = "V": Digits (14) = "W": Digits (15) = "X":
Digits (16) = "Y": Digits (17) = "2": Digits (18) = "3": Digits (19) = "4":
Digits (20) = "6" : Digits (21) = "7" : Digits (22) = "8": Digits (23) = "9"
Dim HexBuf (100), HexDigitalPID (15)
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
objReg.GetBinaryValue &H80000002, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "DigitalProductId", HexBuf
' Extract Relevant Section of Digital Product ID

StartOffset = 52 : EndOffset =67
For i = StartOffset to EndOffset
  HexDigitalPID (i-StartOffset) = HexBuf(i)
next

' Convert Encoded Product ID to Activation Key

dLen = 29 : sLen = 15
KEYSTRING =""
for i=dLen-1 to 0 step -1
  if ((i + 1) mod 6) = 0 then
    KEYSTRING = KEYSTRING & "-"
  else
    HN = 0
    For N = (sLen -1) to 0 step -1
      Value = ( (HN *2^8 ) Or HexDigitalPID (N))
      HexDigitalPID (N) = Value \ 24
      HN = (Value mod 24)
    next
    KEYSTRING = KEYSTRING & Digits(HN)
  end if
next
KEYSTRING2 = StrReverse (KEYSTRING)
WScript.Echo KEYSTRING2

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

Собственно сам скрипт:

' Find Product Activation Key on Remote Machine
' Got this from a posting by 'Alatar1' at www.theeldergeek.com
'
' I just added the inputbox - Rob

If Wscript.Arguments.Count = 0 Then
    strComputer = inputbox("Enter a computer name to query the Windows product key from","Enter computer name")
    if strComputer = "" then wscript.quit
Else
    strCOmputer = Wscript.Arguments.Item(0)
End If
Dim Digits (24)
Digits (0) = "B" : Digits (1) = "C": Digits (2) = "D": Digits (3) = "F":
Digits (4) = "G": Digits (5) = "H": Digits (6) = "J": Digits (7) = "K":
Digits (8) = "M": Digits (9) = "P": Digits (10) = "Q": Digits (11) = "R":
Digits (12) = "T": Digits (13) = "V": Digits (14) = "W": Digits (15) = "X":
Digits (16) = "Y": Digits (17) = "2": Digits (18) = "3": Digits (19) = "4":
Digits (20) = "6" : Digits (21) = "7" : Digits (22) = "8": Digits (23) = "9"
Dim HexBuf (100), HexDigitalPID (15)
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
objReg.GetBinaryValue &H80000002, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "DigitalProductId", HexBuf
' Extract Relevant Section of Digital Product ID

StartOffset = 52 : EndOffset =67
For i = StartOffset to EndOffset
  HexDigitalPID (i-StartOffset) = HexBuf(i)
next

' Convert Encoded Product ID to Activation Key

dLen = 29 : sLen = 15
KEYSTRING =""
for i=dLen-1 to 0 step -1
  if ((i + 1) mod 6) = 0 then
    KEYSTRING = KEYSTRING & "-"
  else
    HN = 0
    For N = (sLen -1) to 0 step -1
      Value = ( (HN *2^8 ) Or HexDigitalPID (N))
      HexDigitalPID (N) = Value \ 24
      HN = (Value mod 24)
    next
    KEYSTRING = KEYSTRING & Digits(HN)
  end if
next
KEYSTRING2 = StrReverse (KEYSTRING)
WScript.Echo KEYSTRING2

Ошибка RDP: Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола

Если при запуске терминального соединения вы получили ошибку: Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола.
Это означает, что у вас отсутствует,  либо просрочена клиентская лицензия терминала. Такое может случиться когда у вас установлен пиратский терминал-сервер, или не активированный терминал — сервер. В этом случае терминал-сервер выдает временные лицензии со временем жизни три месяца.

Для того, чтобы обновить информацию о лицензиях терминала и решить проблему Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии необходимо удалить текущую лицензию из кэша, и получить новую.

Для удаления лицензии RDP с клиентского компьютера, откройте ветку реестра и удалите все подразделы.

HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing

После этого откройте RDP клиент от имени Администратора и повторите подключение к серверу RDP.