*/
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:----l4rRyL2gvEE1d3QHgeEBbcFxsypQkUCAu0R7+V0V54uHYB3GK9XleFBV7EJeyOfJvRjs2YrVYC8+Np/3myV3EAucB0Q0RdRMIC+nJKvpkIznuP0Y51jh9Xs2f/mJ7i9C5+RtD4rlaPtAmPJ0GBykBaUCikOCuX45Nhr/TvWS/b5AOuysqbj3AQwMBIwelD3yeacUBiSoSXx8fq1wx7LGAIWVYWCkoBctKBGZvr+anNH8fTc9f2Y8++Kv77lna/VUPaVZ3Vtz5nwUqTy454c1LFeewndOOxKt2Ag/Bp9k1rzJIzD5fDGHzbBCWNeB7iQ2vyq9uVNUkMG5lSgqeSLlBS114HQxWIVu6cOkoOYdSAT43ZlDDc9moTAIqqB1EdPXeT2fP+03/f9Tg6UNdZNNXXEph4OCl65R+tXsx9Wxs+eaVlFysvO+khOc9zWaqJyw0F+TwlVgHIL51XrciwqmGwL+WHJGkHiV1RkqhFSpUq16jK5jWbThSE3rgLoQWEn7khbpBJdMtJ69JbvMXDOB+gS+M1mA633VsZ42vqrXCWP6nLXUDhgQwFbbCdMkhNlWcwRSrJsLjRyztsgVpmHk9wtg4NMqYfKBkVnf9vg72dXOOGR1jsDSMpXJwBZuWo5RIJ5Ly6efwP+M/robHWARe3PoMF58udz1/a6pT1uk2+4=----ATTACHMENT:----MTcxNTIxMjcxOTY2MjE5OSAxNzY0MjYzMjY1MDk3ODEzIDMzNDQ3OTc1NjgzMDMyOA==