среда, 29 августа 2012 г.

SyntaxHighlighter для вашего кода

Замечательная подсветка вашего кода на web страницах
http://alexgorbatchev.com/SyntaxHighlighter/

/** SyntaxHighlighter */
 function foo()
  {
   if (counter <= 10)
   return;
   // it works!
  }
К сожалению есть баг, при котором в chrome нумерация линий сдвигается. Победил это
следующим кодом перед <pre class="brush: js">
<style>
.syntaxhighlighter table td.gutter .line {
  padding: 0 !important;
}
</style>

вторник, 28 августа 2012 г.

Nginx: из исходников, nginx-upload-module, nginx-upload-progress-module

Скачиваем модули
git clone https://github.com/vkholodkov/nginx-upload-module.git
git clone -b 2.2 git://github.com/vkholodkov/nginx-upload-module.git nginx-upload-module-2.2m
(git clone https://github.com/masterzen/nginx-upload-progress-module.git)

Ставим пакеты необходимые для сборки nginx
yum install pcre pcre-devel
yum install perl-devel perl-ExtUtils-Embed perl-ExtUtils-CBuilder perl-CPAN
yum install openssl-devel
yum install libxml2-devel libxslt-devel
yum install gd-devel
yum install GeoIP-devel

Скачиваем стабильную версию nginx:
http://nginx.org/ru/download.html

Nginx: php-fpm, ограничение скорости, no-cache

Подключаем php-fpm
yum install php-fpm
chkconfig --level 235 php-fpm on
location ~ \.php$ {
root          /var/www/html;
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include        fastcgi_params;
}
Ограничение скорости скачивания
После скачивания 1500k скорость урезается до 100k/sec
set $limit_rate 100k;
set $limit_rate_after 1500k;
Отсылаем заголовок no-cache
location nocache.html {
expires    -1;
}

понедельник, 27 августа 2012 г.

Получаем загрузку CPU из WEB страницы (IE)

Скрипт работает только в IE. Требуется добавить ваш сервер в надежные узлы и для них в параметрах безопасности включить "Разрешить сценарии" и включить "Разрешить использовать\запуск ActiveX".

<script language="javascript">
var myTimer;    // переменная управления таймером
var countCpu;   // сумма всех подсчетов cpu
var countCpuI;  // количество подсчетов cpu
var countMax;   // max значение cpu

function showCpu(){
 
  var obj = new ActiveXObject("WbemScripting.SWbemLocator");
  var s = obj.ConnectServer(".");
  var colItems = s.ExecQuery("SELECT * FROM Win32_Processor"); 

понедельник, 6 августа 2012 г.

Root доступ к IPAD под linux

Из cydia устанавливаем пакет afc2add
На своем linux (для примера ubuntu) устанавливаем ifuse
apt-get install ifuse
Создаем папку, куда будем монтировать ipad
sudo mkdir /mnt/ipad
Подключаем ipad, через usb, и выполняем команду
sudo ifuse /mnt/ipad --root
P.S. отключаем командой: sudo umount /mnt/ipad
P.S.S. метод также подходит и для iphone

P.S.S.S. путь к Installous: /mnt/ipad/private/var/mobile/Documents/Installous/Downloads

Смотри у меня: Зарядка IPAD в linux

пятница, 3 августа 2012 г.

RTMPDump + ffmpeg (установка за 30 сек)

cкачиваем последнюю версию из git
git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump

собираем из исходников
make SYS=posix
make install
ldconfig

сохраняем поток прогоняя его через ffmpeg
rtmpdump -r rtmp://192.168.10.10/apple/apple -o - | ffmpeg -i - -ac 2 -acodec libmp3lame -ar 44100 -ab 128k -f mp3 test.mp3

среда, 1 августа 2012 г.

Monit + Nginx (установка за 30 сек)

Устанавливаем monit (из centos репозитария epel)
wget -c http://mirror.yandex.ru/epel/RPM-GPG-KEY-EPEL-6
rpm --import RPM-GPG-KEY-EPEL-6
wget -c http://mirror.yandex.ru/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm -ihv epel-release-6-7.noarch.rpm

yum install monit

Простые настройки конфига /etc/monit.conf
set daemon  10         # делаем опрос каждые 10 секунд
with start delay 20    # задержка при старте моита
 set logfile syslog facility log_daemon  
# настройка почтового оповещения
 set mailserver localhost
 set mail-format { from: monit@localhost }
 set alert root@localhost


# порт с логином и паролем, для просмотра состояния через web
 set httpd port 2812 and
      allow admin:password

Для примера минимальный конфиг для nginx
/etc/monit.d/nginx.conf

check process nginx with pidfile /var/run/nginx.pid
  start program = "/etc/init.d/nginx start"
  stop program  = "/etc/init.d/nginx stop"