ZtarLine
/
ztarline.php
155 строк · 6.5 Кб
1#!/usr/bin/php
2<?php
3//
4//__ ________ __
5//| \ \ | \
6// \▓▓ ▓▓▓▓▓▓▓▓ ______ ______ _______ ______ ____| ▓▓ ______ __ __
7//| \ ▓▓__ / \ | \ / \/ \ ______ / ▓▓/ \| \ / \
8//| ▓▓ ▓▓ \ | ▓▓▓▓▓▓\ \▓▓▓▓▓▓\ ▓▓▓▓▓▓▓ ▓▓▓▓▓▓\ \ ▓▓▓▓▓▓▓ ▓▓▓▓▓▓\\▓▓\ / ▓▓
9//| ▓▓ ▓▓▓▓▓ | ▓▓ \▓▓/ ▓▓\▓▓ \| ▓▓ | ▓▓\▓▓▓▓▓▓ ▓▓ | ▓▓ ▓▓ ▓▓ \▓▓\ ▓▓
10//| ▓▓ ▓▓ | ▓▓ | ▓▓▓▓▓▓▓_\▓▓▓▓▓▓\ ▓▓__/ ▓▓ | ▓▓__| ▓▓ ▓▓▓▓▓▓▓▓ \▓▓ ▓▓
11//| ▓▓ ▓▓ | ▓▓ \▓▓ ▓▓ ▓▓\▓▓ ▓▓ \▓▓ ▓▓\▓▓ \ \▓▓▓
12// \▓▓\▓▓ \▓▓ \▓▓▓▓▓▓▓\▓▓▓▓▓▓▓ \▓▓▓▓▓▓ \▓▓▓▓▓▓▓ \▓▓▓▓▓▓▓ \▓
13//
14//
15//Created by iFraso-dev
16//https://github.com/iFraso-dev/ZtarLine
17//Contacts - fraso1989@gmail.com / Fraso@mail.ru
18//
19error_reporting(0); // Turn off all error reporting
20include 'user_data.php'; //We connect the user_data.php file with user settings
21//Getting the application code
22$getCode1=file_get_contents("https://id.starline.ru/apiV3/application/getCode?appId=$user_AppId&secret=$user_Secret_md5");
23$decgetCode = (json_decode($getCode1, true));
24$getCode = ($decgetCode["desc"]["code"]);
25$codeToken = md5($user_Secret.$getCode);
26$getToken=file_get_contents("https://id.starline.ru/apiV3/application/getToken?appId=$user_AppId&secret=$codeToken");
27$decgetTokenCode = (json_decode($getToken, true));
28$getTokenCode = ($decgetTokenCode["desc"]["token"]);
29//
30//User authentication
31$loginarr = 'https://id.starline.ru/apiV3/user/login';
32$params = array(
33'token' => $getTokenCode,
34'login' => $user_login,
35'pass' => $user_pass,
36);
37$result = file_get_contents($loginarr, false, stream_context_create(array(
38'http' => array(
39'method' => 'POST',
40'header' => 'Content-type: application/x-www-form-urlencoded',
41'content' => http_build_query($params)
42)
43)));
44$resultdec = (json_decode($result, true));
45//
46//User authorization by StarLineID token
47$slid_token_url = 'https://developer.starline.ru/json/v2/auth.slid';
48$params1 = json_encode(array('slid_token' => $resultdec["desc"]["user_token"]));
49$result2 = file_get_contents($slid_token_url, false, stream_context_create(array(
50'http' => array(
51'method' => 'POST',
52'header' => 'Content-type: application/x-www-form-urlencoded',
53'content' => $params1
54)
55)));
56$result3 = get_headers($slid_token_url, false, stream_context_create(array(
57'http' => array(
58'method' => 'POST',
59'header' => 'Content-type: application/x-www-form-urlencoded',
60'content' => $params1
61)
62)));
63$resultdec1 = (json_decode($result2, true));
64$expl = explode(" ", $result3['7']);
65$pattern = array();
66$pattern[0] = '/;+/';
67$slnet = preg_replace($pattern, '', $expl["1"]);
68$userID1 = $resultdec1["user_id"];
69$headers = array(
70'cache-control: max-age=0',
71'upgrade-insecure-requests: 1',
72'user-agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36',
73'sec-fetch-user: ?1',
74'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
75'x-compress: null',
76'sec-fetch-site: none',
77'sec-fetch-mode: navigate',
78'accept-encoding: deflate, br',
79'accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
80
81);
82//
83// Get user_info
84$ch1 = curl_init('https://developer.starline.ru/json/v2/user/'.$userID1.'/user_info');
85curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
86curl_setopt($ch1, CURLOPT_ACCEPT_ENCODING, true);
87curl_setopt($ch1, CURLOPT_HTTP_CONTENT_DECODING, true);
88curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, false);
89curl_setopt($ch1, CURLOPT_HEADER, false);
90curl_setopt($ch1, CURLOPT_HTTPHEADER, $headers);
91curl_setopt($ch1, CURLOPT_COOKIESESSION, true);
92curl_setopt($ch1, CURLOPT_COOKIE, $slnet);
93$resalt1 = curl_exec($ch1);
94curl_close($ch1);
95//
96//Get mobile_devices
97$ch2 = curl_init('https://developer.starline.ru/json/v1/user/'.$userID1.'/mobile_devices');
98curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
99curl_setopt($ch2, CURLOPT_ACCEPT_ENCODING, true);
100curl_setopt($ch2, CURLOPT_HTTP_CONTENT_DECODING, true);
101curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false);
102curl_setopt($ch2, CURLOPT_HEADER, false);
103curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers);
104curl_setopt($ch2, CURLOPT_COOKIESESSION, true);
105curl_setopt($ch2, CURLOPT_COOKIE, $slnet);
106$resalt2 = curl_exec($ch2);
107curl_close($ch2);
108//
109//Get Device id
110$device_id = json_decode($resalt1,true);
111$device_id_end = $device_id["devices"][0]["device_id"];
112//
113// Get obd_params
114$ch3 = curl_init('https://developer.starline.ru/json/v1/device/'.$device_id_end.'/obd_params');
115curl_setopt($ch3, CURLOPT_RETURNTRANSFER, true);
116curl_setopt($ch3, CURLOPT_ACCEPT_ENCODING, true);
117curl_setopt($ch3, CURLOPT_HTTP_CONTENT_DECODING, true);
118curl_setopt($ch3, CURLOPT_SSL_VERIFYPEER, false);
119curl_setopt($ch3, CURLOPT_HEADER, false);
120curl_setopt($ch3, CURLOPT_HTTPHEADER, $headers);
121curl_setopt($ch3, CURLOPT_COOKIESESSION, true);
122curl_setopt($ch3, CURLOPT_COOKIE, $slnet);
123$resalt3 = curl_exec($ch3);
124curl_close($ch3);
125//
126//Get obd_errors
127$ch4 = curl_init('https://developer.starline.ru/json/v1/device/'.$device_id_end.'/obd_errors');
128curl_setopt($ch4, CURLOPT_RETURNTRANSFER, true);
129curl_setopt($ch4, CURLOPT_ACCEPT_ENCODING, true);
130curl_setopt($ch4, CURLOPT_HTTP_CONTENT_DECODING, true);
131curl_setopt($ch4, CURLOPT_SSL_VERIFYPEER, false);
132curl_setopt($ch4, CURLOPT_HEADER, false);
133curl_setopt($ch4, CURLOPT_HTTPHEADER, $headers);
134curl_setopt($ch4, CURLOPT_COOKIESESSION, true);
135curl_setopt($ch4, CURLOPT_COOKIE, $slnet);
136$resalt4 = curl_exec($ch4);
137curl_close($ch4);
138//
139//JSON output
140echo ("{\"user_info\":");
141echo ($resalt1); //Get user_info
142echo (",");
143echo ("\"mobile_devices\":");
144echo ($resalt2); //Get mobile_devices
145echo (",");
146echo ("\"obd_params\":");
147echo ($resalt3); // Get obd_params
148echo (",");
149echo ("\"obd_errors\":");
150echo ($resalt4); //Get obd_errors
151echo (",");
152echo ("\"creator\":\"iFraso-dev\",\"link\":\"https://github.com/iFraso-dev/ZtarLine\",\"contacts\":\"fraso1989@gmail.com\""); //Get creator
153echo ("}")
154//
155?>
156