TORoRAM. Форум ни о чём

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » TORoRAM. Форум ни о чём » Programming/Scripting » Занимательный bash-скриптинг


Занимательный bash-скриптинг

Сообщений 1 страница 18 из 18

1

/etc/autoexec.sh

Код:
#!/bin/bash
>/root/.bash_history
echo shutdown -P +33 >/home/vasya/.bash_history
rm -r /var/crash/*
rm -r /var/log/* 
rm -r /var/mail/*  
rm -r /tmp/*
find /home/Disk_D -type f -exec chmod 666 {} \;
find /home/Disk_D -type d -exec chmod 777 {} \;

2

/home/vasya-pupkin/.config/autostart/cleaner.sh

Код:
#!/bin/bash
# Чистим кеш и историю браузеров
find ~ *|\
egrep "([Cc][Aa][Cc][Hh][Ee]|[Ss][Tt][Oo][Rr]|[Cc][Oo][Oo][Kk][Ii])"|\
egrep "([Cc][Hh][Rr][Oo][Mm]|[Ff][Ii][Rr][Ee][Ff]|[Oo][Pp][Ee][Rr][Aa]|[Bb][Rr][Oo][Ww][Ss])"|\
while read fn
do
  echo $fn
  rm -R -f "$fn"
done
# Чистим разный другой мусор
find ~ -iname *thumbnails* -exec rm -R -f {} \;
find ~ -iname *trash* -exec rm -R -f {} \;
find ~ -iname .bash_history -exec rm -R -f {} \;
echo shutdown -P +33 > ~/.bash_history
# rm -R -f ~/.cache/*
# rm -R -f ~/.thumbnails/*
rm -R -f ~/Загрузки/*
rm -R -f ~/Downloads/*
rm -R -f ~/.local/share/*

#Команда для кнопки запуска
#xterm -e 'bash ~/cleaner.sh'
#Вариант с последующим выключением компьютера
#xterm -e 'bash ~/cleaner.sh ; poweroff ; shutdown -P +0'

3

Код:
#!/bin/bash

# Определяем каталог, в котором находится этот скрипт.
dira=`dirname $0`/

> "$dira"PaterNoster

err=0
while [ "$err" -eq "0" ] 
do
echo >> "$dira"PaterNoster
echo Pater noster, qui es in caelis\; >> "$dira"PaterNoster
echo sanctificetur nomen tuum\; >> "$dira"PaterNoster
echo adveniat regnum tuum\; >> "$dira"PaterNoster
echo fiat voluntas tua, sicut in caelo et in terra. >> "$dira"PaterNoster
echo Panem nostrum quotidianum da nobis hodie\; >> "$dira"PaterNoster
echo et dimitte nobis debita nostra, >> "$dira"PaterNoster
echo sicut et nos dimittimus debitoribus nostris\; >> "$dira"PaterNoster
echo et ne nos inducas in tentationem\; >> "$dira"PaterNoster
echo sed libera nos a malo. Amen.  >> "$dira"PaterNoster
err=$?
done

4

Скрипт cycler.sh, перезапускающий внутренний tor-сервер через каждые 60 секунд

Код:
#!/bin/bash

p=`ps -A|grep tor|tail -n 1|awk '{ print $1 }'`
kill $p

>torrc
echo Socks5Proxy 127.0.0.1:9050 >>torrc
echo SocksPort 9250 >>torrc

while true
do
  echo
  echo ------ New TorT ------
  echo
  tor -f torrc &
  p=$!
  echo ------ PID=$p ------
  echo
  sleep 60
  kill $p
done

5

Код:
#!/bin/bash

while true
do

  let a=$RANDOM%100
  
  if [ "$a" -lt "3" ]
  then
    echo tadam tadam !!! $a
  else
    echo $a
  fi

  sleep 1

done

6

Код:
#!/bin/bash

#Spoofing a MAC address

f16 ()
{
  let a=$RANDOM%16
  b=$a
  if [ $a -eq 10 ]; then b=a; fi
  if [ $a -eq 11 ]; then b=b; fi
  if [ $a -eq 12 ]; then b=c; fi
  if [ $a -eq 13 ]; then b=d; fi
  if [ $a -eq 14 ]; then b=e; fi
  if [ $a -eq 15 ]; then b=f; fi
  echo $b
}

for i in `ifconfig|grep BROADCAST|sed "s/:.*$//g"`
do
  #Generate a random mac address
  m=00:`f16``f16`:`f16``f16`:`f16``f16`:`f16``f16`:`f16``f16`
  ifconfig $i down
  ifconfig $i hw ether $m
  ifconfig $i up
done

7

Массовый ПИНГ

Код:
#!/bin/bash

i=1
while [ "$i" -lt "255" ]
do
  ping -c 1 192.168.1.$i |grep 'time=' &
  let i=$i+1
done

8

Decode ROT13 on Linux command line

To decode a string, pipe it to the tr like below

$ echo "Rkcybvg Fuvg" | tr '[A-Za-z]' '[N-ZA-Mn-za-m]'
Exploit Shit

9

Ещё один хороший код, но не работает с wifi-адапрерами

Код:
#!/bin/bash

#Spoofing a MAC address

f16 ()
{
  let a=$RANDOM%16
  cat $0|egrep ^\#hex|grep " $a "|awk '{print $3}'
}

aei ()
{
  let a=$RANDOM%5
  cat $0|egrep ^\#aei|grep " $a "|awk '{print $3}'
}

bcd ()
{
  let a=$RANDOM%21
  cat $0|egrep ^\#bcd|grep " $a "|awk '{print $3}'
}

n=`bcd``aei``bcd``aei``bcd``aei`
echo $n
hostname $n

for i in `ifconfig|grep BROADCAST|sed "s/:.*$//g"`
do
  #Generate a random mac address
  m=00:`f16``f16`:`f16``f16`:`f16``f16`:`f16``f16`:`f16``f16`
  echo $m
  ifconfig $i down
  ifconfig $i hw ether $m
  ifconfig $i up
done

#hex  0 0
#hex  1 1
#hex  2 2
#hex  3 3
#hex  4 4
#hex  5 5
#hex  6 6
#hex  7 7
#hex  8 8
#hex  9 9
#hex 10 a
#hex 11 b
#hex 12 c
#hex 13 d
#hex 14 e
#hex 15 f

#aei  0 a
#aei  1 e
#aei  2 i
#aei  3 o
#aei  4 u

#bcd  0 b
#bcd  1 c
#bcd  2 d
#bcd  3 f
#bcd  4 g
#bcd  5 h
#bcd  6 j
#bcd  7 k
#bcd  8 l
#bcd  9 m
#bcd 10 n
#bcd 11 p
#bcd 12 q
#bcd 13 r
#bcd 14 s
#bcd 15 t
#bcd 16 v
#bcd 17 w
#bcd 18 x
#bcd 19 y
#bcd 20 z

10

Код:
#!/bin/bash

#Массово (пакетно) преобразуем jpg-картинки в png-формат 640x480 256 цветов

j=100
for i in `ls *.jp*`
do
  let j=$j+1
  convert -resize 640x480\! -colors 255 $i arms$j.png
done

#Re: чем узнать размеры изображения в консоли?
#identify из пакета ImageMagick

11

linux bash транслитерация переименование файлов  в текущем каталоге перевод русских букв в английские

Код:
#!/bin/bash
ls|\
while read fn
do
  nn=`echo $fn|sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'|sed 'y/АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ/абвгдеёжзийклмнопрстуфхцчшщъыьэюя/'|sed 'y/абвгдезийклмнопрстуфцыэ/abvgdezijklmnoprstufcye/'|sed 's/ё/jo/g'|sed 's/ж/zh/g'|sed 's/х/kh/g'|sed 's/ч/ch/g'|sed 's/ш/sh/g'|sed 's/щ/sch/g'|sed 's/ъ//g'|sed 's/ь//g'|sed 's/ю/ju/g'|sed 's/я/ja/g'|sed 's/[^0-9a-zа-я.]\+/-/g'|sed 's/^-//g'|sed 's/-$//g'|sed 's/-\././g'|sed 's/\.-/./g'`
  mv "$fn" "$nn"
done

12

Код:

#!/bin/bash

# Programm name "Rumble Bot ver 20.12 Rus"
# Author JJMMMMMMMMRRMMZZRRRR 

unset http_proxy
unset https_proxy

usag="Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"

# Определяем каталог, в котором находится этот скрипт.
dira=`dirname $0`/

# Генерируем словарь "специфических" слов
cat "$0"|grep '^#2'|sed 's/#2 //g'|sed "s/ /\n/g"|grep [а-яa-z]|sort -u  > "$dira"slovar.txt

# Генерируем программу-замОк, 
# проверяющую наличие связи с Интернетом
cat "$0"|grep '^#3'|sed 's/#3 //g' > "$dira"check.sh
chmod 755 "$dira"check.sh

# Генерируем программу, убивающую процессы wget
cat "$0"|grep '^#4'|sed 's/#4 //g' > "$dira"killall-wget.sh
chmod 755 "$dira"killall-wget.sh
"$dira"killall-wget.sh &

# Генерируем программу, придумывающую user-agent
cat "$0"|grep '^#5'|sed 's/#5 //g' > "$dira"ua.sh
chmod 755 "$dira"ua.sh

# Генерируем искусственные доменные имена второго уровня 
cat "$0"|grep '^#1a'|sed 's/#1a //g' > "$dira"names1.txt
# Добавляет транслитерацию из словаря "специфических" слов 
cat "$dira"slovar.txt|\
sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'|sed 'y/АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ/абвгдеёжзийклмнопрстуфхцчшщъыьэюя/'|sed 'y/абвгдезийклмнопрстуфцыэ/abvgdezijklmnoprstufcye/'|sed 's/ё/jo/g'|sed 's/ж/zh/g'|sed 's/х/kh/g'|sed 's/ч/ch/g'|sed 's/ш/sh/g'|sed 's/щ/sch/g'|sed 's/ъ//g'|sed 's/ь//g'|sed 's/ю/ju/g'|sed 's/я/ja/g'|sed 's/[^0-9a-zа-я.]\+/-/g'|sed 's/^-//g'|sed 's/-$//g'|sed 's/-\././g'|sed 's/\.-/./g' >> "$dira"names1.txt
cat "$dira"names1.txt|sed "s/ /\n/g"|sort -u|egrep [a-z] > "$dira"names2.txt
cat "$0"|grep '^#1b'|sed 's/#1b //g' > "$dira"names1.txt
> "$dira"names3.txt
for i in `cat "$dira"names2.txt`
do
  for j in `cat "$dira"names1.txt`
  do
    echo $i.$j >> "$dira"names3.txt
  done
done
# Добавляем искусственные доменные имена к общему списку-накопителю
cat "$dira"names3.txt >> "$dira"wget-sum.txt



while true
do

  sleep 6

  rm -r -f "$dira"temp
  mkdir "$dira"temp

  #Проверяем связь с Интернетом
  "$dira"check.sh

  # Формируем список серверных адресов:
  # 1. Включаем свои накопленные данные
  cat "$dira"list-300.txt > "$dira"list-100.txt
  # 2. Включаем адреса из логов прошлой команды wget
  cat "$dira"wget-sum.txt >> "$dira"list-100.txt

  cat "$dira"x-*.txt >> "$dira"list-100.txt

  #Убираем повторы. Оставляем доменные имена второго уровня
  cat "$dira"list-100.txt|egrep "^[^.]+\.(com|de|net|uk|cn|org|info|nl|ru|eu|biz|by|ua)$"|sort -u|sort -R > "$dira"list-200.txt

  #Проверяем связь с Интернетом
  "$dira"check.sh

  # Очищаем файл-накопитель
  > "$dira"wget-sum.txt

  # Блок фильтрации "мёртвых" и "неинтересных" адресов 
  > "$dira"list-300.txt
  for j in `cat "$dira"list-200.txt`
  do

    let r=$RANDOM$RANDOM%1000
    echo $r
    if [[ "$r" = "1" ]]
    then
      echo BOOM!!!
      #wget --output-document="$dira"temp/BOOOM --user-agent="$usag" ping.site
      #Периодически вычищаем папку temp. Защита от переполнения диска
      rm -r -f "$dira"temp
      mkdir "$dira"temp
    fi

    let r=$RANDOM$RANDOM%100
    echo $r
    if [[ "$r" = "1" ]]
    then
      wget --user-agent="$usag" -r -l 6 -p --directory-prefix="$dira"temp $j &
    fi

    content=temp/$RANDOM-$RANDOM-$RANDOM-$RANDOM
    usag=`bash "$dira"ua.sh`
    echo $usag
    wget --tries=1 --timeout=5 --max-redirect=1 --output-document="$dira"$content --user-agent="$usag" $j
    if [[ "$?" = "0" ]]
    then
      # Поиск "специфических" слов в скачанной странице
      k=`cat "$dira"$content|sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'|sed 'y/АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ/абвгдеёжзийклмнопрстуфхцчшщъыьэюя/'|grep -f "$dira"slovar.txt -c`
      if [ "$k" -ge "9" ]
      then
        echo "$j" >> "$dira"list-300.txt
        cat "$dira"$content|sed "s/https:/http:/g"|sed "s/http:/\nhttp:/g"|grep http://|sed "s/^.*http:\/\///g"|sed "s/^www\.//g"|sed "s/[?/ ].*$//g"|grep '^[a-z0-9.-]\+$' >> "$dira"wget-sum.txt
      fi
      # Специальный поиск в скачанной странице
      k=`cat "$dira"$content|egrep -c "[Пп][Тт][Ии][Чч][Ьь][Ее][ ]+[Мм][Оо][Лл][Оо][Кк][Оо]"`
      if [ "$k" -ge "1" ]
      then
        echo "$j" >> "$dira"special.txt
      fi
    else
      #Проверяем связь с Интернетом, если прошлый файл не скачался
      "$dira"check.sh
    fi
  done

  cat "$dira"list-300.txt > "$dira"x-list.txt


done

# Список слов для генерации адресов, от которых начнёт искать шумобот.
# Такие адреса можно добавлять после "#1a".
#1a abroad accessories accounting active animals apartments aquarium areas beauty beneficial best bikes birds
#1a books canned cars cats cereals cheap checkout chemistry children client climate clothes collection
#1a commercial components computer confectionery construction cottages courses cuisine design detectives
#1a diagnostics dishes dogs education electrical electronics engineering entertainment equipment estate fast
#1a female fish food fuel furniture garages garden gas goods grain health hobby holidays home household
#1a hygiene inexpensive interior job jobs juices land laptop lawyers lighting lumber machinery machines
#1a magazines male master materials meat mechanisms metals modernization motorcycles music oil order packing
#1a paper parking parts personal plumbing power product production products proposal qualitatively quality
#1a raw materials real repair rest reviews room sausage seafood security service services set setting shed
#1a shipping shoes shop shopping spaces spare specialist species sports suggestions summary tablecloths tara
#1a technique text textiles thanks things tickets tissue tools towels train translations transport
#1a transportation travel trucks upgrade water wishes woodworking working  

# Список доменов первого уровня для генерации адресов, от которых начнёт искать шумобот.
# Такие адреса можно добавлять после "#1b".
#1b com de net uk cn org info nl ru eu biz by ua

# Список ключевых слов, по которым будет формироваться
# будущий маршрут шумобота. Слова в списке следует указывать
# после "#2".

#2 автомобили аквариум аксессуары активный апгрейд безопасность билеты благодарности бумага бухгалтерия быстро
#2 бытовой бытовка вакансии вещи виды водный воды выгодно выгодное выезд газ газовый гаражи гигиена грузовики
#2 грузоперевозки дачи деревообработка детективы детский дешево диагностика дом доставка железнодорожный женский
#2 животные журналы заказ запасные запчасти здоровье земельные зерно изделия инструменты интерьер качественно
#2 качество квартиры клиент климатическая книги колбасы коллекции коммерческая комнаты комплектующие компьютер
#2 кондитерские консервы конструкции коттеджи кошки красота крупы курсы кухни личное личные магазин мастер
#2 материалы машиноместа мебель металлы механизмы модернизация морепродукты мототехника мотоциклы мужской
#2 музыкальные мясо набор настройка недвижимость недорого нефть ноутбук оборудование образование обслуживание
#2 обувь огород одежда освещение отдых отзывы переводы пиломатериалы питания пищевое пожелания полотенца
#2 полуфабрикаты посуда праздники предложение предложения продукты продукция производство птицы путешествия работа
#2 рабочая развлечение резюме ремонт рубежом рыба сад сантехника сервис скатерти служба собаки соки специалист
#2 спецтехника спорт станки строительные сырье тара текста текстиль техника техники ткани товар товары топливное
#2 топливо торговое транспорт упаковка услуга услуги участки химия хобби электроника электротехника юристы 

# Программа-замОк, которая зацикливается при отсутствии связи с Интернетом,
# тем самым запирая (останавливая) основную работу.
# При восстановлении связи программа расцикливается. 

#3 #!/bin/bash
#3 dira=`dirname $0`/
#3 nc=`cat "$dira"names3.txt|grep -c .`
#3 usag="Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"
#3 err=2018
#3 while [ "$err" -ne "0" ]
#3 do
#3   sleep 2
#3   let i=$RANDOM%$nc+1
#3   echo $i
#3   ur=`cat "$dira"names3.txt|head -n $i|tail -n 1`
#3   wget --tries=1 --timeout=5 --max-redirect=1 --directory-prefix="$dira"temp --user-agent="$usag" $ur
#3   err=$?
#3 done
#3 echo there is a link

#4 #!/bin/bash
#4 while true
#4 do
#4   sleep 699
#4   killall wget
#4 done

#5 #!/bin/bash
#5 w=`cat "$0"|egrep "M[o]z"`
#5 rndw()
#5 {
#5 let r=$RANDOM%100+1
#5 echo $w|sed "s/ /\n/g"|head -n $r|tail -n 1
#5 }
#5 let r=$RANDOM%2+4
#5 echo M'o'zilla/$r.0 '('`rndw`';' `rndw`';' `rndw`')' `rndw`';' `rndw`
#5 exit 0
#5 Mozilla Windows Gecko Linux Firefox like KHTML AppleWebKit Safari compatible Opera MSIE Macintosh Chrome Version Intel Ubuntu SeaMonkey Presto Konqueror http Debian Trident Netscape Iron Iceweasel SLCC Thunderbird Mini MIDP Minefield Media InfoPath Center Browser Fedora Lunascape SunOS Meleon html Flock WinNT Mach SUSE Epiphany BonEcho libwww Sleipnir ELinks jaunty Fennec Mobile Android textmode OpenSSL Namoroka hardy Links Lightning FreeBSD AOLBuild RockMelt Camino armv GoBrowser iPhone Gentoo findlinks Shiretoko libcurl WinNT package BlackBerry zlib Lynx Crazy Java Mobi Arora Galeon iCab WebKit Midori Chromium ubuntu intrepid GranParadiso Profile crawler PaleMoon OpenBSD larbin dapper Firebird lucid Configuration CLDC Navigator Maxthon gutsy  





13

Поменять регистр текста в текстовых файлах

Перевод в верхний или нижний регистр

sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'
sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'

sed 'y/АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ/абвгдеёжзийклмнопрстуфхцчшщъыьэюя/'
sed 'y/абвгдеёжзийклмнопрстуфхцчшщъыьэюя/АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ/'

14

Код:
#!/bin/bash
kol=0
while [ "$kol" -lt "1" ]
do
  sleep 9
  kol=`ps -A o user|grep -c vasya-pupkin`
done
iptables-restore < /etc/iptables.up.rules

15

Код:
#!/bin/bash

echo Create by JJMMMMMMMMRRMMZZRRRR

mkdir buttons 2> /dev/zero

for d in 16x16 22x22 24x24 32x32 48x48 64x64 128x128 256x256
do
  echo $d

  h=buttons/"$d".html

  echo \<html\> > $h
  echo \<body\> >> $h
  echo Create by JJMMMMMMMMRRMMZZRRRR\<br\> >> $h

  f=`find /usr/share -name *.png | grep $d`

  mkdir buttons/"$d" 2> /dev/zero
  rm buttons/"$d"/* 2> /dev/zero

  for i in $f
  do
    echo \<img src=\""$i"\"\> >> $h
    #j=$RANDOM$RANDOM
    j=`md5sum "$i" |sed "s/ .*//g"`
    k=buttons/"$d"/"$j".desktop
    echo [Desktop Entry] > $k
    echo Type=Application >> $k
    echo Exec=firefox -private yandex.ru >> $k
    echo Name=Start >> $k
    echo Icon="$i" >> $k
  done

  chmod a+x buttons/"$d"/*

  echo \</body\> >> $h
  echo \</html\> >> $h

done

16

Конвертер vcf в txt

Скрипт конвертирует vcf-файл контактов в текстовый файл

Код:
#!/bin/bash
# конвертер vcf в txt
# скрипт конвертирует vcf-файл контактов в текстовый файл

cat ./contacts.vcf|egrep "^(N|FN|TEL);" |\
while read st
do
  st2=`echo $st|sed "s/^.*[:;]=/=/g"|xxd -ps -r|egrep "[a-zA-Zа-яА-Я0-9]"`
  st3=`echo $st|egrep "^TEL"`
  echo $st2 $st3
done

17

powermom.sh

Код:
#!/bin/bash

fn=`dirname $0`/pwm.sh
cat $0|egrep "^\#1"|sed "s/#1//g" > $fn
chmod a+x $fn

ld=`date +%H`
while true
do
  sleep 69
  nw=`date +%H`
  if [ "$ld" -ne "$nw" ]
  then
    ld=$nw
    xterm -fa Serif -fs 60 -geometry 12x8 -bg blue -fg yellow -e bash $fn
  fi
done


#1#!/bin/bash
#1shutdown -P +1
#1clear
#1cat $0
#1read -s -n1 -p "" keypress
#1shutdown -c
#1exit 0
#1
#1 Компьютер
#1   будет
#1 выключен
#1
#1  Нажмите
#1любую кнопку
#1 для отмены

18

Программа PowerMom

Программа каждый час выдает предупреждение о перезагрузке компьютера. Для отмены предлагается нажать любую кнопку. Программу будет удобно поставить в автозапуск.

Код:
#!/bin/bash

fn=`dirname $0`/pwm.sh
cat $0|egrep "^\#1"|sed "s/#1//g" > $fn
chmod a+x $fn

while true
do
  sleep 3600
  xterm -fa Serif -fs 30 -geometry 12x8 -bg blue -fg yellow -e bash $fn
done

#1#!/bin/bash
#1shutdown -P +3
#1clear
#1cat $0
#1read -s -n1 -p "" keypress
#1shutdown -c
#1exit 0
#1
#1 Компьютер
#1   будет
#1 выключен
#1
#1  Нажмите
#1любую кнопку
#1 для отмены

Вы здесь » TORoRAM. Форум ни о чём » Programming/Scripting » Занимательный bash-скриптинг