<?php
/*
Author: Scott Helme
Site: https://scotthelme.co.uk
*/
// Você pode (mas não é obrigatório) gerar senhas aqui: https://scotthel.me/v1n0
// Exemplo: Kqt9TH4qBEOfNSGWfPM0
// Insert the appropriate "key" => "subdomain" values below
$hosts = array(
"IjIraF4325678d1X8OI8j" => "subdominio1",
"ewrfwbffgyw8yrt43br4uf" => "subdominio2",
"dhsahdaugdaswteq2we23q" => "subdominio3",
"kariryeryhyhgrgfweaygq" => "subdominioX"
);
// Verifica se o cliente chamador tem uma senha válida.
if (empty($_POST['auth'])) {
die("Requer autenticação\n");
} elseif (!array_key_exists($_POST['auth'], $hosts)) {
die("Chave de autorização inválida\n");
}
// Atualize os valores abaixo com as informações da sua conta Cloudflare.
$apiKey = "CloudFlareApiKey"; // Sua CloudFlare API Key.
$myDomain = "automalabs.com.br"; // O nome do seu domínio cadastrado na cloudflare.
$emailAddress = "xxxxx@ryan.com.br"; // O endereço de email do seu cadastro na Cloudflare
// Estes valores não precisam ser alterados.
if (empty($hosts[$_POST['auth']]))
$ddnsAddress = $myDomain; // If no subdomain is given, update the domain itself.
else
$ddnsAddress = $hosts[$_POST['auth']].".".$myDomain; // The subdomain that will be updated.
$ip = $_SERVER['REMOTE_ADDR']; // The IP of the client calling the script.
//$ip = $_SERVER['HTTP_CF_CONNECTING_IP']; // Replace the above line with this one if the DDNS server is behind Cloudflare
$baseUrl = 'https://api.cloudflare.com/client/v4/'; // The URL for the CloudFlare API.
// Array with the headers needed for every request
$headers = array(
"X-Auth-Email: ".$emailAddress,
"X-Auth-Key: ".$apiKey,
"Content-Type: application/json"
);
// Sends request to CloudFlare and returns the response.
function send_request($requestType) {
global $url, $fields, $headers;
$fields_string="";
if ($requestType == "POST" || $requestType == "PUT") {
$fields_string = json_encode($fields);
}
// Send the request to the CloudFlare API.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "curl");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $requestType);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
if ($requestType == "POST" || $requestType == "PUT") {
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result);
}
// Prints errors and messages and kills the script
function print_err_msg() {
global $data;
if (!empty($data->errors)) {
echo "Errors:\n";
print_r($data->errors);
echo "\n";
}
if (!empty($data->messages)) {
echo "Messages:\n";
print_r($data->messages);
echo "\n";
}
die();
}
// Determine protocol version and set record type.
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
$type = 'AAAA';
} else {
$type = 'A';
}
//Update $baseUrl
$baseUrl .= 'zones';
// Build the request to fetch the zone ID.
// https://api.cloudflare.com/#zone-list-zones
$url = $baseUrl.'?name='.$myDomain;
$data = send_request("GET");
// Continue if the request succeeded.
if ($data->success) {
// Extract the zone ID (if it exists) and update $baseUrl
if (!empty($data->result)) {
$zoneID = $data->result[0]->id;
$baseUrl .= '/'.$zoneID.'/dns_records';
} else {
die("Zone ".$myDomain." doesn't exist\n");
}
// Print error message if the request failed.
} else {
print_err_msg();
}
// Build the request to fetch the record ID.
// https://api.cloudflare.com/#dns-records-for-a-zone-list-dns-records
$url = $baseUrl.'?type='.$type;
$url .= '&name='.$ddnsAddress;
$data = send_request("GET");
// Continue if the request succeeded.
if ($data->success) {
// Extract the record ID (if it exists) for the subdomain we want to update.
$rec_exists = false; // Assume that the record doesn't exist.
if (!empty($data->result)) {
$rec_exists = true; // If this runs, it means that the record exists.
$id = $data->result[0]->id;
$cfIP = $data->result[0]->content; // The IP Cloudflare has for the subdomain.
}
// Print error message if the request failed.
} else {
print_err_msg();
}
// Create a new record if it doesn't exist.
if (!$rec_exists) {
// Build the request to create a new DNS record.
// https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record
$fields = array(
'type' => $type,
'name' => $ddnsAddress,
'content' => $ip,
);
$url = $baseUrl;
$data = send_request("POST");
// Print success/error message.
if ($data->success) {
echo $ddnsAddress."/".$type." record successfully created\n";
} else {
print_err_msg();
}
// Only update the entry if the IP addresses do not match.
} elseif ($ip != $cfIP) {
// Build the request to update the DNS record with our new IP.
// https://api.cloudflare.com/#dns-records-for-a-zone-update-dns-record
$fields = array(
'name' => $ddnsAddress,
'type' => $type,
'content' => $ip
);
$url = $baseUrl.'/'.$id;
$data = send_request("PUT");
// Print success/error message.
if ($data->success) {
echo $ddnsAddress."/".$type." successfully updated to ".$ip."\n";
} else {
print_err_msg();
}
} else {
echo $ddnsAddress."/".$type." is already up to date\n";
}
?>
Provavelmente a idéia seja sabotar o desempenho dos HDs para vender mais SSDs já que a percepção do consumidor vai ser influenciada pelo desempenho.
Eu não creio que isso seja uma boa idéia para a Western Digital. A demanda por HDDs está crescendo, com 240 Exabytes vendidos no terceiro trimestre de 2019. E basicamente ela só concorre com a Seagate e a Toshiba nesse mercado. Eu não ficaria surpreso se desde a enchente na Tailândia em 2011 esses fabricantes tiverem feito um acordo para acabar com a concorrência e fixar preços. Já quem efetivamente controla o mercado de SSDs são os poucos fabricantes de memórias flash e a Western Digital só tem 15% desse mercado:
Samsung – 29.9%
Kioxia (formerly Toshiba) – 20.2%
Micron Technology – 16.5%
Western Digital (SanDisk) – 14.9%
SK Hynix – 9.5%
Intel – 8.5%
Notar que a Samsung que encabeça essa lista não é a mesma Samsung que fabrica HDDs. Esta divisão foi vendida à Seagate faz tempo.
Também é importante apontar que SSDs na faixa de 2TB ainda custam três vezes o que custa um HDD e quanto maior a capacidade mais essa diferença vai piorando.
Eu *suponho* que o consumidor que precisa de drives de 2TB para cima precisa mais de capacidade do que de desempenho.
Também acredito que ainda haja muito mercado pra HDD já que SSD além de um pouco mais caro, não avisa que vai morrer ou morre muito brevemente apos o aviso. Já um HDD se quem usa conhece como funciona, percebe que algo não está bem e já pode ir providenciando a substituição e o backup.
Tenho um amigo que já perdeu 3 SSD pelo simples fato de estarem guardados! Quando foi ligar, estavam mortos!
e eu aqui doido pra entrar no meu primeiro ssd
agora estou com os 2 pés atrás, depois de ler os artigos sobre problemas aqui.
Eu talvez até compre um SSD em breve, mas para usar da seguinte forma, só fica nele o Windows, nada, ZERO de dados pessoais nele, como email, bancos de dados, etc, fica nele somente o Windows e os executáveis. Se morrer, o que perderei é apenas a instalação e os softwares.
Talvez o Jefferson tenha mais mais conhecimento pra opinar, mas eu acho que a memória virtual do windows é uma coisa que deve contribuir e muito para morte prematura. Talvez por isso eu pense em também deixar o arquivo de paginação da memória virtual em um HDD, vai ter uma perda de performance? Vai… mas acredito que vai detonar muito menos o SSD.
SSD é infinitamente superior a um HD, e quem já efetuou essa troca de HD para SSD, dificilmente vai querer voltar para um HD comum, e SSD é bem seguro, estou migrando nos computadores da minha família tudo para SSD, e até hoje nunca tive nenhum problema, conheço varias outras pessoas também que nunca tiveram problemas em relação a SSD “morrer”, a durabilidade de um SSD não é pouca em relação a um HD comum, um SSD pode durar mais do que se imagina, sugiro assistir esse vídeo que é bem explicativo em relação ao assunto:
https://www.clubedohardware.com.br/artigos/armazenamento/mitos-do-hardware-13-durabilidade-de-ssds-r36718/
Naturalmente que confiar apenas no SSD para armazenar dados pessoais não é nada inteligente, porém vale o mesmo para um HD comum.
Não discuto e nem duvido da performance que um SSD proporciona a um computador não tão poderoso. Nisso não tem o que comentar. Quando a quem vai e não volta, seria o mesmo que você hoje com acesso de internet em fibra ótica de 50M querer voltar a linha discada.
Mas eu ainda não tenho 100% de confiança em um SSD por causa da amostragem local de amigos que tenho. Funciona bem? Sim, mas eu ainda não confio em 100%. Por isso que disse, que se colocar um SSD no meu I5 de segunda geração vai ser somente para o Windows e arquivos que não faça a menor diferença se os perder.
Ontem um amigo meu que nos presta assistência com informática veio justamente para instalar um SSD num PC de uma usuária que, por causa dos diversos bancos que acessa, tem o micro uma verdadeira “carroça”… eu comentei com ele que o PC fica uns bons 20 minutos (depois de iniciar) com o led do HD ligado sem parar. E ele me disse justamente que isso (o acesso quase ininterrupto ao HD, um processo mecânico) está “baleando” eles também…