Gzip сжатие в nginx

Памятка по включению gzip сжатия в веб сервере nginx. Пишу обычно в контексте http

gzip on;
gzip_proxied any; # сжатие проксируемых данных
gzip_comp_level 5; # уровень сжатия (по умолчанию 1)
gzip_types text/plain text/css  text/json text/javascript text/xml text/x-js application/json application/x-javascript application/xml application/xml+rss application/javascript; # mime-типы на которые применять сжатие
gzip_disable «msie6»; # regexp по User-agent для которых необходимо отключить сжатие
gzip_vary on; # добавляет заголовок Vary: Accept-Encoding

На бэкэнде Apache модуль для сжатия можно отключить:

a2dismod deflate
apache2ctl -k graceful

Подробнее по директивам модуля ngx_http_gzip тут http://nginx.org/ru/docs/http/ngx_http_gzip_module.html

Горячие клавиши в терминале 2

В продолжение поста про горячие клавиши в терминале

ctrl-t — поменять две буквы местами слева от курсора

ctrl-u — вырезать (в буфер) строку слева от курсора

ctrl-w — вырезать (в буфер) слово слева от курсора
Читать далее «Горячие клавиши в терминале 2»

Скрипт отключения/включения wifi в dir-300 из консоли

Написал скрипт для отключения/включения wi-fi на роутере dir-300 из консоли. Работает просто, параметры up и down. Для большинства практического смысла не имеет, а я часто включаю, выключаю вай-фай ну и для практики с  curl. В методе POST передается слишком много параметров, я часть порубил, часть оставил.

#!/bin/bash
 
#Адрес веб-интерфейса роутера
routerUrl=http://192.168.0.1
routerLogin=user
routerPassword=derpasswort
#ssid сети, вместо пробелов "+"
wlanSsid=halyava
 
curl -d "ACTION_POST=LOGIN" \
	-d "FILECODE=" \
	-d "VERIFICATION_CODE=" \
	-d "LOGIN_USER="$routerLogin"" \
	-d "LOGIN_PASSWD="$routerPassword"" \
	-d "login=Log+In+" \
	-d "VER_CODE=" \
	""$routerUrl"/st_device.php" > /dev/null
 
case "$1" in
	up)
	curl -d "ACTION_POST=final" \
	-d "f_enable=1" \
	-d "f_wps_enable=1" \
	-d "f_ssid="$wlanSsid"" \
	-d "f_wlan_sch=0" \
	-d "f_super_g=" \
	-d "f_xr=" \
	-d "f_txrate=0" \
	-d "f_wmm_enable=0" \
	-d "f_ap_hidden=0" \
	-d "f_authentication=5" \
	-d "f_cipher=2" \
	-d "f_wpa_psk_type=1" \
	-d "f_wpa_psk="$routerPassword"" \
"$routerUrl/bsc_wlan.php" > /dev/null;;
 
	down)
	curl -d "ACTION_POST=final" \
	-d "f_enable=0" \
	-d "f_wps_enable=1" \
	-d "f_ssid="$wlanSsid"" \
	-d "f_super_g=" \
	-d "f_xr=" \
	-d "f_txrate=0" \
	-d "f_wmm_enable=0" \
	-d "f_ap_hidden=0" \
	-d "f_authentication=5" \
	-d "f_cipher=2" \
	-d "f_wpa_psk_type=1" \
	-d "f_wpa_psk="$routerPassword"" \
"$routerUrl/bsc_wlan.php" > /dev/null;;
 
	*)
	echo "Please use up/down script options for managing wlan in DIR-300";;
esac

chmod +X routerwlan

routerwlan down

Читать далее «Скрипт отключения/включения wifi в dir-300 из консоли»

Полезности по SSH. Туннель, проброс портов, socks-прокси

Поскольку мне в последнее время приходится каждый день работать по ssh, то хочется поделиться теми вещами, которые мне помогают в работе. Прежде всего надо отметить, что часть отличных возможностей ssh остается в тени. Хотя в мане это все есть. В этот топик буду складывать фичи ssh, ssh туннели, пробросы портов и все что касаемо OpenSSH. Итак:
Читать далее «Полезности по SSH. Туннель, проброс портов, socks-прокси»

Apt-cacher-ng — кешер deb пакетов из репозитория

Всегда пользуюсь. Простая программа apt-cacher-ng.

Нет смысла держать зеркало репозиториев в маленькой сети. И в большой, я думаю, это не всегда ценное решение. Программа крайне проста в работе. Все deb пакеты, что проходят через нее, остаются в кеше на сервере в папке /var/cache/apt-cacher-ng/. И в следующий раз, если клиент запрашивает пакет, который есть в базе кешера, то он будет взят оттуда, и соответственно по локальной скорости. Экономия трафика и времени.
Читать далее «Apt-cacher-ng — кешер deb пакетов из репозитория»

Как выключить Linux компьютер через определенное время

Тут я давненько писал как выключить компьютер через определенное время в Windows. В Linux это делается ничуть не сложнее, так же присутствует программа с одноименным названием shutdown.
Читать далее «Как выключить Linux компьютер через определенное время»

Как разобрать Apple клавиатуру

!Внимание, я не несу никакой ответственности за данный совет, все делаете на свой страх и риск!

Как разобрать Apple клавиатуру

Прислали мне благодарностью за некоторую помощь клавиатуру Apple aluminium keyboard из Бельгии. Конечно же на ней нет русского языка, это меня не пугает абсолютно, а вот французская/бельгийская раскладка AZERTY немного вводит в ступор. Не стал отчаиваться, полез искать гайды по разборке клавиатуры Apple, что бы поменять клавиши местами и пришел к выводу что данная процедура вполне осуществима. Объясню на пальцах. Берете пластиковую карту, зубочистку или другой неметаллический предмет, что бы лишний раз не царапать девайс. Аккуратно, с небольшим усилием поддеваете верхнюю часть клавиши до щелчка, верхняя клавиша слетает пазами с осей, а дальше просто вытаскиваем с нижней части. Устанавливается на место так же. Подсовываете нижнюю часть клавиши и кладете кнопку в ячейку, а дальше нажимаете пальцем до двух шелчков, что бы с правой и левой стороны пазы защелкнулись. Верхние узкие клавиши развернуты перпендикулярно средним, если их снимать, то надо поддевать с правой стороны. Вот это видео помогло мне разобрать Apple клавиатуру.

Читать далее «Как разобрать Apple клавиатуру»