Просмотр баланса byfly из консоли

byfly fuflo

Написал скриптик, который срёт заходит на иссу БТК. Старался предусмотреть всё: реферер, версию браузера попопсовее, паузу при логине, выпиливание из говноразметки бабла.

UPD: Теперь скрипт сам умеет выколачивать обещанный платёж, если сумма на счёте слишком мала. Всем госам из БТК смерти и зла!

Господа из LikeCBOSS, умрите, пожалуйста (приимущественно все) от анально-кирпичного разрыва. Так http-гуйню свою писать – это просто стыдно.

Categories web

26 thoughts on “Просмотр баланса byfly из консоли

  1. Вот. Сегодня дошёл до той стадии нищебродства, когда давно минус, а инторнетиков хоцца. Перед обещанным платежом проверил баланс. Оказался не минус. Подправил скрипт, чтобы минус тоже показывало. Гудлак.

  2. А ещё пофиксил, чтобы запускать можно было не только находясь в хоумдире (прибавил K=$HOME’/.byfly_cookies’). Так-то!

    1. Видимо Вас забанили. Такое бывает у них, если часто входить. Подождите минут 10 и снова попробуйте. У меня всё ок, как часики работает.

        1. Здесь я смотрю при обновлении curl до 7.24 всё стало работать несколько иначе. Проблемка была в первом вызове (а конкретно не корректно зануляся аутпут).
          Пофикшено.

          1. видимо так и есть. на самолично разобраться не смог, поэтому пользуюсь по сей день кастрированной версией (выдает только баланс для конки) этого
            https://github.com/peleccom/ByFlyPy

          1.  УГенка!!! Мы не потерпим повышения интернету на один долар, НИКОГДА!!! >:-E

  3. Сделал, чтобы баланс сохранялся в файл (немного пришлось повозиться, при запросе откуда-то бралось число 50 перед балансом, потом понял в чём дело), но не могу настроить запуск в cron, в файл сохраняет сообщение об ошибке, при запуске из консоли всё ок

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

          1. у меня файл curl находится /opt/bin/curl
            не работает…
            и у меня не совсем на компьютере стоит линукс, на небольшом роутере d-link dir 320

          2. Всё так и не работает из crontab, а из консоли или из mc, запускается, и когда пути к курл, иконв и др. прописаны и когда не прописаны… 

          3.  Честно сказать не имел с подобного рода обрубками дел… Поэтому не подскажу. Хотя… Есть ещё мысль: Выставить права 777 (запуск всем).

  4. Сделал, чтобы баланс сохранялся в файл (немного пришлось повозиться, при запросе откуда-то бралось число 50 перед балансом, потом понял в чём дело), но не могу настроить запуск в cron, в файл сохраняет сообщение об ошибке, при запуске из консоли всё ок

  5. Ну перекомпилили свой cgi.exe. Ну стало
    td class=light width=”50%” nbsp;666nbsp;Бел.рубль вместо пробелов.В чём профит – не понял… Всё равно DOCTYPE забыт, алсо, бабоньки, залипает капслок?)))К чему эти HEAD и center? Московія мозга, okaaaayyyyyy….

  6. По мотивам скрипта чекер для нагиоса, который принимает логин пароль и пароги параметрами

    [email protected]:/usr/lib/nagios/plugins# cat check_byfly_balance 
    #!/bin/sh

    CASH=’10’
    L=’John’ # login
    P=’Secret’ # passwd
    warning=’100000′
    critical=’10000′
    B=”Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)”
    K=’/tmp/.byfly_cookies’
    RL=’https://issa.beltelecom.by/cgi-bin/cgi.exe?function=’
    R1=$RL’is_newlog’;R2=$RL’is_login’;R3=$RL’is_account’;R4=$RL’regobpldone’
    CU=which curl; if [ ! “$CU” ]; then echo There is no curl, please fix this problem ; exit 3; fi
    IC=which iconv; if [ ! “$IC” ]; then echo There is no  iconv, please fix this problem ; exit 3; fi

    show_usage() {
            echo “”
            echo “Usage: ${0} -u John -p Secret -w 1000 -c 100”
            echo “”
            echo “Usage: ${0} –user John –password Secret –warning 1000 –critical 100”
            echo “”
            echo “You can also define the default settings in the text of the script, to run it without parameters ”
            echo “”
    }

    while [ $# -gt 0 ]
    do
            PARAM=”$1″
            case “$PARAM” in
                    –user|-u)
                            if [ $# -gt 1 ]; then
                                    L=”$2″
    shift
    else
    echo ” You must specify username ”
    exit 3
    fi
                            ;;

                    –pass|–password|-p)
                            if [ $# -gt 1 ]; then
                                    P=”$2″
                                    shift
                            else
                                    echo ” You must specify password ”
                                    exit 3
                            fi
                            ;;

                    –warn|–warning|-w)
                            if [ $# -gt 1 ]; then
                                    warning=”$2″
                                    shift
                            else
                                    echo ” You must specify warning limit ”
                                    exit 3
                            fi
                            ;;

                    –crit|–critical|-c)
                            if [ $# -gt 1 ]; then
                                    critical=”$2″
                                    shift
                            else
                                    echo ” You must specify critical limit ”
                                    exit 3
                            fi
                            ;;

                    –help|–usage|-h)
                                    show_usage
    exit 0
                            ;;

    *)
                            echo “Unknown argument supplied $PARAM”
                            show_usage
    exit 3
            esac
            shift
    done

    #echo Лезем в биллинг
    $CU -c $K -d “mobnum=$L&Password=$P&Lang=2” -s -m 9 –user-agent “$B”
    –referer “$R1” $R2 > /dev/null 2>&1
    if [ ! -f $K ];
    then
    echo Unknown status. Page unavailable. 
    exit
    fi
    #echo Смотрим на баланс
    CASH=$CU -b $K -c $K -s -m 9 --user-agent "$B" --referer "$R2" $R3
    2>&1 /dev/null | sed -e 's/]*>//g' | $IC -f CP1251 -t UTF-8 | grep -m
    1 -e '[-0-9]+ Бел.рубль' | sed -e 's/[^-0-9]*//g'

    if [ “$CASH” -lt “$critical” ] 
    then
    echo Critical – balance = $CASH rub
    exit 2
    else
    if [ “$CASH” -lt “$warning” ] 
    then
    echo Warning – balance = $CASH rub
    exit 1
    else 
    echo OK : balance = $CASH rub 
    fi
    fi

    if [ -f $K ];
    then
    unlink $K
    fi

Дадаць каментар для Иван Богомазов Адмяніць адказ

Ваш e-mail не будзе апублікаваны. Абавязковыя палі пазначаныя *