1. bash / Говнокод #3351

    −140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #! /bin/sh
    
    htmlvar=`curl -# $1`
    serv=`echo $htmlvar| pcregrep -o -e "srv\'\:[^,]+"|pcregrep -o "http[^']+"`
    filevar=`echo $htmlvar| pcregrep -o "'file':[^,]+"|pcregrep -o "\d{1,10}[^']+"`
    urlvar=$serv'flv2/'$filevar
    echo $urlvar

    Тупой скрипт для выдерания ссылок на ролки со страницы xhamster.com

    Radjah, 30 Мая 2010

    Комментарии (6)
  2. bash / Говнокод #3294

    −142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    #!/bin/bash
    #   
    #   program file name: urlmin.sh
    #   program version: 0.4
    
    _help()
    {
    
    prg=$(basename $0)
    cat << EOF
    
    options:
       -h      See this page
       -l      Viewed all names of minifer sites
       -s      
       	  lb.vg
       	  minify.me
       	  is.gd
       -r      Random mode of minifiers
       -u      url link
    examples:
       random mode     - minifiers: ${prg} -r -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1&m=b'
       only 1 minifier - is.gd minifier: ${prg} -s is.gd -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1&m=b'
       or lb.vg minifier: ${prg} -s lb.vg -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1&m=b'
       and other
    
    EOF
    
    exit 0
    }
    
    [ ! -f "$(which curl)" ] && { echo "Установите утилиту curl" ; exit 1 ;}
    
    _user_agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.4) Gecko/20100503 Firefox/3.6.4"
    _sets_minifiers=( "lb.vg" "is.gd" "minify.me" )
    
    _e()         { echo -e "${*}" ;}
    _get_page()  { curl -s -A "$USER_AGENT" ${1} | tr -d '\n' || { clear ; echo -e "${B_T}${RC}Error${CRS}! curl in function _get_page has exited abnormaly: ${1}" ; exit 1 ;} ;}
    _post_page() { curl -s -A "$USER_AGENT" -d "${2}" "${1}" | tr -d "\n" || { clear ; echo -e "${B_T}${RC}Error!${CRS} curl in function _post_page has exited abnormaly: ${1} -> ${2}" ; exit 1 ;} ;}
    _urlencode() { LANG=C awk 'BEGIN { EOL = "%0A" ; split ("1 2 3 4 5 6 7 8 9 A B C D E F", hextab, " ") ; hextab [0] = 0 ; for ( i=1; i<=255; ++i ) ord [ sprintf ("%c", i) "" ] = i + 0 } ; { encoded = "" ; for ( i=1; i<=length ($0); ++i ) { c = substr ($0, i, 1) ; if ( c ~ /[a-zA-Z0-9.-]/ ) { encoded = encoded c } else if ( c == " " ) { encoded = encoded "+" } else { lo = ord [c] % 16 ; hi = int (ord [c] / 16); encoded = encoded "%" hextab [hi] hextab [lo] } } ; printf ("%s", encoded EOL) } END { }' "$@" | sed 's|%0A||g' ;}
    _random()    { [ -n "${1}" ] && { while :; do zz=$(y=0;for ((x=${1};x>=y;y++)) ; do [ "$y" == "${RANDOM[@]:2:1}" ] && [ -n "$y" ] && { echo $y ; break ;} ; done ) ; [ -n "$zz" ] && { echo "$zz" ; break ;} ; done ;} ;}
    
    # sets
    while getopts "hu:s:rl" option ; do case $option in
    		h) _help                ;;
    		u) url_path="$OPTARG"   ;;
    		s) _set_min="$OPTARG"    ; set_min_num=$(j=0 ; for x in ${_sets_minifiers[*]} ; do [ "${x}" == "${_set_min}" ] && _e "${j}" ; ((j++)) ; done) ;;
    		r) mode_random="yes"     ; set_min_num="$(_random $((${#_sets_minifiers[*]}-1)) )" ;;
    		l) list_mins="yes"      ;;
    		v) set_verbose="-v"     ;;
    esac ; done
    
    case $set_min_num in
    0) 
       _url_enc=$(_e "${url_path}" | _urlencode)
       _url_host="${_sets_minifiers[$set_min_num]}"
       _obtained=$(_post_page "http://${_url_host}/default.asp" "Orig_URL=${_url_enc}&show_ve=1&Categ=Humor" | egrep -o "http://${_url_host}/[a-Z0-9]+'" | sort -u | sed "s|'||g;s|http://||g") ;;
    1)
       _url_enc=$(_e "${url_path}" | _urlencode)
       _url_host="${_sets_minifiers[$set_min_num]}"
       _obtained=$(_post_page "http://${_url_host}/create.php" "URL=${_url_enc}" | egrep -o "http://${_url_host}/[a-Z0-9]+\" target" | sed 's|\" target||g;s|http://||g') ;;
    2) 
       _url_enc=$(_e "${url_path}" | _urlencode)
       _url_host="${_sets_minifiers[$set_min_num]}"
       _obtained=$(_post_page "http://${_url_host}/create.php" "url=${_url_enc}" | egrep -o "http://${_url_host}/\?[a-Z0-9]+" | sed 's|http://||g') ;;
    esac
    
    [ -z "$1"           ] && _help
    [ -n "$set_min_num" ] && _e "Link: ${_obtained}"
    [ -n "$list_mins"   ] && _e "Minifiers:\n\n$(for i in ${_sets_minifiers[*]} ; do _e "  ${i}" ; done)\n"
    
    # eof urlmin.sh

    url minifier

    # typical define:
    -=>> ./urlmin.sh -s is.gd -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1& m=b'
    Link: is.gd/ckjsg

    # random minifier:
    -=>> ./urlmin.sh -r -u 'http://wikimapia.org/#lat=36.7923994&lon=53.1100881&z=18&l=1& m=b'
    Link: minify.me/?qkvbp2

    pp--, 22 Мая 2010

    Комментарии (15)
  3. bash / Говнокод #3262

    −132

    1. 1
    yes | rm -r /

    Так красивее :)

    Tanger, 18 Мая 2010

    Комментарии (31)
  4. bash / Говнокод #3242

    −136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    #!/bin/bash
    case $1 in 
    	u|use)
    		case $2 in 
    			e) $EDITOR /etc/portage/package.use
    			;;
    			s) grep -n --color "$3" /etc/portage/package.use
    			;;
    			d) 
    			if echo "$3" | grep -q -e "[1-9]"
    			then
    			DELVAR="`echo $3 $4 $5 $6 $7 $8 $9 | sed 's/ /\n/g'`"
    			echo "Do you want delete next line(s):
    `echo "$DELVAR" | sed 's/$/!d/g' | xargs -n 1 | while read line ; do
    	sed "$line" /etc/portage/package.use -i
    done`			 
    Yes/No?"
    			read "answer"
    			case "$answer" in 
    			y|yes) echo "$DELVAR" | sed 's/$/d/g' | xargs -n 1 | while read yesno ; do
    	sed "$yesno" /etc/portage/package.use -i
    done
    ;;
    esac
    		else
    			DELVAR="`grep -n --color "$3" /etc/portage/package.use | cut -d":" -f1`"
    			echo "Do you want delete next line(s):
    `grep -n --color "$3" /etc/portage/package.use`
    Yes/No?"
    			read "answer"
    			case "$answer" in 
    			y|yes) echo "$DELVAR" | sed 's/$/d/g' | xargs -n 1 | while read yesno ; do
    	sed "$yesno" /etc/portage/package.use -i
    done
    			;;
    			esac
    			fi
    			;;
    			*) echo "$2 $3 $4 $5 $6 $7 $8 $9" >> /etc/portage/package.use
    			;;
    		esac
    	;;
    	i) euses $3
    	;;
    	s) eix "$3"
    	;;
    	sync) sudo layman --sync-all ; emerge --sync ; eix-update
    	;;
    	U) exec emerge -vauND world
    	;;
    	i) exec emerge -va "$2 $3 $4 $5 $6 $7 $8 $9"
    	;;
    	mkconf) sudoedit /etc/make.conf
    	;;
    	*|-h|--help) echo "Использование: pkg [ключ] [параметры ключа]
    	u [USE] - операции с USE-флагами в файле /etc/portage/package.use
    		e - открыть файл в редакторе из '\$EDITOR' ("$EDITOR")
    		s - поиск в файле grep'ом
    		d - удаление строк из файла (в качестве параметра принимаются как номера строк, так и название пакета/флага)
    		i - просмотр информации о флагах (с помощью euses) 
    		* - все иные значения будут записаны в файл
    	k [KEYWORDS] - операции с keywords-масками в файле /etc/portage/package.keywords
    		e - открыть файл в редакторе из '\$EDITOR' ("$EDITOR")
    		s - поиск в файле grep'ом
    		d - удаление строк из файла (в качестве параметра принимаются как номера строк, так и название пакета/флага)
    		* - все иные значения будут записаны в файл
    	i - установка пакета (emerge -av)
    	s - поиск по базе пакетов (с помощью eix)
    	sync - синхронизация баз layman, emerge и запуск eix-update
    	U - обновление системы (emerge -vauND world)
    	mkconf - открыть для редактирования файл /etc/make.conf (используя sudoedit)"
    	;;
    esac

    Нашел свой старый код.. Когда-то от нечего делать пытался написать некую обёртку ко всяким джентовским утилитам. До конца так и не дописал, были некоторые проблемы с кодом, которые мне решать было лень. Но сейчас залез в тот код и ужаснулся..
    P.S. Файл немного урезан от оригинала, т.к. те же действия повторяются для разных файлов.

    Iliander, 16 Мая 2010

    Комментарии (3)
  5. bash / Говнокод #3223

    −130

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #!/bin/bash
    
    curl http://www.radioroks.com.ua/online.php | grep '<b>' > /tmp/roks
    
    sed -e 's/<[^>]*>//g' /tmp/roks > /tmp/roks2
    sed -e 's/&middot;/- /g' /tmp/roks2 > /tmp/roks
    sed -e 's/\t//g' /tmp/roks > /tmp/roks2
    
    sed -e 's/\:-/\:\
    -/g' /tmp/roks2 > /tmp/roks
    
    cat /tmp/roks | head -n $1

    Кажется, писал под утро. Не вдуплился юзать только 1 файл, а жонглировал /tmp/roks и /tmp/roks2 ...

    Anderson, 14 Мая 2010

    Комментарии (10)
  6. bash / Говнокод #3164

    −135

    1. 1
    find $PWD -maxdepth 0 2>/dev/null

    Вместо "ls"...

    13thslayer, 06 Мая 2010

    Комментарии (4)
  7. bash / Говнокод #3024

    −138.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #       sysinfo bar
    while :; do
            echo $(uptime | awk '{ print $3"d, "$5" "$6"u"}') '|' $(free -k | grep "cache:" | awk '{print $3"k / "$4"k"}') '|^fg(#cccc00)' $(date | sed 's,MSD .*,,') "^fg(#bbbbdd)|" $(cat /proc/loadavg | awk '{print $1" "$2" "$3}') '|' $(gcpubar -o -c 1 | sed 's,CPU: ,,')  '            '
            sleep 1
    done | dzen2 -ta r -x $WIDTH -y $Y $COLORS -fn $FONT -e 'button1=exec:mpc toggle;button2=exec:mpc prev;button3=exec:mpc next;button4=exec:mpcvolume +;button5=exec:mpcvolume -' &

    подобных баров с пяток в скрипте, не стал все приводить

    erthad, 16 Апреля 2010

    Комментарии (12)
  8. bash / Говнокод #3011

    −135.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    echo ""
    echo -e '\033[1m'"      MONITOR FOR SYSTEM SWITCH  $current"'\033[0m'
    echo "      *************************************************"
    #1
    {
    read line1
    } < $DIR_FLAG/$file1
    {
    read lines1
    } < $DIR_FLAG/$files1
    if [ "$line1" = "STOP" ]; then echo -e '\E[31m'"      TASK  1: --> $lines1" ; tput sgr0
    else echo -e '\E[32m'"      TASK  1: >< $lines1" ; tput sgr0
    fi
    #2
    {
    read line2
    } < $DIR_FLAG/$file2
    {
    read lines2
    } < $DIR_FLAG/$files2
    if [ "$line2" = "STOP" ]; then echo -e '\E[31m'"      TASK  2: --> $lines2" ; tput sgr0
    else echo -e '\E[32m'"      TASK  2: >< $lines2" ; tput sgr0
    fi
    #3
    {
    read line3
    } < $DIR_FLAG/$file3
    {
    read lines3
    } < $DIR_FLAG/$files3
    if [ "$line3" = "STOP" ]; then echo -e '\E[31m'"      TASK  3: --> $lines3" ; tput sgr0
    else echo -e '\E[32m'"      TASK  3: >< $lines3" ; tput sgr0
    fi
    #4
    {
    read line4
    } < $DIR_FLAG/$file4
    {
    read lines4
    } < $DIR_FLAG/$files4
    if [ "$line4" = "STOP" ]; then echo -e '\E[31m'"      TASK  4: --> $lines4" ; tput sgr0
    else echo -e '\E[32m'"      TASK  4: >< $lines4" ; tput sgr0
    fi
    #5
    {
    read line5
    } < $DIR_FLAG/$file5
    {
    read lines5
    } < $DIR_FLAG/$files5
    if [ "$line5" = "STOP" ]; then echo -e '\E[31m'"      TASK  5: --> $lines5" ; tput sgr0
    else echo -e '\E[32m'"      TASK  5: >< $lines5" ; tput sgr0
    fi
    #6
    {
    read line6
    } < $DIR_FLAG/$file6
    {
    read lines6
    } < $DIR_FLAG/$files6
    if [ "$line6" = "STOP" ]; then echo -e '\E[31m'"      TASK  6: --> $lines6" ; tput sgr0
    else echo -e '\E[32m'"      TASK  6: >< $lines6" ; tput sgr0
    fi
    #7
    {
    read line7
    } < $DIR_FLAG/$file7
    {
    read lines7
    } < $DIR_FLAG/$files7
    if [ "$line7" = "STOP" ]; then echo -e '\E[31m'"      TASK  7: --> $lines7" ; tput sgr0
    else echo -e '\E[32m'"      TASK  7: >< $lines7" ; tput sgr0
    fi
    #8
    {
    read line8
    } < $DIR_FLAG/$file8
    {
    read lines8
    } < $DIR_FLAG/$files8
    if [ "$line8" = "STOP" ]; then echo -e '\E[31m'"      TASK  8: --> $lines8" ; tput sgr0
    else echo -e '\E[32m'"      TASK  8: >< $lines8" ; tput sgr0
    fi
    #9
    {
    read line9
    } < $DIR_FLAG/$file9
    {
    read lines9
    } < $DIR_FLAG/$files9
    if [ "$line9" = "STOP" ]; then echo -e '\E[31m'"      TASK  9: --> $lines9" ; tput sgr0
    else echo -e '\E[32m'"      TASK  9: >< $lines9" ; tput sgr0
    fi
    
    и т.д.

    вот такой кодец остался нам в наследство....

    NTMan, 15 Апреля 2010

    Комментарии (12)
  9. bash / Говнокод #3000

    −136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    #! /bin/bash
    
    # настройки
    # id художника (athid) берется из URL вида http://www.pixiv.net/member_illust.php?id=18530, где 18530 и есть искомый параметр.
    pixid=LOGIN
    pixpass=PASSWORD
    picnum=$2
    let "pagenum=picnum/20+1"
    athid=$1
    
    # логинимся (куки в pixiv.txt)
    AUTH=`curl -s -c pixiv.txt -F"mode=login" -F"pass=${pixpass}" -F"pixiv_id=${pixid}" -F"skip=1" http://www.pixiv.net/index.php`
    
    # качаем все страницы с картинками и парсим их на ходу
    for ((i=1;i<=$pagenum;i++))
    do
    wget --load-cookies=pixiv.txt "http://www.pixiv.net/member_illust.php?id=$athid&p=$i" -O - --referer="http://www.pixiv.net/"|pcregrep -o 'http\:\/\/img\d{1,3}\.pixiv\.net\/img\/[^\"]+'|sed 's/_s//' >> get.pixiv.txt
    done;
    
    # качаем все картинки, которые нашли
    
    wget -nc -i get.pixiv.txt --referer="http://www.pixiv.net/"
    
    cat get.pixiv.txt | sed 's/http\:\/\/img[^\/]\+\/img\/[^\/]\+\///' > list1
    ls *.jpg *.png *.gif > list2
    cat list1 list2|sort|uniq -u|pcregrep -o '[^\.]+' > list3
    for i in `cat list3`
    do
    wget "http://www.pixiv.net/member_illust.php?mode=manga&illust_id=$i&type=scroll"  --load-cookies=pixiv.txt  --referer="http://www.pixiv.net/" -O -|pcregrep -o 'http\:\/\/img\d{1,3}\.pixiv\.net\/img\/[^\"]+'>> get.pixiv.albums.txt
    done;
    
    wget -nc -i  get.pixiv.albums.txt --referer="http://www.pixiv.net/"
    
    # удаляем палево
    
    #rm -f pixiv.txt get.pixiv*.txt list*

    Качалка картинок с pixiv.net с дебильным алгоритмом отсеивания альбомов от картинок.

    Radjah, 13 Апреля 2010

    Комментарии (16)
  10. bash / Говнокод #2945

    −131

    1. 1
    2. 2
    3. 3
    # cmd.exe 
    
    subst 5: C:\Windows

    собственно можно любою число от 0 до 9
    правда прикол в том, что в отличии от subst Z: C:\Windows ( где в Май ПиСи будет отображен Z: ), в случае если int , то только из под cmd можно обратиться
    cd 5:

    sergylens, 06 Апреля 2010

    Комментарии (54)