Greasy Fork is available in English.
Инструмент для Beeline
// ==UserScript== // @name INKYYB! 11.2 // @namespace INKYYB! 11.2 // @name:ru INKYYB! 11.2 // @description:ru Инструмент для Beeline // @description:en Tool for Beeline // @include https://*.beeline.ru/* // @version 11.2 // @grant none // @author BEELINE // @description Инструмент для Beeline // ==/UserScript== $('body').prepend(` <style> .zTool { margin: 10px; } .zTool * { margin: 5px; } .zTool pre { white-space: pre-wrap; word-wrap: break-word; } #socs th { border: 1px solid black; padding: 5px; font-weight: bold; } #socs td { border: 1px solid black; padding: 5px; } a { cursor: pointer; } .hide { display: none; } #accordeon { width: 350px; border: 1px solid #fff; box-shadow: 0 0 10px grey; margin: 10px; } .acc-head { padding: 5px 10px; background: #c0c0c0; cursor: pointer; } .acc-body { padding: 10px; border-bottom: 1px solid #c0c0c0; margin-bottom: 5px; display: none; } </style> `); if (~$('body').text().indexOf('Войдите, чтобы получить доступ к вашим персональным данным.')) { $('body').prepend(`<div class="zTool"><b>Авторизируйтесь для пользования инструментом!</b></div>`); } else { $('body').prepend(` <div class="zTool"> <hr> <section id="blockOff"> <input hidden id="URLz" class="URIoff" size="100%" type="text"> <input hidden id="URLzz" class="UURIoff" size="100%" type="text"> <table id="dataoff"> <tbody> <tr class="hide"> <td>Имя:</td> <td>Значение:</td> Параметры: </tr> <tr class="get hide"> <td> <input type="text" value="X-Requested-With" size="30"> </td> <td> <input type="text" value="XMLHttpRequest" size="50"> </td> </tr> <tr class="get hide"> <td> <input type="text" value="isMultiOffer" size="30"> </td> <td> <input type="text" value="true" size="50" placeholder="Введите soc или нажмите на нужный ниже"> </td> </tr> <tr class="get hide"> <td> <input type="text" value="freeActivation" size="30"> </td> <td> <input type="text" value="true" size="50" placeholder="Введите сок скидки"> </td> </tr> <tr class="get hide"> <td> <input type="text" value="rcRatePeriod" size="30"> </td> <td> <input id="" type="text" value="1" size="50" placeholder=""> </td> </tr> <tr class="get hide"> <td> <input type="text" value="subgroupId" size="30"> </td> <td> <input id="" type="text" value="821232" size="50" placeholder=""> </td> </tr> <tr class="get hide"> <td> <input type="text" value="campId" size="30"> </td> <td> <input id="" type="text" value="701080" size="50" placeholder=""> </td> </tr> <tr class="get"> <td class="hide"> <input type="text" value="soc" size="30"> </td> <td> <input id="soc_input" type="text" value="" size="50" placeholder="Введите СОК тарифа/услуги"> </td> </tr> <tr class="get"> <td class="hide"> <input type="text" value="discountSoc" size="30"> </td> <td> <input id="socс_input" type="text" value="" size="50" placeholder="Введите сок скидки"> </td> </tr> <tr class="get hide"> <td class="hide"> <input type="text" value="basketSocs" size="30"> </td> <td> <input id="" type="text" value="" size="50" placeholder="Введите сок услуги"> </td> </tr> </tbody> </table> <hr> <div id="accordeon"> <div class="acc-head"> <b>Тарифы</b> </div> <div class="ac-body" style="display:none"> <b>Все только для своих</b> <p><a class="soc">06VSERLTS</a> - СФО</p> <p><a class="soc">06VSERT2X</a> - ЮФО и СКФО(Вдтс 2х)</p> <p><a class="soc">06VSERT3X</a> - ЮФО и СКФО(Вдтс 3х)</p> <p><a class="soc">04VSERTLS</a> - ЮФО и СКФО</p> <p><a class="soc">04VSERT2X</a> - ЮФО и СКФО(Вдтс 2х)</p> <p><a class="soc">04VSERT3X</a> - ЮФО и СКФО(Вдтс 3х)</p> <p><a class="soc">CNTVSRLTS</a> - УрФО</p> <p><a class="soc">VIPVSRLTS</a> - ЦФО (Москва)</p> <p><a class="soc">SPBVSRLTS</a> - СЗФО (СПб)</p> <p><a class="soc">SPBVSRLTS</a> - СЗФО (СПб)</p> <p><a class="soc">CRVSRLTS</a> - ЦФО</p> <p><a class="soc">BMVSRLTS</a> - ЦФО (Владимир, Рязань)</p> <p><a class="soc">BRNVSRLTS</a> - ЦФО (Брянск)</p> <p><a class="soc">CNTVSRLTS</a> - ПФО</p> <p><a class="soc">NNGVSRLTS</a> - ПФО (Ниж.Новгород)</p> <p><a class="soc">SZVSRLTS</a> - СЗФО</p> <p>  </p> <p><b>Специальный/Социальный</b></p> <p><a class="soc">CMS1SOC19</a> - ЮФО и СКФО</p> <p><a class="soc">VSOC19</a> - Москва</p> <p>  </p> <p><b>Все длясемьи - переходной</b></p> <p><a class="soc">YUG_SEB</a> - СКФО</p> <p><a class="soc">VSE_SEB</a> - Москва И Моск. обл.</p> <p><a class="soc">74SEB</a> - Урал/Челябинск</p> </div> <div class="acc-head"> <b>Безлимитный интернет</b> </div> <div class="ac-body" style="display:none"> <p><a class="soc">UN_IT</a> - Можно на тарифы без АП (Би+ и Секунда)</p> <p><a class="soc">UN_ANL1</a> - </p> <p><a class="soc">UNL_PRES0</a> - </p> <p><a class="soc">UNL_CVM0</a> - 0 руб.</p> <p><a class="soc">UNL_CVM1</a> - 1.67р./сут.</p> <p><a class="soc">UNL_CVM3</a> - 3.3р./сут.</p> <p><a class="soc">UNLINT_20</a> - на 3 месяца (0р./сут.)</p> <p><a class="soc">UN_ANL1</a> - </p> <p><a class="soc">UNL_F2020</a> - </p> <p><a class="soc">UNL_PRES</a> - </p> <p><a class="soc">UNL_L_3D</a> - 4р в сутки</p> <p><a class="soc">UHW_0</a> - безпредельный интеренет</p> <p><a class="soc">UNLG19_2</a> - </p> </div> <div class="acc-head"> <b>Раздача интернета</b> </div> <div class="ac-body" style="display:none"> <p><a class="soc">TETR_3M</a> - 3 месяца</p> </div> <div class="acc-head"> <b>Безлимитные звонки</b> </div> <div class="ac-body" style="display:none"> <p><a class="soc">BUNRF</a> -Безлимитные на билайн РФ</p> <p><a class="soc">BEEUNLRF1</a> - </p> <p><a class="soc">CVMMGVSR</a> - 100 мин на междугородные</p> <p><a class="soc">BEEUNLRF2</a> - </p> <p><a class="soc">BEEUNLRF3</a> - на номера билайн</p> <p><a class="soc">BUNRF</a> - минуты</p> <p><a class="soc">TM_BIRTHD</a> - Бонус 100 мин в месяц</p> <p><a class="soc">04ZERO_TM</a> - 10 мин каждый день на билайн</p> </div> <div class="acc-head"> <b>SMS</b> </div> <div class="ac-body" style="display:none"> <p><a class="soc">UNLSMS20</a> - Безлимитные SMS (0р./сут.)</p> <p><a class="soc">SMS_0</a> - Пакет 300 SMS (0р./сут.)</p> <p><a class="soc">SMSUNLRF1</a> - SMS</p> <p><a class="soc">09_SPR300</a> - 300 SMS</p> <p><a class="soc">09_SP300</a> - 300 SMS</p> <p><a class="soc">09_SPR150</a> - 150 SMS</p> <p><a class="soc">09_SP150</a> - 150 SMS</p> <p><a class="soc">09_SPR75</a> - 75 SMS</p> <p><a class="soc">09_SP75</a> - 75 SMS</p> </div> <div class="acc-head"> <b>Скидки подключаемые напрямую:</b> </div> <div class="ac-body" style="display:none"> <p><a class="socс">GKITF</a> - 40%!</p> <p><a class="socс">VDISC40</a> - 40%</p> <p><a class="socс">ORSCM_T_F</a> - 40% на прямую</p> <p><a class="socс">VOIFFT</a> - 50% на год</p> <p><a class="socс">DIS50YAND</a> - 50% без смены тарифа</p> <p><a class="socс">TMDISC50</a> - 50%</p> <p><a class="socс">SALE_50</a> - 50% на месяц</p> <p><a class="socс">ORSCM_T_S</a> - 60% на прямую</p> <p><a class="socс">ORSCM_T_E</a> - 80% на пряму</p> <p><a class="socс">ORSCM_O_H</a> - 100% на месяц, на прямую</p> <p><a class="socс">NAKHAPB</a> - скидка поверх фикта (для тарифов с АП в день!!!)</p> <p><a class="socс">3PR_DIS1</a> - 100% на 3 месяца за 1р в сутки</p> </div> <div class="acc-head"> <b>Скидки подключаемые через смену тарифа:</b> </div> <div class="ac-body" style="display:none"> <p><a class="socс">MDISC50</a> - 50% бессрочно</p> <p><a class="socс">TMDISC10-90</a> - 10%-90% год</p> <p><a class="socс">TMDIS10-90</a> - 10%-90% бессрочно</p> <p><a class="socс">ORSCM_T_F</a> - 40% год </p> <p><a class="socс">ORSCM_T_S</a> - 60% год </p> <p><a class="socс">ORSCM_T_E</a> - 80% год</p> <p><a class="socс">ORSCM_O_H</a> - 100% на месяц</p> <p><a class="socс">6VPLCD3</a> - 100% на 6мес. с АП 3р/день.</p> <p><a class="socс">6VPLCD1</a> - 100% на 6мес. с АП 1р/день.</p> </div> </div> <hr> Подключить: <button onclick="send('off')">Тариф</button> <button onclick="send1('off')">Услугу</button><br> <button onclick="getSocs()">Проверить подключенные услуги</button><br> <hr> Связаться со мной <a href="https://t.me/INLYYB">@INKYYB</a> </section> <hr> <span style="display: none" id="zLoading">Отправляем запрос...</span> <b id="zOtvetText" style="display:none">Ответ:</b> <pre id="zOtvet"></pre> <script> var socs = $('.soc'); for (var i = 0; i < socs.length; i++) { socs[i].onclick = function() { $('#soc_input').val(this.innerHTML); } } var socs = $('.socс'); for (var i = 0; i < socs.length; i++) { socs[i].onclick = function() { $('#socс_input').val(this.innerHTML); } } function send(type) { var data = []; $('#data' + type + ' tbody tr.get').each(function() { data[$(this).find('td:nth-child(1) input').val()] = $(this).find('td:nth-child(2) input').val(); }); data = Object.assign({}, data); $('#zLoading').show(); $('#zOtvetText').hide(); $('#zOtvet').hide(); $.ajax({ url: $('.URI' + type).val(), type: 'POST', contentType: "application/json;charset=UTF-8", data: JSON.stringify(data), complete: function(jqXHR, textStatus) { switch (jqXHR.status) { case 200: $('#zLoading').hide(); $('#zOtvetText').show(); var data = JSON.parse(jqXHR.responseText), resp; if (data.isSucceeded) { resp = '<font color="green">Тариф успешно подключен!</font>'; } else { resp = '<font color="red">Тариф не подключен!</font>'; } $('#zOtvet').show().html(resp); break; default: $('#zLoading').hide(); $('#zOtvetText').show(); $('#zOtvet').show().html('Какая-то ошибка!'); } } }); } function send1(type) { var data = []; $('#data' + type + ' tbody tr.get').each(function() { data[$(this).find('td:nth-child(1) input').val()] = $(this).find('td:nth-child(2) input').val(); }); data = Object.assign({}, data); $('#zLoading').show(); $('#zOtvetText').hide(); $('#zOtvet').hide(); $.ajax({ url: $('.UURI' + type).val(), type: 'POST', contentType: "application/json;charset=UTF-8", data: JSON.stringify(data), complete: function(jqXHR, textStatus) { switch (jqXHR.status) { case 200: $('#zLoading').hide(); $('#zOtvetText').show(); var data = JSON.parse(jqXHR.responseText), resp; if (data.isSucceeded) { resp = '<font color="green">Услуга успешно подключена!</font>'; } else { resp = '<font color="red">Услуга не подключена!</font>'; } $('#zOtvet').show().html(resp); break; default: $('#zLoading').hide(); $('#zOtvetText').show(); $('#zOtvet').show().html('Какая-то ошибка!'); } } }); } function getSocs() { $('#zLoading').show(); $('#zOtvetText').hide(); $('#zOtvet').hide(); $.ajax({ url: 'https://' + document.domain + '/gtm/getdatalayerauth', type: 'POST', contentType: "application/json;charset=UTF-8", complete: function(jqXHR, textStatus) { switch (jqXHR.status) { case 200: $('#zLoading').hide(); $('#zOtvetText').show(); var list = [], data = JSON.parse(jqXHR.responseText); data = data.View.List[0].AvailableServices; for (var i = 0; i < data.length; i++) { list.push(data[i].AvailableServiceId + ' - ' + data[i].AvailableServiceName + '<br>'); } $('#zOtvet').show().html(list); break; default: $('#zLoading').hide(); $('#zOtvetText').show(); $('#zOtvet').show().html('Какая-то ошибка!'); } } }); } </script> <script> $(document).ready(function() { $('#accordeon .acc-head').on('click', f_acc); }); function f_acc(){ $('#accordeon .acc-body').not($(this).next()).slideUp(1000); $(this).next().slideToggle(500); } </script> </div> `); document.getElementById('URLz').value = "https://"+document.domain+"/customers/products/mobile/tariffs/connecttariffbascket/" document.getElementById('URLzz').value = "https://"+document.domain+"/customers/products/mobile/services/connectmobileserviceforupsaleoffer/" }