$frontend)) { if (isset($_COOKIE[$frontend])) $frontend = $_COOKIE[$frontend]; else if (isset($_REQUEST[$frontend])) $frontend = $_REQUEST[$frontend]; else if (!empty($config->$frontend)) $frontend = $config->$frontend; if ($original == "instagram.com") { if (!strpos($url, "/p/")) $frontend .= "/u"; } $url = $frontend . explode($original, $url)[1]; return $url; } return $url; } function check_for_privacy_frontend($url) { $frontends = array( "youtube.com" => "invidious", "instagram.com" => "bibliogram", "twitter.com" => "nitter", "reddit.com" => "libreddit", "tiktok.com" => "proxitok", "wikipedia.org" => "wikiless" ); foreach($frontends as $original => $frontend) { if (strpos($url, $original)) { $url = try_replace_with_frontend($url, $frontend, $original); break; } } return $url; } function check_ddg_bang($query) { $bangs_json = file_get_contents("static/misc/ddg_bang.json"); $bangs = json_decode($bangs_json, true); if (substr($query, 0, 1) == "!") $search_word = substr(explode(" ", $query)[0], 1); else $search_word = substr(end(explode(" ", $query)), 1); $bang_url = null; foreach($bangs as $bang) { if ($bang["t"] == $search_word) { $bang_url = $bang["u"]; break; } } if ($bang_url) { $bang_query_array = explode("!" . $search_word, $query); $bang_query = trim(implode("", $bang_query_array)); $request_url = str_replace("{{{s}}}", $bang_query, $bang_url); $request_url = check_for_privacy_frontend($request_url); header("Location: " . $request_url); die(); } } function get_xpath($response) { $htmlDom = new DOMDocument; @$htmlDom->loadHTML($response); $xpath = new DOMXPath($htmlDom); return $xpath; } function request($url) { global $config; $ch = curl_init($url); curl_setopt_array($ch, $config->curl_settings); $response = curl_exec($ch); return $response; } function human_filesize($bytes, $dec = 2) { $size = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'); $factor = floor((strlen($bytes) - 1) / 3); return sprintf("%.{$dec}f ", $bytes / pow(1024, $factor)) . @$size[$factor]; } function remove_special($string) { $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens. return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars. } function print_elapsed_time($start_time) { $end_time = number_format(microtime(true) - $start_time, 2, '.', ''); echo "

Fetched the results in $end_time seconds

"; } function print_next_page_button($text, $page, $query, $type) { echo "
"; echo ""; echo ""; echo ""; echo ""; echo "
"; } ?>