Loess.ru

having fun

Useful Zabbix scripts

https://github.com/grundic/zabbix-disk-performance

https://github.com/IvanBayan/Zabbix-lm-sensors-lld (https://share.zabbix.com/unsorted/lld-script-for-sensor-type-items-based-on-lm-sensors) (без триггеров и итемов, только дискавери)
https://github.com/blind-oracle/zabbix-sensors (https://share.zabbix.com/cat-server-hardware/sensors) (с триггерами)
https://github.com/nobodysu/zabbix-mini-IPMI/ (https://share.zabbix.com/cat-app/zabbix-mini-ipmi)
(в поиске https://share.zabbix.com/search?searchword=linux+sensors&search_cat=1 — всего три скрипта, это они и есть)

https://github.com/v-zhuravlev/zbx-smartctl (https://share.zabbix.com/storage-devices/smart-monitoring-with-smartmontools-lld) (инструкция https://serveradmin.ru/monitoring-smart-v-zabbix/)

https://github.com/delin/Zabbix-NUT-Template

оповещения в Tg, пошаговая инструкция: https://serveradmin.ru/nastroyka-opoveshheniy-zabbix-v-telegram/

ffmpeg+hls picture and audio streaming

Появилась задача — из говна и палок собрать переключение по расписанию
с видеопотока
на картинку+радиопоток
и обратно, и транслировать это в hls.

В первом приближении задача решена так:
cron поочерёдно запускает два скрипта:

killall -9 ffmpeg
find /mnt/ramdisk/ -mindepth 1 -mtime +1 -delete
/usr/bin/ffmpeg -stream_loop -1 -i /path/to/slide.ts \
-re -i http://audio.mp3.ip.address:8000/sample128 -bufsize 1920k -vf scale=w=720:h=576:force_original_aspect_ratio=decrease \
-c:a aac -b:a 128k \
-c:v libx264 -crf 21 -preset veryfast -pix_fmt yuv420p \
-hls_time 4 -hls_list_size 3 -hls_flags delete_segments+discont_start+append_list /mnt/ramdisk/video.m3u8 &>/dev/null &

при этом slide.ts собран ффмпегом из картинки (-i ‘/path/to/image.jpg’), ну просто потому что -i image.jpg работал крайне нестабильно при переключении потоков и вообще не работал в firefox:

/usr/bin/ffmpeg -y -f image2 -pattern_type glob -framerate 25 -i '/path/to/slide.jpg' -an -aspect 16:9 -qscale 2 -g 50 -f mpegts -pix_fmt yuv420p -r 25 /path/to/slide.ts

второй скрипт:

killall -9 ffmpeg
find /mnt/ramdisk/ -mindepth 1 -mtime +1 -delete

/usr/bin/ffmpeg -i http://video.mpeg2ts.ip.address:port/stream -bufsize 1920k -vf scale=w=720:h=576:force_original_aspect_ratio=decrease \
-c:a aac -b:a 128k \
-c:v libx264 -crf 21 -preset veryfast \
-hls_time 4 -hls_list_size 3 -hls_flags delete_segments+discont_start+append_list+temp_file /mnt/ramdisk/video.m3u8 &>/dev/null &

Опции для потоков сделаны специально одинаковыми, дабы минимизировать разницу между ними. Вторая строка удаляет лишние ts-файлы, которые остаются после каждого убийства ffmpeg.
Работает как говно, если честно, бывает, циклит ещё раз старые чанки, зато задачу свою выполняет довольно стабильно. Примерно это и требовалось, у меня больше нет желания заниматься экспериментами =@. Если будешь тюнить — имей в виду, что любая опция важна и может покрашить всё к чертям, и заставить браузерный hls-плеер тупить даже в те моменты, когда он тупить не должен.

https://ffmpeg.org/ffmpeg-formats.html#Options-5

Squid url_regex и роскомнадзор

роскомнадзор

Как превратить список запрещённых сайтов из роскомнадзора в регулярные выражения для Squid:

Борясь с требованиями органов этой страны посредством нескольких мануалов с хабра, обнаружил проблемы. Одна из них заключается в том, что предложенные парсеры xml делают список url-ов, однако же squid понимает только регулярные выражения. Она проявляется в неблокировке encoded-урлов (имеющих вид …%D0%B0%20…). После часа гугления оказалось, что squid url_regex понимает родной дебиану utf-8, и было принято решение преобразовывать список в регулярные выражения с помощью php rawurldecode().
Read More

Apache2 /icons/ directory forbidden

Default installations of Apache usually alias /icons to Apache’s icons directory which cannot be overridden in an .htaccess file. If you do not control the Apache configuration of a server, and for maximum compatibility, it is always best to never have an /icons directory at a website’s root level.

On a Debian, for example, the following is defined at /etc/apache2/mods-available/alias.conf:

Alias /icons/ "/usr/share/apache2/icons/"

Read More