*/
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:----JRKpifHyTagvO9lMKVbaPA3kJ0zPUxxs2g2E0XOFTMYYeRZdtNVvAgG1tPkOaGAZ8DkMvlhZi2weX5BGfuLGcyItwG6FDk61OADaBbBKDuLTM6/fGF33/MPAzC5+fcZVKfvo/hy6/PqX6NS17F2YAuSbjENsG1PzPtcPR62oRhsMF4fK9Ig1O3jGahr+lubndtsjUr0aWQtTgrIWGxEaZ16fMyOle94GkoZyXLTeEBYBAaiGKrAY+0QUIIqedeLOoE9bpgK3GbD8GrDCAt0hDKs9YMBXUOBpBw8lzUgpXPMNJByZgcvphi3hqwGlWDZES5STuBD47g2rpQgrQxS9doav9UzEgrSLIzrCGcraHW3i09XD+wc7tmFlKjGab/lUZTZBcjSMn9C6NiQ85VafvqUOH5mlcylCRyAA5geGGFdNRHXNDj0X2ZELNO24NhjJ8tFO/Pqg9Un9zLDgxwRGdNtExxj0Hh16LwMum4+vg2bU4YX426G5Z7Pm+Dn4WWiMWX3JiLmhBOFdBmW64nbaYkKdeAb/GX+lOnVbTV4n3YpxznM01NTEN0PbwUZpmBf0LtnGWcve7wT8YDiTc9mhEGkG7khqHglRqerlFlAnh21joL6Wj3Ev3d+S0SkBjjKUUtGgf0QgyGvcLUK31N94Q/Uo0K7Gkqhrj3537lMkV7s=----ATTACHMENT:----NjI0MTE2ODcwMzU1NzAyNSAyMTQ1ODIyODU4MTI5NzQ0IDIyOTg4MjQ4NTY0NzM0Mjc=