Skip to content

Commit

Permalink
add other jsmp plugins
Browse files Browse the repository at this point in the history
  • Loading branch information
artyl committed Jun 25, 2020
1 parent b7c341f commit eed6b07
Show file tree
Hide file tree
Showing 8 changed files with 762 additions and 0 deletions.
82 changes: 82 additions & 0 deletions otherjsmp/SipNet.jsmb
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
// ������ ��� ��������� MobileBalance: http://mtsoft.ru/mobilebalance/
//
// ���������� �� �������������:
// 1. ����� � ��������� ��������� MobileBalance, ������� �� �������� "�������: ���������", �������� ������.
// 2. ����� ����� ������� �� �������� "��������" � � �������� ��������� ������� ��������� � ���������, ��������� ����.
//
// FullName : VoIP �������� SipNet
// ShortName : SipNet
// Version : 07.06.2020 v2
// Icon : 789C73F2FDC600016540AC01C40250CCC8C002166F0062616E08166040060D10C9860608058240C6810307803448E43F1831FCFF0FA140102404E2E3007FCE43089CF49933E7A1FC337869A83A5C00009F949135
// Author : MTSoft �������� ArtyLa
// Types : MTSoft
// Descript : ������� ������ � ��������� IP-��������� SipNet
// Descript : ���� ���������: https://customer.sipnet.ru/
// Descript : ������ �������: https://customer.sipnet.ru/index.m

function main(){
var p = 0;
// ������� �� ������� ��������
document.location="https://www.sipnet.ru/cabinet-login";
if(!external.WaitBrowser) return;
response.pages[p++]=external.source;
// ������ ����� � ������ � submit �����
if(document.getElementById("login-field")){
document.getElementById("login-field").value=request.loginValue;
document.getElementById("password-field").value=request.passwValue;
document.getElementById("login-form-submit").click();

if(!external.WaitBrowser) return;
response.pages[p++]=external.source;
};
xmlhttp = external.getXmlHttp()
xmlhttp.open('GET', "https://www.sipnet.ru/cabinet-login", false);
xmlhttp.send(null);
if(xmlhttp.status == 200)
{
external.SaveStrToLogFile(xmlhttp.responseText);
}

// �������� ����������
html=document.documentElement.outerHTML;
html=xmlhttp.responseText
// ����������� � ���� ����� � ������� ������ �������
html = html.replace(/\r|\n/g, "").replace(/>\s+/g, ">");

// ������
balanceParsed=false;
regexp=/������.*?>.*?>.*?>(.*?) /i;
if (res=regexp.exec(html)){
tmpBalance=res[1].replace(/ |\xA0/, ""); // ������� �������
tmpBalance=tmpBalance.replace(",", "."); // �������� ������� �� �����
response.Balance=parseFloat(tmpBalance);
balanceParsed=true;
};

// ���
regexp=/user-full-name.*?>.*?>(.*?)</;
if (res=regexp.exec(html)){
response.userName=res[1];
};

// SIP-ID (LicSchet)
regexp=/SIP ID.*?>.*?>(.*?)</i;
if (res=regexp.exec(html)){
response.licSchet=res[1];
};

// �������� ����
regexp=/status-work.*?>.*?>.*?>(.*?)</i;
if (res=regexp.exec(html)){
response.tarifPlan=res[1];
};


// ���� �� �� � ������, �� �������.
if (!external.isDebugMode)
{
document.location="https://www.sipnet.ru/cabinet/?CabinetAction=logout";
}

};
main();
49 changes: 49 additions & 0 deletions otherjsmp/StrelkaCard_Ru.jsmb
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// ������ ��� ��������� MobileBalance: http://mtsoft.ru/mobilebalance/
//
// ���������� �� �������������:
// 1. ����� � ��������� ��������� MobileBalance, ������� �� �������� "�������: ���������", �������� ������.
// 2. ����� ����� ������� �� �������� "��������" � � �������� ��������� ������� ��������� � ���������, ��������� ����.
//
// FullName : ������������ ����� "�������" (���������� �������)
// ShortName : Strelka
// Version : 08.05.2020
// Icon : 789C73F235636100033320D600620128666450804840E591C1FFFFFFA98E3FBC7ECA706CCB6C86E53D290CCBBB9319564FCC6638BF7F25C3AF9FDF09EA3DB2713A43758008434F9A31C3A619650C7B977732ACEC4D67688BD760688E5262B87E6A274EBDDBE6D5313446C8335C3FBD0343EECF9F5F0CBB97B63154F8F0339C3FB00A43FEF685030C659E3C0C8F6E9C06F3FFFEFDC3F0E7F72F0C75C7B7CE6588099AC9F0EEDD3F14F1F90DA10C1BA617C3F99FDEBD60985EEA0E0E0B6475FFFEFD6748CBFBCC306B01222CBE7E7ACB50E6C5CBF0F4EE2514B5170EAC66E84CD265B87BF1108AF8BACD3F1962523FC1F90FAF9F62A8F217069AFD17C3BD2F1E5C63E8CD300187E3FF7F1037DFB8F587C1D9EF03C3AF5F1035203F57FA0962F5EF87D74F182617D8336C98560C0E1390D8F59B7F185CFC11FABF7D7AC7500E74FFA39B6750F4DE3ABF8FA133598FE1D2E17528E26B37FD64884DFB8422B6B0399261DD940238FFF3FB570C1372AC185E3CBC86117EC9399F18E62FFD8122FEECDE657018DC01C62338BE817EF9F9FD0B867FF6AFEA65C808AB6378FFE11F86DC1E6018D58548315C38B806C84795FFF3FB27C3B6F975E0B479E3CC2E9C69F0E4F6790C75A1D20C5D29FA0C9B6757311C5A3F8561FDB42270DA6D8D53677870F538C13CF0FDCB0786D3BB16312C698B659855E5CBB0069C7F5681DD40EDBC0A00F3E78F1E
// Author : MTSoft & Artyla
// Types : MTSoft & Artyla
// Descript : ������� ������ �� ������������ ����� "�������"
// Descript : ���� ���������: https://strelkacard.ru/
// Descript : ������ �������: https://strelkacard.ru/
// Descript : �������������: � �������� ������ �������� ����� �����, � �������� ������ - ����� �������. ��������, 12345
// Descript : ���� ���-���� �� ��������, ���������� ��������� json-ie.reg, �������� ��� �������
// Descript : ����������� ������ ����
// Descript : 1. � ������ ��� ��������� � ������� �������� �� ������, �.�. ��� ��������� � json IE �������� ��� ����� ���������, (https://stackoverflow.com/questions/2483771/how-can-i-convince-ie-to-simply-display-application-json-rather-than-offer-to-do)
// Descript : �� � ���� � mobilebalance ������-�� ��������.
// Descript : 2. ������ �������� ��������� ������� �� ��������, �.�. ���� ����� referer, � ��� ��������� � url ����� getXmlHttp IE �� �������� referer (https://stackoverflow.com/questions/19354985/why-ie-xdomainrequest-does-not-send-referer-header)

function main(){

var p = 0;
// ����� �������� ��� ���������� ����� JSON-������
var url="https://strelkacard.ru/api/cards/status/?cardnum="+request.loginValue+"&cardtypeid=3ae427a1-0f17-4524-acb1-a3f50090a8f3";
external.Navigate(url, '', 'referer: https://strelkacard.ru/')
external.WaitBrowser(30);
//response.pages[p++]=external.source;
// ���������� ������� ��������. ����������� �� � JSON-������
eval("var JSON="+external.innerText);
// ������
response.Balance=JSON.balance/100;

// ������ ����������
response.BlockStatus=JSON.emergencyblocked

// ������ ���������
response.TurnOffStr=JSON.periodend;

// �����
response.TarifPlan=JSON.tarif;

// �����
response.Balance2=JSON.numoftrips;

};
main();
67 changes: 67 additions & 0 deletions otherjsmp/avtodor-tr.jsmb
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
// ������ ��� ��������� MobileBalance: http://mtsoft.ru/mobilebalance/
//
// ���������� �� �������������:
// 1. ����� � ��������� ��������� MobileBalance, ������� �� �������� "�������: ���������", �������� ������.
// 2. ����� ����� ������� �� �������� "��������" � � �������� ��������� ������� ��������� � ���������, ��������� ����.
//
// FullName : avtodor-tr.ru
// ShortName : Avtodor-tr
// Version : 08.06.2020
// Icon : 789C73F2FDC600016540AC01C40250CCC8C002166F0062616E08166040060D10C9860608058240C6810307803448E43F1831FCFF0FA140102404E2E3007FCE43089CF49933E7A1FC337869A83A5C00009F949135
// Author : ArtyLa
// Types : ArtyLa
// Descript : ������� ������ https://avtodor-tr.ru
// Descript : ���� ���������: https://avtodor-tr.ru
// Descript : ������ �������: https://avtodor-tr.ru/account/login

function main(){
var p = 0;
// ������� �� ������� ��������
document.location="https://avtodor-tr.ru/account/login";
if(!external.WaitBrowser) return;
response.pages[p++]=external.source;
// ������ ����� � ������ � submit �����
if(document.getElementById("id_password")){
document.getElementById("id_email").value=request.loginValue;
document.getElementById("id_password").value=request.passwValue;
document.getElementsByName("submit0")[0].click();
if(!external.WaitBrowser) return;
response.pages[p++]=external.source;
};

// �������� ����������
html=document.documentElement.outerHTML;
// ����������� � ���� ����� � ������� ������ �������
html = html.replace(/\r|\n/g, "").replace(/>\s+/g, ">");

// ������
balanceParsed=false;
regexp=/<td>������<\/td>.*?<td>(.*?)</i;
if (res=regexp.exec(html)){
tmpBalance=res[1].replace(/[^\d.,]/g, ""); // ������� ��� ����� ���� ����� � �������
tmpBalance=tmpBalance.replace(",", "."); // �������� ������� �� �����
response.Balance=parseFloat(tmpBalance);
balanceParsed=true;
};

// ���
regexp=/<td>������ ?<\/td>.*?<td>(.*?)</i;
if (res=regexp.exec(html)){
response.userName=res[1];
};

// LicSchet
regexp=/<td>������� ����<\/td>.*?<td>(.*?)</i;
if (res=regexp.exec(html)){
response.licSchet=res[1];
};


// ���� �� �� � ������, �� �������.
if (!external.isDebugMode)
{
document.location="https://avtodor-tr.ru/account/logout";
}

};
main();
148 changes: 148 additions & 0 deletions otherjsmp/beeline.jsmb
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
// ������ ��� ��������� MobileBalance: http://mtsoft.ru/mobilebalance/
//
// ���������� �� �������������:
// 1. ����� � ��������� ��������� MobileBalance, ������� �� �������� "�������: ���������", �������� ������.
// 2. ����� ����� ������� �� �������� "��������" � � �������� ��������� ������� ��������� � ���������, ��������� ����.
//
// FullName : Beeline.api
// ShortName : BeeAPI
// Version : 18.06.2020
// Icon : 789C7D93CB6B135114C6BF79C4BC66924993D0269926D3247DD8579A5A92D61A5B84B6282816AC8FADB890BAB3E24E37EE15D48505F11FD045C54AC577B1540AC5A255B1B4A2958AF85AE9C23E92F8CD344A15F4901FDF9D7BE79C09E7BB67C7EE8C0C2B32A48E68250418EB07A5F3FF45454505CACBCBE1F3F9204912445182D7EB4520184490FC2B3C5E0F227A04A220941021992A8A10A842692F180C4051953F72BD9A86B2AA66A8B12628B14628C63AEEAA46A8550D50889AA026EAE149D6A38C6BD5ABFDCE8F1C3D0F5C2F02770BC03875823A459D26B3E42599E7DE5BEA12799F8776E6A295AB376D012E7F07AEFD004696811B2BC02D726F15784026F2C063324D9EB2C67332CFF5B365045ADA103A3E0CDCE4F31D729F678F587FB2F4ED19F2827BAFA8AFC922F9403E93AF79F8CF0DA332D50E776D3BD41A6A5D164EE2DA9C85BB210BA521034F6316BEE60E78531D50F9AE92CEC0D5DA0E676B16C18616C8A20C4114D86BD1EAAF60F94DB8762B2AC2E13092890489731DB27A2F0A1264D31F7A63936DD6B359E39777FCC1ED70221AD5D19A4E23B77D1B72B91CD22D2984F5305C7607BFCB7C4940B47B2F94ADFBA012676E006EE2EC1A40B0E720D20347D03B7812FD43A7D07FE2347A8E0D2175E830427B0EC0BE6B3FFCDD7D080F5D0246D9E7DB66FFA8E3D4C95548336B48CEADA16BB180BEA53C7AD9B7EE8F45843E156037FBF7A580E0D96118CD6DC0956FC0557A364246C9D88A55273E9547E76C013BE75863BE884E7A1059A01F0BE6BD584679BACDBA0389C10BF49FDE8F9977883C5CF7D0F1A48824BD6BE1FB29DE9D38FD93DFF1EC4D1E81D2FD3143E3ACE891045C6521B87CC41F81C35F014F4847D848C048D6C0A8AE41C888C3138EC2AFC7E0D1B48D23004DF3A2BAB6D69A1769C30CC9928C4DECB7CD66A75F326246CC9AB57F85611888C562F42ECA1C1B6459E27F8B40AFD42DFE8E9F8F93C73F
// Author : comprech & y-greek & Arty &
// Types : comprech & y-greek & Arty &
// Descript : Beeline ����� API https://github.com/dubanoze/beeapi
// Descript : ����� ��� �������� � �������. �������� ������ �����.
// Descript : ��� �� ��������, ��������� ��� ����� ���������� ����. ����������� document.cookie �� �����������.

function main() {
var p = 0;

// alert!
function alert(s){ window.alert(s); }

// ���������� object �� ������ json
function json(str) {
try { var obj = eval('(' + str + ')'); }
catch(e) { obj = str; }
return obj;
}

//��������� ������������� ����������
function isset (variable) {
if(typeof(variable) != "undefined" && variable !== null)
{
return true;
}
return false;
}

// ��������� 3, 4... - Headers. ������ header - ������ �� ���� ��������� ['headerName', 'headerValue']
function post(uri, data) {
xmlhttp = external.getXmlHttp();
xmlhttp.open("POST", uri, false);
for(var i=2; i<arguments.length; i++) xmlhttp.setRequestHeader(arguments[i][0], arguments[i][1]);
xmlhttp.send(data);
response.pages[p++] = xmlhttp.responseText;
var tmp = xmlhttp.responseText;
xmlhttp.abort();
return tmp;
}

// ��������� 3, 4... - Headers. ������ header - ������ �� ���� ��������� ['headerName', 'headerValue']
function get(uri, data) {
xmlhttp = external.getXmlHttp();
xmlhttp.open("GET", uri, false);
for(var i=2; i<arguments.length; i++) xmlhttp.setRequestHeader(arguments[i][0], arguments[i][1]);
xmlhttp.send(data);
response.pages[p++] = xmlhttp.responseText;
var tmp = xmlhttp.responseText;
xmlhttp.abort();
return tmp;
}

function api(item) {
var apiURL = 'https://my.beeline.ru/api/1.0/' + item + '?ctn=' + request.loginValue + '&token=' + token;
return get(apiURL, '', ['User-Agent', 'tiehttp']);
return result;
}

// �������� token ������� ������������ ������ � api ��������
var uri = 'https://my.beeline.ru/api/1.0/auth/auth?login=' + request.loginValue + '&password=' + request.passwValue ;
jsonToken = get(uri, '', ['User-Agent', 'tiehttp']);
oToken = json(jsonToken);
var token = oToken.token;

// ������
jsonBalance = api('info/prepaidBalance');
oBalance = json(jsonBalance);
qStatus = oBalance.meta.status;
qCode = oBalance.meta.code;
if (qStatus == 'ERROR' && qCode == 49999 ) {
jsonBalance = api('info/postpaidBalance');
oBalance = json(jsonBalance);
}
response.Balance = oBalance.balance;

// �����
jsonTariff = api('info/pricePlan');
oTariff = json(jsonTariff);
response.TarifPlan = oTariff.pricePlanInfo.entityName;

// ���
// jsonProfile = api('sso/contactData');
// oProfile = json(jsonProfile);
// firstName = oProfile.firstName;
// lastName = oProfile.lastName;
// response.UserName = firstName + ' ' + lastName;


// ������ �����
jsonSubscr = api('info/subscriptions')
oSubscr = json(jsonSubscr);
subscr = oSubscr.subscriptions.length
jsonServices = api('info/serviceList')
oServices = json(jsonServices);
paid_sum = 0
ppi = oTariff.pricePlanInfo
if(ppi['rcRate'] > 0){
kperiod = ppi.rcRatePeriod.indexOf('dayly') !==-1 ? 30 : 1;
paid_sum = ppi['rcRate'] * kperiod
}
free=0; paid=0;
for(var i=0; i<oServices.services.length; i++){
el = oServices.services[i]
fee = 0;

if(el.rcRate>0){
kperiod = el.rcRatePeriod.indexOf('dayly') !==-1 ? 30 : 1
fee = el.rcRate * kperiod
}
if(fee > 0){ free++; } else{ paid++; paid_sum += fee; }
}
response.UslugiOn=free + '/' + subscr + '/' + paid + '/(' + paid_sum + ')';

//������ ����������
jsonStatus = api('info/status');
oStatus = json(jsonStatus);
response.BlockStatus = oStatus.status;

// �������
jsonRests = api('info/rests');
oRests = json(jsonRests);
if (oRests.meta.status == 'OK' && oRests.rests.length>0 ){ // ������ ����
response.Min = 0;
response.Internet = 0;
response.SMS = 0;
for(var i=0;i<oRests.rests.length;i++){
if(oRests.rests[i].unitType=='VOICE'){response.Min += oRests.rests[i].currValue}
if(oRests.rests[i].unitType=='INTERNET'){response.Internet += oRests.rests[i].currValue}
if(oRests.rests[i].unitType=='SMS_MMS'){response.SMS = oRests.rests[i].currValue}
}
}

//response.ErrorMsg

};

main();

Loading

0 comments on commit eed6b07

Please sign in to comment.