воскресенье, 21 августа 2016 г.

Воспроизведение системного звука из командной строки Windows

Данная заметка для того чтобы не забыть. Для воспроизведения системного звука из командой строки достаточно выполнить команду:

rundll32 user32.dll,MessageBeep

Мне такое потребовалось, чтобы было слышно окончание процесса сборки. Я долго искал решение в сети, но прямого ответа, который бы работал везде, я не нашел. 

суббота, 16 мая 2015 г.

Контакты TeamViewer


Сделал маленькую удобную программу для работы с TeamViewer.

Программа предназначена для быстрой организации контактов для TeamViewer. Контакты хранятся в текстовых файлах с расширением *.tv и открываются двойным щелчком по значку в проводнике Windows.


Формат файлов *.tv

tv-файлы являются стандартными ini-файлами и могут быть отредактированы в любом текстовом редакторе.

Каждая секция описывает один контакт, где название секции соответствует имени контакта. В каждой секции должен быть параметр ID и Password. Также может быть ключ Comment, который будет хранить описание. Параметр ID может содержать цифры, пробелы и дефисы.

Пример:
[Пупкин Василий Иванович]
ID=123-456-789
Password=megapassw0rd
Comment=Главбух

[Мой домашний сервер]
ID=111 222 333
Password=admin
Comment=Пора сменить пароль

Лицензия

Данная программа распространяется бесплатно без каких-либо гарантий. Вы её используете на собственный страх и риск.

Скачать: TeamViewerContactsSetup.zip (617 Кб)

понедельник, 12 января 2015 г.

Signer - программа для цифровой подписи

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

После установки программы Signer в контекстном меню любого файла появится команда «Подписать электронной подписью..». Выбрав эту команды, Вам будет предложено выбрать сертификат пользователя, чью подпись Вы будете ставить. После успешного подписания будет выдано сообщение об этом с единственной кнопкой «ОК». Собственно, всё! Рядом с подписываем файлом появится файл отсоединенной подписи в формате PKS#7.

Данная программа умеет:

  • Подписывать файл одной отсоединенной электронной подписью. И только.
Дальнейшее развитие программы:
  • Проверка уже имеющейся подписи.
  • Поддержка нескольких подписей.
  • Формат Base64.
Пока времени нет на дальнейшее развитие программы. Пока она выполняет одну, но самую важную функцию.

Технические подробности

Для работы программы нужен CAPICOM. Работает с любым крипторовайдером (проверялось на Крипто-Про и ViPNet CSP).

Загрузки

четверг, 31 июля 2014 г.

Мысли о резервном копировании файлов в WIM-образы

Сегодня появилась идея об использовании WIM-образов для хранения резервных копий документов.

Дело в том, что WIM-образы позволяют хранить в себе несколько образов одновременно, при этом одинаковые файлы физически не дублируются. Такой подход позволяет делать что-то похожее на инкрементальное резервное копирование. Я представляю следующий подход:

  • На компьютере создается один WIM-файл на каждый корень резервирования (Рабочий стол, Мои документы, и т.д.).
  • Каждый день снимается образ с каждого корня и добавляется в WIM-файл, где образу дается имя в виде даты резервирования.
Для распаковки можно будет определить нужный индекс образа. Смонтировать выбранный образ и извлечь нужные файлы. С WIM-образами работать может встроенная утилита DISM (Windows Vista/7/8). Остается придумать, как это все автоматизировать.

вторник, 24 сентября 2013 г.

Несколько компьютеров через один ViPNet Client

Здесь речь пойдет от том, как организовать доступ с нескольких компьютеров к защищенной сети, организованной по средствам ViPNet Client на одном компьютере.

Исходные данные:

  • Допустим у нас есть веб-сервис example.com, который доступен в защищенной сети по адресу 192.168.128.1.
  • Локальная сеть 192.168.1.0/24
  • У нас есть компьютер с установленным ViPNet Client, который обеспечивает нам доступ к сети 192.168.128.0/24. На этом компьютере в файле hosts прописано соответствие 192.168.128.1 example.com. Сам же компьютер имеет IP 192.168.1.2.
  • В локальной сети имеются компьютеры, которым тоже нужно доступ к example.com через защищенную сеть, на них не установлен ViPNet Client.
Решение
  • На том компьютере, где установлен ViPNet Client, устанавливаем прокси-сервер squid.
  • Настраиваем прокси-сервер на порт 80 в прозрачном режиме (http_port 80 transparent)
  • Устанавливаем squid в качестве службы и запускаем.
  • На компьютерах, где нет ViPNet Client, в файлах hosts прописываем соответствие 192.168.1.2 example.com
  • На этом всё! Теперь сайт example.com доступен и работает через защищенную сеть, не нарушая общей безопасности.
P.S.: В принципе, под Linux так же можно реализовать эту схему.

четверг, 19 сентября 2013 г.

Driver Pack Solution (drpsu): делаем свою сборку

У Lite-версии drpsu есть один недостаток, чтобы загрузить драйвера из Интернета на чистой системе, сетевые драйвера уже должны быть на ней установлены. И тут возникла идея собрать пакет сетевых драйверов.

Здесь я приведу небольшую инструкцию по созданию своей сборки drpsu. Я в эту сборку включил следующие пакеты драйверов:

  • Чипсет
  • USB
  • Сетевые карты
  • WiFi
  • Телефоны / USB-модемы
  • Модемы
Итак, начнем сборку...

суббота, 7 сентября 2013 г.

Изменение размеров изображения на стороне браузера

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


function resizeImage(url, targetWidth, targetHeight) {
var img = document.createElement("img");
img.src = url;

var zoom = targetWidth / img.width;
var canvas = document.createElement("canvas");
canvas.width = img.width * zoom;
canvas.height = img.height * zoom;

var ctx = canvas.getContext("2d");
ctx.scale(zoom, zoom);
ctx.drawImage(img, 0, 0);
var base64 = canvas.toDataURL("image/jpeg");

return base64;
}