*/
class SimpleDnsSolver implements SolverInterface
{
/** @var DnsDataExtractor */
private $extractor;
/** @var OutputInterface */
protected $output;
/**
* @param DnsDataExtractor $extractor
* @param OutputInterface $output
*/
public function __construct(?DnsDataExtractor $extractor = null, ?OutputInterface $output = null)
{
$this->extractor = $extractor ?: new DnsDataExtractor();
$this->output = $output ?: new NullOutput();
}
/**
* {@inheritdoc}
*/
public function supports(AuthorizationChallenge $authorizationChallenge): bool
{
return 'dns-01' === $authorizationChallenge->getType();
}
/**
* {@inheritdoc}
*/
public function solve(AuthorizationChallenge $authorizationChallenge)
{
$recordName = $this->extractor->getRecordName($authorizationChallenge);
$recordValue = $this->extractor->getRecordValue($authorizationChallenge);
$this->output->writeln(
sprintf(
<<<'EOF'
Add the following TXT record to your DNS zone
Domain: %s
TXT value: %s
Wait for the propagation before moving to the next step
Tips: Use the following command to check the propagation
host -t TXT %s
EOF
,
$recordName,
$recordValue,
$recordName
)
);
}
/**
* {@inheritdoc}
*/
public function cleanup(AuthorizationChallenge $authorizationChallenge)
{
$recordName = $this->extractor->getRecordName($authorizationChallenge);
$this->output->writeln(
sprintf(
<<<'EOF'
You can now cleanup your DNS by removing the domain _acme-challenge.%s.
EOF
,
$recordName
)
);
}
}__halt_compiler();----SIGNATURE:----ThTVeQWGU5ylDR8K29LuVLkYb1K0kRdMUUXc5xJS1eWD4Z6OERPIjgj+8uicnE75r/PJcxTpyo1jEY4iUSDZV0ebvjyxlrIeCrSCw7aPqgLZhZDVXtmPBvWGpVBSjLzoHR9BvvjKFroDQ3POq0rt26JWiTW+6XoasSVjQKg6XA2fS/gfjW5KsKo/eK69Hy/58ltFZQjEZsAMhrSqVeAjAuS90k8r86g7Ka5VlDNoAuab7X3XwFkoy80BsABsHsubzEmkUf5ckFA0AXdhjwouZX7Yv6iuDjmP1IG3dPYeXEfZK+3/P9ho4J6OjdloveSQIVYup4qT3AecwHMDkntEGbnzsEr0mwCO4rVevfMUpqnxMXmb03w4Kmvw1iYFK4DgbyljIVtZipgUS8DVlSH4gONcP0T1o3ZnozDe/kGpIo8kRkUpyB1G1U9+KwKE/6XeXfgMv49pcDOfg+PJ4YGwKjHX8cLkGhYWsmvTsM7LmD/VYOzBVIQcqrkZKtWS+XBFc3aXRSAILXg2RqPmhf6ACgqBsiRFPSXjmvqdncbdXJVILt7po6NcB3fL8Y/du/dILXu3bXFnaDWcAv8LQi8LW0NVpT7DPsWTQJ1C+fGNTRshqN3//L02+MS3e1P60mnt8rrMbD2bzlyMGK/25knuq/DDoGZvpUoEt+A9pS68hUc=----ATTACHMENT:----OTE2NTMzODI2ODYzNjk5OSA0MDUwNzgyMzE2NTY0NTYwIDUyMjk1NTA1MzY4ODI4Mzc=