abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 03:00 | Komunita

Na OpenPOWER Summitu bylo oznámeno, že OpenPOWER Foundation – včetně POWER Instruction Set Architecture (ISA) a klíčových hardwarových referenčních návrhů – Open Coherent Accelerator Processor Interface (OpenCAPI) a Open Memory Interface (OMI) – bude začleněna pod Linux Foundation.

Ladislav Hagara | Komentářů: 0
včera 16:00 | Komunita

MojeFedora.cz informuje, že Fedora schválila konec 32 bitových repozitářů Modular a Everything. I nadále by měly být zachované multilib balíčky, takže kompatibilita s 32bitovým softwarem nebude ohrožená.

Ladislav Hagara | Komentářů: 0
včera 13:00 | Komunita

Konference LinuxDays 2019 proběhne o víkendu 5. a 6. října v Praze v Dejvicích v prostorách FIT ČVUT. Konference OpenAlt 2019 proběhne o víkendu 2. a 3. listopadu na FIT VUT v Brně. Přihlaste svou přednášku nebo workshop (LinuxDays, OpenAlt). Upozorněte známé. LinuxDays CFP končí již v pondělí 26. srpna v 23:59.

Ladislav Hagara | Komentářů: 0
včera 11:33 | Zajímavý software

Článek na Opensource.com představuje nástroj gocryptfs pro šifrování souborů. Gocryptfs využívá FUSE, stejně jako například EncFS. Naprogramovaný je v programovacím jazyce Go. Porovnání s podobnými šifrovacími nástroji v tabulce. Jako GUI pro gocryptfs lze použít SiriKali.

Ladislav Hagara | Komentářů: 0
včera 06:00 | Zajímavý projekt

Na Humble Bundle byla spuštěna akce Humble Book Bundle: Python Programming by No Starch Press. Za 1 dolar a více lze koupit 5 elektronických knih, za 8 dolarů a více lze koupit 10 elektronických knih a za 15 dolarů a více lze koupit 14 elektronických knih věnovaných programovacímu jazyku Python od nakladatelství No Starch Press. Peníze lze libovolně rozdělit mezi No Starch Press, Humble Bundle a neziskové organizace The No Starch Press Foundation a Python Software Foundation.

Ladislav Hagara | Komentářů: 0
19.8. 20:33 | Nová verze

Byla vydána nová verze 3.0.8 multiplatformního multimediálního přehrávače VLC (Wikipedie). Jedná se o minor verzi řešící několik regresí a opravující 13 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 1
19.8. 06:00 | Pozvánky

Srpnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 22. 8. 2019 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tématem bude jako obvykle svobodný software a hardware. A pokud vás zajímá bezpečnost bezdrátových klávesnic a myší (útok MouseJack a spol.) a nějaké takové zařízení máte, vezměte ho sebou – trochu ho potrápíme o ověříme jeho bezpečnost.

xkucf03 | Komentářů: 3
18.8. 16:33 | Nová verze

David Heinemeier Hansson oznámil vydání nové major verze 6.0 frameworku pro vývoj webových aplikací Ruby on Rails (Wikipedie). Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Přispělo 801 vývojářů.

Ladislav Hagara | Komentářů: 13
17.8. 18:11 | Nová verze

Byla vydána verze 2.23.0 distribuovaného systému správy verzí Git. Přispělo 77 vývojářů, z toho 26 nových. Přehled novinek v poznámkách k vydání nebo v příspěvku na blogu GitHubu.

Ladislav Hagara | Komentářů: 8
17.8. 13:33 | Komunita

Nadace Raspberry Pi na svém blogu informuje o vydání Scratch 3 Desktopu pro Raspbian na Raspberry Pi. Verze 3 výukového vizuálního programovacího jazyka Scratch byla vydána v lednu letošního roku. Offline Scratch Desktop byl ale dosud dostupný pouze pro Windows a macOS.

Ladislav Hagara | Komentářů: 2
Používáte ještě 32bitový software na PC?
 (20%)
 (15%)
 (17%)
 (43%)
 (6%)
 (29%)
Celkem 439 hlasů
 Komentářů: 36, poslední 18.8. 21:46
Rozcestník

DDNS u WEDOSu

27.3.2016 20:05 | Přečteno: 2225× | Linux | Výběrový blog | poslední úprava: 19.4.2017 17:49

Protože mi různé DDNS servery které jsou free nevyhovovaly a mám VPS u wedosu tak jsem si na jeho http serveru rozběhnul jednoduchý DDNS server který využívá WAPI rozhraní od wedosu pro změnu DNS záznamů. Takže zde je skript ddns.php který mě běží pod lighttpd:
<?php
//
// DynDNS function script
// Server update local file with IP address
// and when IP address is different then IP address in DNS
// we change it.
//
// v myip je moje IP v mtyp je druh zaznamu A AAAA a v hostname je celá doména něco.moje.cz

$rmt_ip = $_GET["myip"];
$typ = $_GET["mtyp"];
$domena = $_GET["hostname"];
$pole_domena = explode(".", $domena);


// Constants
$login = 'uživatelské jméno do WAPI';
$wpass = 'heslo do WAPI';
// If your DYNDNS host is moje.domena.cz, then $domain = domena.cz and $dyndns_domain = moje
$domain = 'domena.cz';
$dyndns_domain = $pole_domena[0];
$url = 'https://api.wedos.com/wapi/xml';
$timezone = 'Europe/Prague';

// Kontrola typu zaznamu lze upravovat pouze A a AAAA záznamy.
if (($typ != 'A') and ($typ != 'AAAA')) {
    echo 'Špatný typ záznamu A či AAAA !';
    die();
}

// Check if provided IP is ok
if(!filter_var($rmt_ip, FILTER_VALIDATE_IP)) {
    echo "IP adresa není platná! ".$rmt_ip."!";
    die();
}

// auth string
date_default_timezone_set($timezone);
$auth = sha1($login.sha1($wpass).date('H', time()));

// request for domain list
$request = '<?xml version="1.0" encoding="UTF-8"?>
<request>
 <user>'.$login.'</user>
 <auth>'.$auth.'</auth>
 <command>dns-rows-list</command>
 <data>
  <domain>'.$domain.'</domain>
 </data>
</request>';
$post = 'request='.urlencode($request);

// curl initialization
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_TIMEOUT,100);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
$res = curl_exec($ch);

// výpis výsledku na výstup
//echo '<pre>'.htmlspecialchars(print_r($res, true)).'</pre>';

// xml parsing
$ip_addr = '';
$row_id = -1;
$ttl = -1;

$xml = simplexml_load_string(print_r($res, true));

foreach($xml->data->row as $node) {
    if (($node->name != $dyndns_domain) or ($node->rdtype != $typ))
		continue;
    $ip_addr = $node->rdata;
    $ttl = $node->ttl;
    $row_id = $node->ID;
}

if ($rmt_ip == $ip_addr) {
	echo 'IP je stejná nedělám nic.';
    die();
}

if ($row_id < 0 || $ttl < 0) {
    echo 'Špatné ID nebo DNS záznam či TTL!';
    die();
}
// request for change IP address
$request = '<?xml version="1.0" encoding="UTF-8"?>
<request>
 <user>'.$login.'</user>
 <auth>'.$auth.'</auth>
 <command>dns-row-update</command>
 <data>
  <domain>'.$domain.'</domain>
  <row_id>'.$row_id.'</row_id>
  <ttl>'.$ttl.'</ttl>
  <rdata>'.$rmt_ip.'</rdata>
 </data>
</request>';

$post = 'request='.urlencode($request);

curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);

$res = curl_exec($ch);

// výpis výsledku na výstup
echo '<pre>'.htmlspecialchars(print_r($res, true)).'</pre>';

?>

A Jak se to používá, prostě si v DNS vytvoříme záznamy A a AAAA bez toho to nefunguje a pak je můžeme měnit pomocí routeru s OpenWRT kde do nastavení /etc/config/ddns dáme:
config ddns 'global'
	option date_format '%F %R'
	option log_lines '250'
	option allow_local_ip '0'

config service 'ddns_router_ipv4'
	option interface 'wan'
	option use_syslog '2'
	option use_logfile '1'
	option username 'user'
	option password 'heslo'
	option enabled '1'
	option domain 'router.moje.cz'
	option update_url 'https://[USERNAME]:[PASSWORD]@www.server.cz/soukrome/ddns.php?hostname=[DOMAIN]&myip=[IP]&mtyp=A'
	option use_https '1'
	option cacert 'IGNORE'
	option ip_source 'network'
	option ip_network 'wan'
	option dns_server '217.31.204.130'

config service 'ddns_router_ipv6'
	option use_ipv6 '1'
	option username 'user'
	option password 'heslo'
	option ip_source 'network'
	option interface 'wan6'
	option ip_network 'wan6'
	option use_syslog '2'
	option use_logfile '1'
	option enabled '1'
	option domain 'router.moje.cz'
	option update_url 'https://[USERNAME]:[PASSWORD]@www.server.cz/soukrome/ddns.php?hostname=[DOMAIN]&myip=[IP]&mtyp=AAAA'
	option use_https '1'
	option cacert 'IGNORE'

Samozřejmě skript můžeš volat odkudkoliv třeba pomocí wget.

wget -t 1 -O /tmp/ddns.html -o /tmp/ddns.err --no-check-certificate --no-proxy --user=user --password=heslo 'https://server.cz/soukrome/ddns.php?hostname=hostname.cz&mtyp=AAAA&myip='$ipv6

Proměnou $ipv6 naplníme před voláním IPv6 adresou kterou stroj dostal tak stejně můžeme po změně parametrů změnit i IPv4 adresu.

       

Hodnocení: 88 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

17.5. 13:06 free online checkers
Rozbalit Rozbalit vše Re: DDNS u WEDOSu
Basically there are many different board game,but online checkers game is a most world popular game free online checkers i let's play online on this site and invite your friends.
ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.