✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server366.web-hosting.com ​🇻​♯➤ 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2025

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 67.223.118.204 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.52
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /opt/hc_python/lib/python3.12/site-packages/dns//nameserver.py
from typing import Optional, Union
from urllib.parse import urlparse

import dns.asyncbackend
import dns.asyncquery
import dns.inet
import dns.message
import dns.query


class Nameserver:
    def __init__(self):
        pass

    def __str__(self):
        raise NotImplementedError

    def kind(self) -> str:
        raise NotImplementedError

    def is_always_max_size(self) -> bool:
        raise NotImplementedError

    def answer_nameserver(self) -> str:
        raise NotImplementedError

    def answer_port(self) -> int:
        raise NotImplementedError

    def query(
        self,
        request: dns.message.QueryMessage,
        timeout: float,
        source: Optional[str],
        source_port: int,
        max_size: bool,
        one_rr_per_rrset: bool = False,
        ignore_trailing: bool = False,
    ) -> dns.message.Message:
        raise NotImplementedError

    async def async_query(
        self,
        request: dns.message.QueryMessage,
        timeout: float,
        source: Optional[str],
        source_port: int,
        max_size: bool,
        backend: dns.asyncbackend.Backend,
        one_rr_per_rrset: bool = False,
        ignore_trailing: bool = False,
    ) -> dns.message.Message:
        raise NotImplementedError


class AddressAndPortNameserver(Nameserver):
    def __init__(self, address: str, port: int):
        super().__init__()
        self.address = address
        self.port = port

    def kind(self) -> str:
        raise NotImplementedError

    def is_always_max_size(self) -> bool:
        return False

    def __str__(self):
        ns_kind = self.kind()
        return f"{ns_kind}:{self.address}@{self.port}"

    def answer_nameserver(self) -> str:
        return self.address

    def answer_port(self) -> int:
        return self.port


class Do53Nameserver(AddressAndPortNameserver):
    def __init__(self, address: str, port: int = 53):
        super().__init__(address, port)

    def kind(self):
        return "Do53"

    def query(
        self,
        request: dns.message.QueryMessage,
        timeout: float,
        source: Optional[str],
        source_port: int,
        max_size: bool,
        one_rr_per_rrset: bool = False,
        ignore_trailing: bool = False,
    ) -> dns.message.Message:
        if max_size:
            response = dns.query.tcp(
                request,
                self.address,
                timeout=timeout,
                port=self.port,
                source=source,
                source_port=source_port,
                one_rr_per_rrset=one_rr_per_rrset,
                ignore_trailing=ignore_trailing,
            )
        else:
            response = dns.query.udp(
                request,
                self.address,
                timeout=timeout,
                port=self.port,
                source=source,
                source_port=source_port,
                raise_on_truncation=True,
                one_rr_per_rrset=one_rr_per_rrset,
                ignore_trailing=ignore_trailing,
                ignore_errors=True,
                ignore_unexpected=True,
            )
        return response

    async def async_query(
        self,
        request: dns.message.QueryMessage,
        timeout: float,
        source: Optional[str],
        source_port: int,
        max_size: bool,
        backend: dns.asyncbackend.Backend,
        one_rr_per_rrset: bool = False,
        ignore_trailing: bool = False,
    ) -> dns.message.Message:
        if max_size:
            response = await dns.asyncquery.tcp(
                request,
                self.address,
                timeout=timeout,
                port=self.port,
                source=source,
                source_port=source_port,
                backend=backend,
                one_rr_per_rrset=one_rr_per_rrset,
                ignore_trailing=ignore_trailing,
            )
        else:
            response = await dns.asyncquery.udp(
                request,
                self.address,
                timeout=timeout,
                port=self.port,
                source=source,
                source_port=source_port,
                raise_on_truncation=True,
                backend=backend,
                one_rr_per_rrset=one_rr_per_rrset,
                ignore_trailing=ignore_trailing,
                ignore_errors=True,
                ignore_unexpected=True,
            )
        return response


class DoHNameserver(Nameserver):
    def __init__(
        self,
        url: str,
        bootstrap_address: Optional[str] = None,
        verify: Union[bool, str] = True,
        want_get: bool = False,
        http_version: dns.query.HTTPVersion = dns.query.HTTPVersion.DEFAULT,
    ):
        super().__init__()
        self.url = url
        self.bootstrap_address = bootstrap_address
        self.verify = verify
        self.want_get = want_get
        self.http_version = http_version

    def kind(self):
        return "DoH"

    def is_always_max_size(self) -> bool:
        return True

    def __str__(self):
        return self.url

    def answer_nameserver(self) -> str:
        return self.url

    def answer_port(self) -> int:
        port = urlparse(self.url).port
        if port is None:
            port = 443
        return port

    def query(
        self,
        request: dns.message.QueryMessage,
        timeout: float,
        source: Optional[str],
        source_port: int,
        max_size: bool = False,
        one_rr_per_rrset: bool = False,
        ignore_trailing: bool = False,
    ) -> dns.message.Message:
        return dns.query.https(
            request,
            self.url,
            timeout=timeout,
            source=source,
            source_port=source_port,
            bootstrap_address=self.bootstrap_address,
            one_rr_per_rrset=one_rr_per_rrset,
            ignore_trailing=ignore_trailing,
            verify=self.verify,
            post=(not self.want_get),
            http_version=self.http_version,
        )

    async def async_query(
        self,
        request: dns.message.QueryMessage,
        timeout: float,
        source: Optional[str],
        source_port: int,
        max_size: bool,
        backend: dns.asyncbackend.Backend,
        one_rr_per_rrset: bool = False,
        ignore_trailing: bool = False,
    ) -> dns.message.Message:
        return await dns.asyncquery.https(
            request,
            self.url,
            timeout=timeout,
            source=source,
            source_port=source_port,
            bootstrap_address=self.bootstrap_address,
            one_rr_per_rrset=one_rr_per_rrset,
            ignore_trailing=ignore_trailing,
            verify=self.verify,
            post=(not self.want_get),
            http_version=self.http_version,
        )


class DoTNameserver(AddressAndPortNameserver):
    def __init__(
        self,
        address: str,
        port: int = 853,
        hostname: Optional[str] = None,
        verify: Union[bool, str] = True,
    ):
        super().__init__(address, port)
        self.hostname = hostname
        self.verify = verify

    def kind(self):
        return "DoT"

    def query(
        self,
        request: dns.message.QueryMessage,
        timeout: float,
        source: Optional[str],
        source_port: int,
        max_size: bool = False,
        one_rr_per_rrset: bool = False,
        ignore_trailing: bool = False,
    ) -> dns.message.Message:
        return dns.query.tls(
            request,
            self.address,
            port=self.port,
            timeout=timeout,
            one_rr_per_rrset=one_rr_per_rrset,
            ignore_trailing=ignore_trailing,
            server_hostname=self.hostname,
            verify=self.verify,
        )

    async def async_query(
        self,
        request: dns.message.QueryMessage,
        timeout: float,
        source: Optional[str],
        source_port: int,
        max_size: bool,
        backend: dns.asyncbackend.Backend,
        one_rr_per_rrset: bool = False,
        ignore_trailing: bool = False,
    ) -> dns.message.Message:
        return await dns.asyncquery.tls(
            request,
            self.address,
            port=self.port,
            timeout=timeout,
            one_rr_per_rrset=one_rr_per_rrset,
            ignore_trailing=ignore_trailing,
            server_hostname=self.hostname,
            verify=self.verify,
        )


class DoQNameserver(AddressAndPortNameserver):
    def __init__(
        self,
        address: str,
        port: int = 853,
        verify: Union[bool, str] = True,
        server_hostname: Optional[str] = None,
    ):
        super().__init__(address, port)
        self.verify = verify
        self.server_hostname = server_hostname

    def kind(self):
        return "DoQ"

    def query(
        self,
        request: dns.message.QueryMessage,
        timeout: float,
        source: Optional[str],
        source_port: int,
        max_size: bool = False,
        one_rr_per_rrset: bool = False,
        ignore_trailing: bool = False,
    ) -> dns.message.Message:
        return dns.query.quic(
            request,
            self.address,
            port=self.port,
            timeout=timeout,
            one_rr_per_rrset=one_rr_per_rrset,
            ignore_trailing=ignore_trailing,
            verify=self.verify,
            server_hostname=self.server_hostname,
        )

    async def async_query(
        self,
        request: dns.message.QueryMessage,
        timeout: float,
        source: Optional[str],
        source_port: int,
        max_size: bool,
        backend: dns.asyncbackend.Backend,
        one_rr_per_rrset: bool = False,
        ignore_trailing: bool = False,
    ) -> dns.message.Message:
        return await dns.asyncquery.quic(
            request,
            self.address,
            port=self.port,
            timeout=timeout,
            one_rr_per_rrset=one_rr_per_rrset,
            ignore_trailing=ignore_trailing,
            verify=self.verify,
            server_hostname=self.server_hostname,
        )


Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
11 Jun 2026 5.00 AM
root / root
0755
__pycache__
--
12 May 2025 12.34 PM
root / root
0755
dnssecalgs
--
12 May 2025 12.34 PM
root / root
0755
quic
--
12 May 2025 12.34 PM
root / root
0755
rdtypes
--
12 May 2025 12.34 PM
root / root
0755
__init__.py
1.624 KB
12 May 2025 12.34 PM
root / root
0644
_asyncbackend.py
2.34 KB
12 May 2025 12.34 PM
root / root
0644
_asyncio_backend.py
8.839 KB
12 May 2025 12.34 PM
root / root
0644
_ddr.py
5.124 KB
12 May 2025 12.34 PM
root / root
0644
_features.py
2.434 KB
12 May 2025 12.34 PM
root / root
0644
_immutable_ctx.py
2.401 KB
12 May 2025 12.34 PM
root / root
0644
_trio_backend.py
8.274 KB
12 May 2025 12.34 PM
root / root
0644
asyncbackend.py
2.73 KB
12 May 2025 12.34 PM
root / root
0644
asyncquery.py
30.099 KB
12 May 2025 12.34 PM
root / root
0644
asyncresolver.py
17.434 KB
12 May 2025 12.34 PM
root / root
0644
dnssec.py
40.739 KB
12 May 2025 12.34 PM
root / root
0644
dnssectypes.py
1.757 KB
12 May 2025 12.34 PM
root / root
0644
e164.py
3.885 KB
12 May 2025 12.34 PM
root / root
0644
edns.py
16.688 KB
12 May 2025 12.34 PM
root / root
0644
entropy.py
4.143 KB
12 May 2025 12.34 PM
root / root
0644
enum.py
3.604 KB
12 May 2025 12.34 PM
root / root
0644
exception.py
5.813 KB
12 May 2025 12.34 PM
root / root
0644
flags.py
2.686 KB
12 May 2025 12.34 PM
root / root
0644
grange.py
2.094 KB
12 May 2025 12.34 PM
root / root
0644
immutable.py
1.97 KB
12 May 2025 12.34 PM
root / root
0644
inet.py
5.637 KB
12 May 2025 12.34 PM
root / root
0644
ipv4.py
2.492 KB
12 May 2025 12.34 PM
root / root
0644
ipv6.py
6.4 KB
12 May 2025 12.34 PM
root / root
0644
message.py
66.587 KB
12 May 2025 12.34 PM
root / root
0644
name.py
41.775 KB
12 May 2025 12.34 PM
root / root
0644
namedict.py
3.906 KB
12 May 2025 12.34 PM
root / root
0644
nameserver.py
9.878 KB
12 May 2025 12.34 PM
root / root
0644
node.py
12.366 KB
12 May 2025 12.34 PM
root / root
0644
opcode.py
2.666 KB
12 May 2025 12.34 PM
root / root
0644
py.typed
0 KB
12 May 2025 12.34 PM
root / root
0644
query.py
54.979 KB
12 May 2025 12.34 PM
root / root
0644
rcode.py
4.059 KB
12 May 2025 12.34 PM
root / root
0644
rdata.py
30.295 KB
12 May 2025 12.34 PM
root / root
0644
rdataclass.py
2.914 KB
12 May 2025 12.34 PM
root / root
0644
rdataset.py
16.273 KB
12 May 2025 12.34 PM
root / root
0644
rdatatype.py
7.273 KB
12 May 2025 12.34 PM
root / root
0644
renderer.py
10.99 KB
12 May 2025 12.34 PM
root / root
0644
resolver.py
72.002 KB
12 May 2025 12.34 PM
root / root
0644
reversename.py
3.738 KB
12 May 2025 12.34 PM
root / root
0644
rrset.py
8.955 KB
12 May 2025 12.34 PM
root / root
0644
serial.py
3.521 KB
12 May 2025 12.34 PM
root / root
0644
set.py
8.997 KB
12 May 2025 12.34 PM
root / root
0644
tokenizer.py
23.03 KB
12 May 2025 12.34 PM
root / root
0644
transaction.py
22.06 KB
12 May 2025 12.34 PM
root / root
0644
tsig.py
11.146 KB
12 May 2025 12.34 PM
root / root
0644
tsigkeyring.py
2.571 KB
12 May 2025 12.34 PM
root / root
0644
ttl.py
2.907 KB
12 May 2025 12.34 PM
root / root
0644
update.py
11.956 KB
12 May 2025 12.34 PM
root / root
0644
version.py
1.881 KB
12 May 2025 12.34 PM
root / root
0644
versioned.py
11.489 KB
12 May 2025 12.34 PM
root / root
0644
win32util.py
8.666 KB
12 May 2025 12.34 PM
root / root
0644
wire.py
2.764 KB
12 May 2025 12.34 PM
root / root
0644
xfr.py
12.96 KB
12 May 2025 12.34 PM
root / root
0644
zone.py
50.865 KB
12 May 2025 12.34 PM
root / root
0644
zonefile.py
27.271 KB
12 May 2025 12.34 PM
root / root
0644
zonetypes.py
0.674 KB
12 May 2025 12.34 PM
root / root
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF