Категория: Разработка

Кастомная микросборка WinXP

Несмотря на то, что прошло уже более 20 лет, мне все еще нравится Windows XP. Нравится её быстродействие, нравится отсутствие всяких ограничений (которых хватает в Windows 10/11) и многие другие вещи. Конечно, использовать Windows XP на современном железе — дело по многим причинам сомнительное, однако я частенько с удовольствием создаю виртуальные машины под управлением Windows XP для различного рода проектов — а в качестве установочного образа использую специальную самопальную сборку. Нет, это не какой-нибудь ZverCD, где стараниями какого-то «сборщика Васяна» стабильность работы отсутствует по умолчанию, а количество «интегрированного» софта превышает все мыслимые пределы; отнюдь, я хочу показать крайне минималистичный образ из которого вырезано практически все.

ЧИТАТЬ ДАЛЕЕ


SIP звонок через GET-запрос

На компьютерах под управлением MS Windows я обычно пользуюсь SIP-клиентом PhonerLite. Недавно вышло обновление этой замечательной звонилки — теперь она оснащена Telnet-сервером, к ней можно подключаться удаленно и отдавать такие команды, как «положить трубку», «ввести номер в наборное поле», «начать дозвон» и другие. А тут как раз один из заказчиков обратился с запросом возможности совершать SIP звонок на GSM-контроллер нажатием на кнопку в HTML-странице — в общем, все звезды сошлись.

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


Консольный SIP-клиент PJSUA для Win64

Для одного из проектов возникла потребность в софтфоне, управляемом из командной строки, сам проект, разумеется, для MS Windows. Почти с десяток разных линуксоидов-телефонистов говорили, что для MS Windows такого нет, но это не совсем так. Опенсорсный SIP-клиент PJSUA собирался в т.ч. для MS Windows, но ссылки на бинарные сборки давным-давно стухли, поэтому я попросил своего хорошего друга скомпилировать исходники заново — держите бинарник PJSUA для Win64, собран с помощью VC14 (и может потребовать соответствующих распространяемых наборов библиотек).


Псевдоперехват нажатия PrtScr в Windows

В Windows 7 есть такая утилита для работы с областью скриншота — «Ножницы» (Snipping Tool). И хоть лично я этой утилитой толком не пользовался, но многим из моих знакомых она приходилась по нраву. Со временем в Windows 10 этот инструмент претерпел некоторые изменения, появились всплывающие сообщения (на закрытие которых каждый раз приходилось терять время, фактически — лишний клик мышкой) призывающие перейти на другой фирменный инструмент взамен удаляемых из состава Windows «Ножниц». Обычно все ставят сторонние приложения которые и нажатие клавиши PrtScr перехватят, и полученный скриншот в какую-нибудь помойку зальют, но в коммерческой среде применимость подобного ПО под большим вопросом. По просьбе одного человека я сделал простое альтернативное решение, оно срабатывает по нажатию на клавишу Print Screen.

ЧИТАТЬ ДАЛЕЕ


Вывод в Memo вместо командной строки

Иной раз в процессе разработки ПО или же автоматизации каких-либо процессов сталкиваюсь с необходимостью использовать консольные (без графического интерфейса) версии программ и утилит в качестве вспомогательных по отношению к «главному» приложению (которое вполне себе имеет GUI). Ниже я напишу шпаргалку (больше для самого себя) по редиректу вывода из командной строки в текстовое поле Memo.

ЧИТАТЬ ДАЛЕЕ


Принудительная смена DUID на Mikrotik

Один из заказчиков с инфраструктурой на базе Mikrotik обратился за помощью в решении одной проблемы. На его центральном роутере был переназначен вручную MAC-адрес (так было нужно), казалось бы, дело совсем нехитрое. Но когда заказчик начал смотреть в сторону IPv6, то оказалось, что DUID содержит его прежний MAC, а не вновь заданный. Более того, согласно спецификациям, пользователь не может задавать DUID самостоятельно. Но все решаемо, ведь дальше действовать будем мы.

ЧИТАТЬ ДАЛЕЕ


Завершение работы процесса в Windows по занятому порту

Штатная утилита taskkill в Windows умеет завершать процессы по всяким разным критериям — и по PID, и по имени образа, даже на удалённых машинах. Но чего там точно нет (наверное, не без причин) — это завершение работы процесса по занятому TCP порту. На коленке я набросал утилиту для которой можно в качестве аргумента запуска указать порт, после чего она завершит процесс который этот порт занял. Утилита называется KillByPort, забрать бинарник можно здесь.

KillByPort.exe 8080