*/
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:----j9xo2c6XZbujNG2hJ2dbIjF9wU2KFyqi5ni768OBTevwvU2hRqLaabtXZoPvfThP4u1ZbKpSZsHc+uR9tFk6B+qJc6OZ1EoER9fQlvdzwg5h4mg8oM4yheb2oTve+bVMX/BUtbqGaUutbp++QiUBrEJ8xPRgF+SOQeC1VYWAApC3EBtaSyrSerjucuteNmfyuWkYW23XTxm2ByMr+Fl+73DMeYRrxMLgmxtfbEfqbHeZ1kMkxl4+W/y7ZSqWe9HXTwM6hj6enMDIC+ywA2/Q0TnT+nI+RDhUiyZe+NYKSPMPt9PNjX+lMNHagb5SqO5t56s1BHvSQoFP1R+0GvOU53fj5sNdjynSsoDIJxi0kJvUGul9G233w0TXElphUsfuDmSisoHa8EWU2hyqDyfQaUoCswbshWNkID6wUmyvjO0sSlhRMcv/Zzr7zDX6ARHo5SA4I2D8TB0UDpqIGOhlludeg0XAb85zAktT3T7nRUWCSlmpwBkgJFQFgXnlvGnQQNUat2YB6UVqKjrPry8iSGS9CvlcPOlYE6I4zuyrCxE16lmXsyT8LYKzXd96aSlkP0bFqC9B6ouusSd8nsh1RRzRmDqe0z6CqCjGiJdR3ZxPDGBxuyD/Kq2/GUQC3R2eRSPM/RQjr3FtibAyD0HqR6xQSgYB8g9LpC2bje2B6IM=----ATTACHMENT:----OTkxMjcwNzQ0NDE3MTk0NyAyOTMxNjU1ODMwOTQyNzk0IDI0OTc2MjYzOTUxMDkzMDQ=