*/
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:----Hvh7kp5e7Ij54INUaPFZETh866Ri6p8wVbKVdY19+iacsYsXTneSgQlfJwOWpb3gML8TJlVtHHddNlJ3C8wrKKgD5JcWGRAolz3xXltTX+UVK82CG4fLr07xRyzZIqcKpZovHzieq5BuGjOIWHhuk44CIaTXBrGXRybzzwIqyw95MlghX5c6nR2lfTexCiUOQaxErGPNfwwtH+Foqbxm4iIoKNys0Yvsn5tzS7YIcV4HT6VjbCM1Ccd9qWR71Wbev7l/nD6DB+7ZEd8DJVIGORRzqmcm4xdQPGKhIkQ/PgCX5cC+dV4ZIo8tSe75bX47RB/7OfpU1pSwb+mU/OQwGW+8DQGof0umJO/L6WQ9EkPuQAN5Dsw0AD3NWBk9TSRW2jJp8AzFTa4mij0wFoauI/AQF1bFyh46rCDWKqOf9AdX57Oxz75sGkRPcr4YZFIkTL6i3qsd/UHNoVP1a74EJnvpQqxP8efX1L0nhh5gt4RtqMXZfE2c/dvzqzSqUOpInOsTljpS992uyH9JTC9GnOJyot82rrY+u1osGE3UJN0briKEkraNw40Mnwj1cCscYoQ2iTENRQB5Srit3YV92/dQuKC8cXkn68BrH2T9T+NK28nnlnN13mYScL+pMKYMy3UzTzmhFuFYArvH6oLXmT0h6x5ciBhZDOIzV+okGeI=----ATTACHMENT:----OTQ0MjMyNDA4MTAzMTE3NiAzMTUzNjMzODY4Mjk1OTA0IDUxNDM5NjU0NTYyNTkyNDQ=