Subversion Repositories vgwhois

Compare Revisions

Regard whitespace Rev 148 → Rev 149

/trunk/_todo/po/de.po
13,7 → 13,7
"Language-Team: German Translation Team <german-l10n-german@lists.debian.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
 
#. Type: boolean
/trunk/main/pattern/asn
2,7 → 2,7
 
# Autonomous System Numbers (ASN)
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:57:31 GMT+0100
# Generation timestamp: 2024-02-04 23:46:56 GMT+0100
# Source: (20230810) https://www.iana.org/assignments/as-numbers/as-numbers.txt
 
# ARIN
/trunk/main/pattern/ipv4_afrinic
2,7 → 2,7
 
# AFRINIC IPv4
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:56:49 GMT+0100
# Generation timestamp: 2024-02-04 23:46:33 GMT+0100
# Source: (20231218) https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.txt
# Source: (20240204) ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-extended-latest
 
/trunk/main/pattern/ipv4_apnic
2,7 → 2,7
 
# APNIC IPv4
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:57:01 GMT+0100
# Generation timestamp: 2024-02-04 23:46:33 GMT+0100
# Source: (20231218) https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.txt
# Source: (20240203) ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-extended-latest
 
/trunk/main/pattern/ipv4_arin
2,7 → 2,7
 
# ARIN IPv4
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:57:04 GMT+0100
# Generation timestamp: 2024-02-04 23:46:35 GMT+0100
# Source: (20231218) https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.txt
# Source: (20240204) ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest
 
/trunk/main/pattern/ipv4_lacnic
2,7 → 2,7
 
# LACNIC IPv4
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:57:09 GMT+0100
# Generation timestamp: 2024-02-04 23:46:36 GMT+0100
# Source: (20231218) https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.txt
# Source: (20240202) ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-extended-latest
 
/trunk/main/pattern/ipv4_ripencc
2,7 → 2,7
 
# RIPENCC IPv4
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:57:10 GMT+0100
# Generation timestamp: 2024-02-04 23:46:37 GMT+0100
# Source: (20231218) https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.txt
# Source: (20240203) ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-extended-latest
 
/trunk/main/pattern/ipv6_afrinic
2,7 → 2,7
 
# AFRINIC IPv6
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:57:14 GMT+0100
# Generation timestamp: 2024-02-04 23:46:40 GMT+0100
# Source: (20191106) https://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.txt
# Source: (20240204) ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-extended-latest
 
/trunk/main/pattern/ipv6_apnic
2,7 → 2,7
 
# APNIC IPv6
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:57:14 GMT+0100
# Generation timestamp: 2024-02-04 23:46:40 GMT+0100
# Source: (20191106) https://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.txt
# Source: (20240203) ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-extended-latest
 
/trunk/main/pattern/ipv6_arin
2,7 → 2,7
 
# ARIN IPv6
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:57:19 GMT+0100
# Generation timestamp: 2024-02-04 23:46:45 GMT+0100
# Source: (20191106) https://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.txt
# Source: (20240204) ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest
 
/trunk/main/pattern/ipv6_lacnic
2,7 → 2,7
 
# LACNIC IPv6
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:57:22 GMT+0100
# Generation timestamp: 2024-02-04 23:46:48 GMT+0100
# Source: (20191106) https://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.txt
# Source: (20240202) ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-extended-latest
 
/trunk/main/pattern/ipv6_ripencc
2,7 → 2,7
 
# RIPENCC IPv6
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:57:25 GMT+0100
# Generation timestamp: 2024-02-04 23:46:51 GMT+0100
# Source: (20191106) https://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.txt
# Source: (20240203) ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-extended-latest
 
/trunk/main/pattern/tld
2,7 → 2,7
 
# TLDs
# Automatically generated by /daten/homes/vwhois/svn/maintenance/pattern-generator/vgwhois-pattern-update
# Generation timestamp: 2024-02-04 16:57:31 GMT+0100
# Generation timestamp: 2024-02-04 23:46:56 GMT+0100
 
# Source: (20240123) https://whois.viathinksoft.de/iana-utils/tld-watcher/tld_deleted_list.php
 
/trunk/main/subprograms/.trash/ac
12,6 → 12,8
 
require_once __DIR__ . '/../../../shared/php_includes/common_functions.inc.php';
 
ini_set('default_charset', 'UTF-8');
 
$domain = isset($argv[1]) ? $argv[1] : '';
 
$url = "http://www.nic.ac/cgi-bin/whois?query=$domain";
46,7 → 48,7
);
 
foreach ($special_words as $s) {
$x = str_replace($s, "\n".strtoupper($s)."\n", $x);
$x = str_replace($s, "\n".mb_strtoupper($s)."\n", $x);
}
 
$x = make_tabs($x);
/trunk/main/subprograms/.trash/gt
12,6 → 12,8
 
require_once __DIR__ . '/../../shared/php_includes/common_functions.inc.php';
 
ini_set('default_charset', 'UTF-8');
 
$domain = isset($argv[1]) ? $argv[1] : '';
 
$url = "http://www.gt/cgi-bin/whois.cgi?domain=$domain";
24,29 → 26,18
# $x = preg_replace('|:\s*([^\s])|ismU', ': $1', $x);
$x = preg_replace('|^\s*([^\s])|ismU', '$1', $x);
 
// é -> É @ strtoupper()
/*
$locals = array('es_ES@euro', 'es_ES', 'es');
reset($locals);
while (list(, $locale) = each ($locals)) {
if ( setlocale(LC_CTYPE, $locale) == $locale ) {
break; // Exit when we were successfull
}
}
*/
 
$x = html_entity_decode($x);
 
$special_words = array(
'Información del Dominio'."\n".$domain,
'Información del Dominio'."\n".$domain,
'Contactos Administrativos',
'Contactos Técnicos',
'Contactos Técnicos',
'Servidores',
'Fecha de Expiración (dd/mm/aaaa)'
'Fecha de Expiración (dd/mm/aaaa)'
);
 
foreach ($special_words as $s) {
$x = str_replace($s, "\n".uc_latin1($s)."\n", $x);
$x = str_replace($s, "\n".mb_strtoupper($s)."\n", $x);
}
 
$x = str_replace('Inicio', '', $x); // Back to mainpage
/trunk/main/subprograms/.trash/pk
12,6 → 12,8
 
require_once __DIR__ . '/../../shared/php_includes/common_functions.inc.php';
 
ini_set('default_charset', 'UTF-8');
 
$domain = isset($argv[1]) ? $argv[1] : '';
 
$url = "https://pk6.pknic.net.pk/pk5/lookup.PK";
38,17 → 40,6
 
$x = strip_tags($x);
 
// é -> É @ strtoupper()
/*
$locals = array('es_ES@euro', 'es_ES', 'es');
reset($locals);
while (list(, $locale) = each ($locals)) {
if ( setlocale(LC_CTYPE, $locale) == $locale ) {
break; // Exit when we were successfull
}
}
*/
 
$x = str_replace('&nbsp;', ' ', $x);
 
$x = html_entity_decode($x);
83,7 → 74,7
);
 
foreach ($special_words as $s) {
$x = str_replace($s, "\n".uc_latin1($s)."\n", $x);
$x = str_replace($s, "\n".mb_strtoupper($s)."\n", $x);
}
 
echo $res.trim_each_line($x)."\n";
/trunk/main/subprograms/cu
5,7 → 5,7
# VGWhoIs (ViaThinkSoft Global WhoIs, a fork of generic Whois / gwhois)
# Subprogram: cu TLD whois
#
# (c) 2011-2012 by Daniel Marschall, ViaThinkSoft <info@daniel-marschall.de>
# (c) 2011-2024 by Daniel Marschall, ViaThinkSoft <info@daniel-marschall.de>
#
# License: https://www.gnu.org/licenses/gpl-2.0.html (GPL version 2)
#
12,12 → 12,14
 
require_once __DIR__ . '/../../shared/php_includes/common_functions.inc.php';
 
ini_set('default_charset', 'UTF-8');
 
$domain = isset($argv[1]) ? $argv[1] : '';
 
define('BEGIN', '<!-- InstanceBeginEditable name="MainRgn" -->');
define('END', '<!-- InstanceEndEditable -->');
 
$url = "http://www.nic.cu/dom_det.php?domsrch=$domain";
$url = "https://www.nic.cu/dom_det.php?domsrch=$domain";
 
$res = "% Parsing via regex from '$url'\n\n";
 
26,7 → 28,7
preg_match_all('@'.preg_quote(BEGIN, '@').'(.*)'.preg_quote(END, '@').'@ismU', $x, $m);
 
if (!isset($m[1][0])) {
echo "Error while parsing the web content. Could not find limitations.\n";
echo "Error while parsing the web content (RegEx failed).\n";
exit(1);
}
 
34,17 → 36,6
 
$x = strip_tags($x);
 
// é -> É @ strtoupper()
/*
$locals = array('es_ES@euro', 'es_ES', 'es');
reset($locals);
while (list(, $locale) = each ($locals)) {
if ( setlocale(LC_CTYPE, $locale) == $locale ) {
break; // Exit when we were successfull
}
}
*/
 
$x = str_replace('&nbsp;', ' ', $x);
 
$x = html_entity_decode($x);
58,31 → 49,25
 
$special_words = array(
'Detalles del dominio',
'Información general del dominio',
'Información general del dominio',
'DNS Primario',
'Contacto Técnico',
'Contacto Técnico',
'Contacto Administrativo',
'Contacto Financiero'
);
 
foreach ($special_words as $s) {
$x = str_replace($s, "\n".uc_latin1($s)."\n", $x);
$x = str_replace($s, "\n".mb_strtoupper($s)."\n", $x);
}
 
$x = str_replace('< Regresar a la página anterior', '', $x);
$x = str_replace('< Regresar a la página anterior', '', $x);
 
$x = make_tabs($x);
 
$x = trim($x);
 
if (strpos($x, 'Dominio: Organización: Dirección:') !== false) {
if (preg_match('@Dominio: *Organización: *Dirección:@', $x)) {
$x = 'Domain does not exist.';
}
 
#does not work...
#if ($x == 'DETALLES DEL DOMINIO\n\nINFORMACIÓN GENERAL DEL DOMINIO\n\nDominio: Organización: Dirección:\n\nDNS\nNombre: Dirección IP:\nContacto\nNombre: Organización: Dirección: Teléfono: Fax:') {
if (md5($x) == '82f755ffa4a436159afec22d69be304c') {
$x = 'Domain not available.';
}
 
echo $res.trim_each_line($x)."\n";
/trunk/main/subprograms/mq_gf_gp
14,6 → 14,8
 
require_once __DIR__ . '/../../shared/php_includes/common_functions.inc.php';
 
ini_set('default_charset', 'UTF-8');
 
$domain = isset($argv[1]) ? $argv[1] : '';
 
$url = "https://www.dom-enic.com/whois.html";
47,7 → 49,7
preg_match_all('@'.preg_quote(BEGIN, '@').'(.*)'.preg_quote(END, '@').'@ismU', $x, $m);
 
if (!isset($m[1][0])) {
echo "Error while parsing the web content. Could not find limitations.\n";
echo "Error while parsing the web content (RegEx failed).\n";
exit(1);
}
$x = $m[1][0];
57,17 → 59,6
 
$x = html_entity_decode($x);
 
// é -> É @ strtoupper()
/*
$locals = array('es_ES@euro', 'es_ES', 'es');
reset($locals);
while (list(, $locale) = each ($locals)) {
if ( setlocale(LC_CTYPE, $locale) == $locale ) {
break; // Exit when we were successfull
}
}
*/
 
$x = preg_replace("@\n\s+\n@", "\n\n", $x);
while (strpos($x, "\n\n\n") !== false) $x = str_replace("\n\n\n", "\n\n", $x);
 
79,7 → 70,7
);
 
foreach ($special_words as $s) {
$x = str_replace($s, "\n".uc_latin1($s)."\n", $x);
$x = str_replace($s, "\n".mb_strtoupper($s)."\n", $x);
}
 
$x = trim($x);
/trunk/main/subprograms/oid
20,6 → 20,8
 
require_once __DIR__ . '/../../shared/php_includes/common_functions.inc.php';
 
ini_set('default_charset', 'UTF-8');
 
define('WALK_UP', true);
define('ASK_FRANCE_TELECOM', true);
define('ASK_ALVESTRAND_NO', false);
69,7 → 71,7
ob_end_clean();
 
$x = wordwrap($x, 75, "\n", false);
echo html_entity_decode($x, ENT_QUOTES, 'utf-8');
echo html_entity_decode($x);
#echo $x;
 
# ----------------- FRANCE TELECOM OID REPOSITORY
246,7 → 248,7
);
 
foreach ($special_words as $s) {
$x = str_replace("\n$s\n", "\n\n".strtoupper($s)."\n\n", $x);
$x = str_replace("\n$s\n", "\n\n".mb_strtoupper($s)."\n\n", $x);
}
 
$x = preg_replace("/To contact the (first|current) Registration Authority, replace \"&\" by \"@\" in the email address\n/ismU", '', $x);
/trunk/main/subprograms/pa
12,11 → 12,13
 
require_once __DIR__ . '/../../shared/php_includes/common_functions.inc.php';
 
ini_set('default_charset', 'UTF-8');
 
$domain = isset($argv[1]) ? $argv[1] : '';
 
$url = "http://nic.pa/es/whois/dominio/$domain";
$res = "% Parsing via regex from '$url'\n\n";
$cont = file_get_contents($url);
$cont = file_get_contents2($url);
 
if (preg_match('@<h2>Nombre del Dominio:\s*(.+)\s*</h2>(.+)</div>@ismU', $cont, $m)) {
$cont = "Domain ".$m[1].":\n".$m[2];
24,17 → 26,6
 
$x = strip_tags($cont);
 
// é -> É @ strtoupper()
/*
$locals = array('es_ES@euro', 'es_ES', 'es');
reset($locals);
while (list(, $locale) = each ($locals)) {
if ( setlocale(LC_CTYPE, $locale) == $locale ) {
break; // Exit when we were successfull
}
}
*/
 
$x = str_replace('&nbsp;', ' ', $x);
 
$x = html_entity_decode($x);
52,22 → 43,22
$x = str_replace("Contacto\n", 'Contacto ', $x);
$x = str_replace("Fecha\n", 'Fecha ', $x);
 
if (strpos($x, 'Fecha de Creación: 0000-00-00') !== false) {
if (strpos($x, 'Fecha de Creación: 0000-00-00') !== false) {
echo "Domain '$domain' does not exist!";
exit(2);
}
 
$special_words = array(
"Información del Dominio $domain",
"Información del Dominio $domain",
);
 
foreach ($special_words as $s) {
$x = str_replace($s, "\n".uc_latin1($s)."\n", $x);
$x = str_replace($s, "\n".mb_strtoupper($s)."\n", $x);
}
 
$x = str_replace("Datos Obtenidos de nuestra base de datos ...\n$domain\n", "\n>>>>", $x);
 
# Emulate tabulators.
// Emulate tabulators.
$cry = explode(">>>>", $x, 2);
$x = make_tabs($cry[0]);
 
/trunk/main/subprograms/tt
5,7 → 5,7
# VGWhoIs (ViaThinkSoft Global WhoIs, a fork of generic Whois / gwhois)
# Subprogram: tt TLD whois
#
# (c) 2011 by Daniel Marschall, ViaThinkSoft <info@daniel-marschall.de>
# (c) 2011-2024 by Daniel Marschall, ViaThinkSoft <info@daniel-marschall.de>
#
# License: https://www.gnu.org/licenses/gpl-2.0.html (GPL version 2)
#
12,6 → 12,8
 
require_once __DIR__ . '/../../shared/php_includes/common_functions.inc.php';
 
ini_set('default_charset', 'UTF-8');
 
$domain = isset($argv[1]) ? $argv[1] : '';
 
$url = "https://www.nic.tt/cgi-bin/search.pl";
21,15 → 23,21
 
$x = file_get_contents2($url, $post);
 
preg_match_all('|<div id="main">(.*)<div id="foot">|ismU', $x, $m);
preg_match_all('|<div class="main">(.*)<div id="foot">|ismU', $x, $m);
if (!isset($m[1][0])) {
echo "Error while parsing the web content (RegEx failed).\n";
exit(1);
}
 
$x = $m[1][0];
 
$x = str_replace("under <a href='https://www.nic.tt/cgi-bin/status.pl'>Retrieve->Domain Details</a>", "here: https://www.nic.tt/cgi-bin/status.pl", $x);
 
# The Domain Name <font color=red>nia.tt</font> is available.
$x = str_replace('<font color=red>', '', $x);
$x = str_replace('</font>', '', $x);
 
# Entferne, wenn möglich:
# Entferne, wenn möglich:
# Domain Search Form
# Enter Domain Name:
$bry = explode('</form>', $x, 2);
59,6 → 67,7
'Registrant Address',
'DNS Hostnames',
'DNS IP Addresses',
'Registration Date',
'Expiration Date',
'Administrative Contact',
'Technical Contact',
66,7 → 75,7
);
 
foreach ($special_words as $s) {
$x = str_replace("\n$s\n", "\n\n".strtoupper($s)."\n\n", $x);
$x = str_replace("\n$s\n", "\n\n".mb_strtoupper($s)."\n\n", $x);
}
 
$x = trim($x);
/trunk/shared/php_includes/common_functions.inc.php
4,7 → 4,7
# VGWhoIs (ViaThinkSoft Global WhoIs, a fork of generic Whois / gwhois)
# Common functions in PHP
#
# (c) 2011-2013 by Daniel Marschall, ViaThinkSoft <info@daniel-marschall.de>
# (c) 2011-2024 by Daniel Marschall, ViaThinkSoft <info@daniel-marschall.de>
#
# License: https://www.gnu.org/licenses/gpl-2.0.html (GPL version 2)
#
136,18 → 136,21
}
 
function make_tabs($text, $abstand = 4) {
$encoding = @ini_get('default_charset');
if ($encoding === false) $encoding = null;
$ary = explode("\n", $text);
$longest = 0;
foreach ($ary as $a) {
$bry = explode(':', $a, 2);
if (count($bry) < 2) continue;
$c = strlen($bry[0]);
$c = !is_null($encoding) ? mb_strlen($bry[0], $encoding) : strlen($bry[0]);
if ($c > $longest) $longest = $c;
}
foreach ($ary as $n => $a) {
$bry = explode(':', $a, 2);
if (count($bry) < 2) continue;
$rep = $longest-strlen($bry[0]) + $abstand;
$c_ = !is_null($encoding) ? mb_strlen($bry[0], $encoding) : strlen($bry[0]);
$rep = $longest - $c_ + $abstand;
if ($rep < 1) {
$wh = '';
} else {
159,13 → 162,6
return $x;
}
 
function uc_latin1($str) {
# Source: http://de3.php.net/manual/en/function.strtoupper.php#82592
$str = strtoupper(strtr($str, "àáâãäåæçèéêëìíîïðñòóôõöøùúûüý",
"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝ"));
return strtr($str, array("ß" => "SS"));
}
 
/**
* Converts tabs to the appropriate amount of spaces while preserving formatting
*