Eu não acho que você pode configurá-lo onde DD-WRT chama CloudFlare diretamente. A maneira como eu o configurei é fazer com que o DD-WRT chame um script PHP em um servidor da web remoto, que detecta o IP do cliente e envia a solicitação de atualização para o CloudFlare por meio de sua API.
Configurações do DDNS do DD-WRT
DDNS Service: Custom
DYNDNS Server: <yourserver.com>
Username: <anything>
Password: <anything>
Host Name: <your domain name to update on cloudflare>
URL: /cloudflare_update.php?key=<your secret key>&hostname=
cloudflare_update.php
if(empty($_GET['key']) || ($_GET['key'] != "<your secret key>")) die;
$hostname = $_GET['hostname'];
$ip = $_SERVER['REMOTE_ADDR'];
$username = "<[email protected]>";
$api = "<your cloudflare api key>";
$curl = "https://www.cloudflare.com/api_json.html?a=DIUP&hosts=$hostname&u=$username&tkn=$api&ip=$ip";
$ch = curl_init($curl);
curl_exec($ch);
curl_close($ch);
Em vez de usar a autenticação básica HTTP, basta usar uma chave aleatória.
Certifique-se de criar a entrada DNS para o nome de domínio que deseja atualizar no CloudFlare; o parâmetro de ação DIUP só atualizará o IP para uma entrada que já existe.