вторник, 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;
}