задача: иногда пропадает инет и надо иметь в офлайне апру сотен треков любимой станции гуглим в нете список урлов типа вот такого https://gist.github.com/ergoz/e7837a54956116167db93b016dbd51a9
Ставим streamripper и запускаем его в скрине
задача: иногда пропадает инет и надо иметь в офлайне апру сотен треков любимой станции гуглим в нете список урлов типа вот такого https://gist.github.com/ergoz/e7837a54956116167db93b016dbd51a9
Ставим streamripper и запускаем его в скрине
cat /usr/bin/mac
используем для вывода регистроточкозависымых маков
#!/bin/bash
echo $1 | sed 's/-/:/g'
echo $1 | sed 's/.*/\U&/'
echo $1 | sed 's/-/:/g'| sed 's/.*/\U&/'
как вариант для просомотра мака в DHCP микротика
mac=`echo $1 | sed 's/-/:/g'| sed 's/.*/\U&/'`
ssh 192.168.13.1 ip dhcp-server lease print detail where mac-address="$mac"
pip3 install folium requests ipinfoтянем сам скрипт
wget https://raw.githubusercontent.com/meesaltena/SSHHeatmap/master/SSHHeatmap.pyсобираем попытки входа на сервер
ssh root@193.*.61.11 'grep "Failed password" /var/log/auth.log' > failed.txt
python3 SSHHeatmap.py failed.txt 6e**f9**f**fb*получаем файл heatmap.html - открываем в браузере и топаем настраивать файл ту бан
#!/bin/bash
# тут указываем какие стримы будем вещать
scriptname=4mpl.sh
str1=rtsp://root:passsword@212.191.253.53:554/live/sub
str2=rtsp://root:passsword@212.191.253.61:554/live/sub
str3=rtsp://root:passsword@122.191.253.88:554/live/sub
str4=rtsp://root:passsword@212.191.253.18:554/live/sub
# глядим что за экран у нас, вдруг сменили и пригодиться в положениях плеера
export DISPLAY=':0.0'
xwin=`xdotool getdisplaygeometry | awk {'print $1'}`
ywin=`xdotool getdisplaygeometry | awk {'print $2'}`
# прячим мышку? помоему не работает
xdotool mousemove "$xwin $ywin"
# это статусбар убунту, мешается по умолчанию на 24 пикселя, сука
Barsize=24
# тут мы делем полученый размер экрана на 4 равных части за вычетом бара
let "wsizex=$xwin / 2"
let "wsizey=$ywin / 2 - ($Barsize / 2)"
wsize="$wsizex""x""$wsizey"
let "wsizeyY=$wsizey + $Barsize "
# водим переменные позиций окон
gpos1="+0+$Barsize"
gpos2="+$wsizex+$Barsize"
gpos3="+$wsizex+$wsizeyY"
gpos4="+0+$wsizeyY"
# гавнякаем переменными в syslog - тупо для дебага, можно удалить
logger "$scriptname str1=$str1"
logger "$scriptname str2=$str2"
logger "$scriptname str3=$str3"
logger "$scriptname str4=$str4"
logger "$scriptname xwin=$xwin"
logger "$scriptname ywin=$ywin"
logger "$scriptname wsize=$wsize"
logger "$scriptname gpos1=$gpos1"
logger "$scriptname gpos2=$gpos2"
logger "$scriptname gpos3=$gpos3"
logger "$scriptname gpos4=$gpos4"
# из соседнего скрипта тисипидампим ip переменных str и складываем
# в файл, если в файле меньше 2 х строк - потока нет, перезапускаемся
a=1
b=`cat /home/filalex/dump1 | wc -l `
c=`cat /home/filalex/dump2 | wc -l `
d=`cat /home/filalex/dump3 | wc -l `
e=`cat /home/filalex/dump4 | wc -l `
# тут я не понял как работет $переменная$а_тут_вторая_которая_подставляется_первой поэтому говнокод
if [ "$b" -gt "$a" ]
then
logger "$scriptname поток $str1 в норме, что то прилетело работаем дальше "
else
logger "$scriptname поток $str1 упал, перезапускаем плеер"
mpv -cache=32 -border=no -geometry "$wsize"$gpos1 $str1 &
fi
if [ "$c" -gt "$a" ]
then
logger "$scriptname поток $str2 в норме, что то прилетело работаем дальше "
else
logger "$scriptname поток $str2 упал, перезапускаем плеер"
mpv -cache=32 -border=no -geometry "$wsize"$gpos2 $str2 &
fi
if [ "$d" -gt "$a" ]
then
logger "$scriptname поток $str3 в норме, что то прилетело работаем дальше "
else
logger "$scriptname поток $str3 упал, перезапускаем плеер"
mpv -cache=32 -border=no -geometry "$wsize"$gpos3 $str3 &
fi
if [ "$e" -gt "$a" ]
then
logger "$scriptname поток $str4 в норме, что то прилетело работаем дальше "
else
logger "$scriptname поток $str4 упал, перезапускаем плеер"
mpv -cache=32 -border=no -geometry "$wsize"$gpos4 $str4 &
fi
#!/bin/bash
for i in {1..4}
do
dumphost=`grep str$i /home/filalex/4mpl.sh | grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}"`
timeout 5 tcpdump -i enp1s0 -n -q host $dumphost > /home/filalex/tdump$i
cp /home/filalex/tdump$i /home/filalex/dump$i`
done
#!/bin/bash
ping -c 1 -w 5 37.235.***.*** &>/dev/null
if [ $? -ne 0 ] ; then
echo "inet down Oo exit"
else
echo "inet up, working!"
cd /var/www/tv/
rm *.m3u
echo "cd to www"
wget -t 300 -O full.m3u http://tv.site.ru/full.m3u
echo "wget full"
sed -e 's/udp:\/\/@/http:\/\/server.lanta.me:50611\/udp\//g' full.m3u > lanta_proxy.m3u
echo "created lanta proxy"
sed -e 's/udp:\/\/@/http:\/\/myIP:50666\/udp\//g' full.m3u > filalex_proxy.m3u
echo "created filalex proxy"
sed -e '/225.50.70/d' -e '/Взросл/d' -e 's/udp:\/\/@/http:\/\/192.168.251.10:8888\/udp\//g' full.m3u > wox.m3u
echo "done!"
sed -e '/225.50.79/d' -e '/Взросл/d' filalex_proxy.m3u > wox2.m3u
fi
sed -e 's/\&\;//g' vk.m3u > vk.m3u16 узнаем сколько строк в фйле (первую не считаем, то есть -1 )
sed -e 's/\#039\;//g' vk.m3u1 > vk.m3u2
cat vk.m3u2 | wc -lя получил 2915 , то есть работать будем до 2914 строки
#!/bin/bash
cd /home/filalex/tmp2
for i in `seq 2 2 2914`;
do
ii="$i"p
let j=$i+1
jj="$j"p
name=`cat vk.m3u2 | sed -n "$ii" | cut -d ',' -f 2`
url=`cat vk.m3u2 | sed -n "$jj"`
wget $url -O "$i"" ""$name.mp3"
done
exit 0