Untitled
unknown
plain_text
3 years ago
22 kB
13
Indexable
<?php
header('Content-Type: application/json; charset=utf-8');
error_reporting(-1);
set_time_limit(0);
$user = isset($_GET['username']) ? $_GET['username'] : null;
$post = $_GET['post'] ?? null;
$proxy = $_GET['proxy'] ?? null;
$sessionid = $_GET['sessionid'] ?? null;
if (isset($_GET['vippp'])) {
function Globalpost($post, $x = 0)
{
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://instagram-story-downloader-media-downloader.p.rapidapi.com/index?url=" . $post,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-RapidAPI-Host: instagram-story-downloader-media-downloader.p.rapidapi.com",
"X-RapidAPI-Key: 9a18840479msh6e7d1abdc7fdebcp10b8cajsnbe5fd08fdc53"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
if ($x > 5) return json_decode($response, true);
if (isset(json_decode($response, true)['error'])) {
sleep(2);
$x += 1;
return Globalpost($post, $x);
}
return json_decode($response, true);
}
}
function userInfo($user, $x = 0)
{
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://instagram-story-downloader-media-downloader.p.rapidapi.com/profile/index?url=" . $user,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-RapidAPI-Host: instagram-story-downloader-media-downloader.p.rapidapi.com",
"X-RapidAPI-Key: 9a18840479msh6e7d1abdc7fdebcp10b8cajsnbe5fd08fdc53"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
if ($x > 5) return json_decode($response, true);
if (isset(json_decode($response, true)['error'])) {
$x += 1;
return userInfo($user, $x);
}
return json_decode($response, true);
}
}
function userStory($user)
{
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://instagram-story-downloader-media-downloader.p.rapidapi.com/story/index?url=" . $user,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-RapidAPI-Host: instagram-story-downloader-media-downloader.p.rapidapi.com",
"X-RapidAPI-Key: 9a18840479msh6e7d1abdc7fdebcp10b8cajsnbe5fd08fdc53"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
return json_decode($response, true);
}
}
if ($post) {
$post = Globalpost($post);
if (!isset($post['media'])) die;
if (is_array($post['media'])) {
foreach ($post['media'] as $media) {
$post['results']['media'][] = ['__typename' => $post['Type'] ?? $post['Post-Video'] ?? 'post', 'id' => mt_rand(11111, 9999999999999), 'video_view_count' => mt_rand(11111, 99999), 'url' => $media];
}
} else {
$post['results']['media'][] = ['__typename' => $post['Type'] ?? $post['Post-Video'] ?? 'post', 'id' => mt_rand(11111, 9999999999999), 'video_view_count' => mt_rand(11111, 99999), 'url' => $post['media']];
}
echo json_encode($post, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_UNICODE);
}
if ($user) {
echo file_get_contents('https://balgare.mohammed-api.com/media/social.php?token=adminAcess&type=story&username=' . $user);
}
die;
}
if (isset($_GET['vip'])) {
$file = str_replace('creating account (sms has been submited)', '', file_get_contents('accounts.txt'));
$exists_accounts = array_values(array_filter(explode("\n", $file)));
$rand = $exists_accounts[array_rand($exists_accounts, 1)];
preg_match_all('#IG-U-DS-USER-ID=(.*?);|sessionid=(.*?);#', $rand, $matches);
preg_match('#\|(.*?)\|#', $rand, $userAgent);
$userAgent = $userAgent[1];
$ds_user_id = $matches[1][0];
$sessionid = $matches[2][1];
}
#$ex = explode(':', $proxy);
#$ip = $ex[0];
#$port = $ex[1];
#$username = $ex[2];
#$passwd = $ex[3];
#
#$proxy = "$ip:$port";
#$proxyauth = "$username:$passwd";
sleep(8);
if (!isset($_GET['enc']) && !isset($_GET['vip'])) {
return;
}
$cc = [
[
"cookie: ds_user_id=$ds_user_id; sessionid=$sessionid;",
"user-agent: " . $userAgent,
"x-ig-app-id: 936619743392459",
]
];
function info($user)
{
global $cc;
global $proxy;
global $proxyauth;
#$url = "https://www.instagram.com/" . $user . "/?__a=1";
$url = "https://i.instagram.com/api/v1/users/web_profile_info/?username=$user";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
#curl_setopt($curl, CURLOPT_PROXY, $proxy);
#curl_setopt($curl, CURLOPT_PROXYUSERPWD, $proxyauth);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = $cc[array_rand($cc)];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
if (empty($resp) || preg_match('#challenge|accept#', $resp)) {
print_r(curl_error($curl));
print_r($headers);
var_dump($resp);
echo $url;
}
return $resp;
}
function story($user)
{
global $cc;
global $proxy;
global $proxyauth;
#$url = "https://www.instagram.com/graphql/query/?query_id=17873473675158481&variables=%7B%22reel_ids%22%3A%5B%22" . $user . "%22%5D%2C%22precomposed_overlay%22%3Afalse%7D";
$url = "https://www.instagram.com/graphql/query/?query_hash=303a4ae99711322310f25250d988f3b7&variables={%22reel_ids%22:[%22" . $user . "%22],%22tag_names%22:[],%22location_ids%22:[],%22highlight_reel_ids%22:[],%22precomposed_overlay%22:false,%22show_story_viewer_list%22:true,%22story_viewer_fetch_count%22:50}";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
#curl_setopt($curl, CURLOPT_PROXY, $proxy);
#curl_setopt($curl, CURLOPT_PROXYUSERPWD, $proxyauth);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = $cc[array_rand($cc)];
#$headers = $GLOBALS['headers'];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
return $resp;
}
function ExtractPostId(string $url)
{
$re = '/^https?:\/\/(?:www\.)?instagram\.com\/[^\/]+(?:\/[^\/]+)?\/([^\/]{11})\/.*$/m';
preg_match_all($re, $url, $matches, PREG_SET_ORDER, 0);
foreach ($matches as $match) {
$sh = $match[1];
}
return $sh ?? null;
}
function post($post)
{
global $cc;
$sh = ExtractPostId($post);
if (isset($sh)) {
$curl = curl_init();
$headers = $cc[array_rand($cc)];
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://www.instagram.com/graphql/query/?query_hash=2c4c2e343a8f64c625ba02b2aa12c7f8&variables=%7B%22shortcode%22:%22' . $sh . '%22%7D', // Server Path
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_HEADER => false,
CURLOPT_MAXREDIRS => 0,
CURLOPT_TIMEOUT => 30, // increase this
CURLOPT_PROXY => $GLOBALS['proxy'],
CURLOPT_PROXYUSERPWD => $GLOBALS['proxyauth'],
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_HTTPHEADER => $headers,
));
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($curl);
$info = curl_getinfo($curl);
$err = curl_error($curl);
curl_close($curl);
return $response;
} else {
return ['status' => false];
}
/*global $cc;
global $proxy;
global $proxyauth;
$sub = substr($post, -1);
$q = '?';
if (preg_match('#/\?#', $post)) {
$q = '&';
$url = $post . "{$q}__a=1";
} elseif ($sub != '/') {
$url = $post . "/{$q}__a=1";
} elseif ($sub == '/') {
$url = $post . "{$q}__a=1";
}
if (is_null($url)) {
die;
}
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
#curl_setopt($curl, CURLOPT_PROXY, $proxy);
#curl_setopt($curl, CURLOPT_PROXYUSERPWD, $proxyauth);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = $cc[array_rand($cc)];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
#$info = curl_getinfo($curl);
curl_close($curl);
#var_dump($info);
return $resp;
*/
}
function h($idd)
{
global $cc;
global $proxy;
global $proxyauth;
$url = 'https://www.instagram.com/graphql/query/?query_hash=c9100bf9110dd6361671f113dd02e7d6&variables={"user_id":' . $idd . ',"include_chaining":false,"include_reel":true,"include_suggested_users":false,"include_logged_out_extras":false,"include_highlight_reels":true,"include_live_status":false}';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
#curl_setopt($curl, CURLOPT_PROXY, $proxy);
#curl_setopt($curl, CURLOPT_PROXYUSERPWD, $proxyauth);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = $cc[array_rand($cc)];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
return $resp;
}
function get($id)
{
global $cc;
global $proxy;
global $proxyauth;
$url = "https://i.instagram.com/api/v1/feed/reels_media/?reel_ids=highlight:" . $id;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
#curl_setopt($curl, CURLOPT_PROXY, $proxy);
#curl_setopt($curl, CURLOPT_PROXYUSERPWD, $proxyauth);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = [
"x-ig-app-id: 936619743392459",
];
$headers = array_merge($headers, $cc[array_rand($cc)]);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
return $resp;
}
if (isset($_GET['highlight_id'])) {
$get = get($_GET['highlight_id']);
$decode_get = json_decode($get, true);
$highlights = $decode_get['reels']['highlight:' . $_GET['highlight_id']]['items'];
$highlight_id_array = [];
foreach ($highlights as $highlight) {
$vid = 'video_versions';
if (array_key_exists($vid, $highlight)) {
$highlight_id_array['video'][] = $highlight['video_versions']['0']['url'];
} else {
$highlight_id_array['photo'][] = $highlight['image_versions2']['candidates']['0']['url'];
}
}
echo json_encode(["results" => $highlight_id_array], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
die;
}
if (isset($post)) {
$d = post($post);
$postdata = json_decode($d, true)['graphql']['shortcode_media'];
if (isset($postdata)) {
$array['results']['likes'] = $postdata['edge_media_preview_like']['count'];
$array['results']['comments'] = $postdata['edge_media_to_parent_comment']['count'];
$array['results']['taken_at'] = date('Y-m-d h:i:s', $postdata['taken_at_timestamp']);
$array['results']['caption'] = $postdata['edge_media_to_caption']['edges'][0]['node']['text'] ?? '✖️';
if (!isset($postdata['edge_sidecar_to_children'])) {
if (isset($postdata['video_url'])) {
$url = $postdata['video_url'];
$array['results']['media'][] = [
'__typename' => $postdata['__typename'],
'id' => $postdata['id'],
'video_view_count' => $postdata['video_view_count'],
'url' => $url
];
} else {
$url = $postdata['display_url'];
$array['results']['media'][] = [
'__typename' => $postdata['__typename'],
'id' => $postdata['id'],
'url' => $url
];
}
} else {
if (is_array($postdata['edge_sidecar_to_children']['edges'])) {
foreach ($postdata['edge_sidecar_to_children']['edges'] as $set) {
$set = $set['node'];
if (isset($set['video_url'])) {
$url = $set['video_url'];
$array['results']['media'][] = [
'__typename' => $set['__typename'],
'id' => $set['id'],
'video_view_count' => $set['video_view_count'],
'url' => $url
];
} else {
$url = $set['display_url'];
$array['results']['media'][] = [
'__typename' => $set['__typename'],
'id' => $set['id'],
'url' => $url
];
}
}
}
}
echo json_encode($array, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
} elseif (!empty($d)) {
$a = json_decode($d, true);
if (isset($a['items'])) {
foreach ($a as $postdata) {
$array['results']['likes'] = $postdata['like_count'];
$array['results']['comments'] = $postdata['comment_count'];
$array['results']['taken_at'] = date('Y-m-d h:i:s', $postdata['taken_at']);
$array['results']['caption'] = $postdata['caption']['text'] ?? '✖️';
if (!isset($postdata['video_versions'][0]['url'])) {
if (isset($postdata['carousel_media'])) {
$carousel_media = $postdata['carousel_media'];
foreach ($carousel_media as $response) {
$array['results']['media'][] = [
'__typename' => 'photo',
'id' => $response['id'],
'url' => $response['image_versions2']['candidates'][0]['url']
];
}
} else {
$response = $postdata;
$array['results']['media'][] = [
'__typename' => 'photo',
'id' => $response['id'],
'url' => $response['image_versions2']['candidates'][0]['url']
];
}
} else {
$array['results']['media'][] = [
'__typename' => $postdata['video_versions'][0]['type'],
'id' => $postdata['video_versions'][0]['id'],
'url' => $postdata['video_versions'][0]['url']
];
}
}
} else {
$data = json_decode($d, true);
$postdata = $data['data']['shortcode_media'] ?? null;
if ($postdata != null) {
$array['results']['likes'] = $postdata['edge_media_preview_like']['count'] ?? 0;
$array['results']['comments'] = $postdata['edge_media_to_comment']['count'] ?? 0;
$array['results']['taken_at'] = date('Y-m-d h:i:s', $postdata['taken_at_timestamp']);
$array['results']['caption'] = $postdata['edge_media_to_caption']['edges'][0]['node']['text'] ?? 'empty';
$edges = $postdata['edge_sidecar_to_children']['edges'] ?? null;
if ($edges === null) {
$array['results']['media'][] = [
'__typename' => $postdata['__typename'],
'id' => $postdata['id'],
'url' => $postdata['video_url'] ?? $postdata['display_url']
];
} else {
foreach ($edges as $edge) {
$array['results']['media'][] = [
'__typename' => $postdata['__typename'],
'id' => $postdata['id'],
'url' => $edge['node']['video_url'] ?? $edge['node']['display_url'] ?? $edge['node']['display_resources'][1]['src']
];
}
}
}
}
echo json_encode($array, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
}
}
if (isset($user) && !empty($user)) {
$get = info($user);
$_story = []; // array to return data
$decode_get = json_decode($get, true);
#$user_id = $decode_get['graphql']['user']['id'];
$user_id = $decode_get['data']['user']['id'];
if (!isset($user_id)) {
die;
}
if (isset($_GET['highlight'])) {
$f = h($user_id);
$decode_h = json_decode($f, true);
$ids = $decode_h['data']['user']['edge_highlight_reels']['edges'];
$highlight_array = [];
foreach ($ids as $highlight) {
$highlight_array['id'][] = $highlight['node']['id'];
$highlight_array['cover'][] = $highlight['node']['cover_media_cropped_thumbnail']['url'];
$highlight_array['title'][] = $highlight['node']['title'];
}
echo json_encode(["results" => $highlight_array], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
die;
}
$c = $decode_get['data']['user']['is_private'];
$biography = $decode_get['data']['user']['biography'];
$edge_followed_by = $decode_get['data']['user']['edge_followed_by']['count'];
$edge_follow = $decode_get['data']['user']['edge_follow']['count'];
$full_name = $decode_get['data']['user']['full_name'];
$highlight_reel_count = $decode_get['data']['user']['edge_owner_to_timeline_media']['count'];
$is_verified = $decode_get['data']['user']['is_verified'];
$profile_pic_url_hd = $decode_get['data']['user']['profile_pic_url_hd'];
$profile_pic_url = $decode_get['data']['user']['profile_pic_url'];
$username = $decode_get['data']['user']['username'];
$stories = story($user_id);
$data = json_decode($stories, true);
$stories = $data['data']['reels_media']['0']['items'] ?? null;
if (isset($stories)) {
foreach ($stories as $story) {
$vid = 'video_resources';
if (isset($story['tappable_objects'][0]['username'])) {
$_story['tags'][] = $story['tappable_objects'] ?? '✖️';
}
if (!array_key_exists($vid, $story)) {
$_story['photo'][] = $story['display_url'];
} else {
$_story['video'][] = $story['video_resources'][0]['src'];
}
}
}
$_story['id'] = $user_id;
$_story['username'] = $username;
$_story['profile_pic_url'] = $profile_pic_url;
$_story['profile_pic_url_hd'] = $profile_pic_url_hd;
$_story['is_verified'] = $is_verified;
$_story['posts_count'] = $highlight_reel_count;
$_story['full_name'] = $full_name;
$_story['following'] = $edge_follow;
$_story['followers'] = $edge_followed_by;
$_story['biography'] = $biography;
$_story['is_private'] = $c;
echo json_encode(["results" => $_story], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
}
Editor is loading...