Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
dns /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2024-09-07 23:29
rdtypes
[ DIR ]
drwxr-xr-x
2024-09-07 23:28
__init__.py
1.56
KB
-rw-r--r--
2020-10-24 23:17
_asyncbackend.py
1.53
KB
-rw-r--r--
2020-08-19 21:18
_asyncio_backend.py
4.34
KB
-rw-r--r--
2020-10-24 23:17
_curio_backend.py
3.33
KB
-rw-r--r--
2020-10-24 23:17
_immutable_attr.py
2.92
KB
-rw-r--r--
2020-10-24 23:17
_immutable_ctx.py
2.4
KB
-rw-r--r--
2020-10-24 23:17
_trio_backend.py
3.68
KB
-rw-r--r--
2020-10-24 23:17
asyncbackend.py
3
KB
-rw-r--r--
2020-10-24 23:17
asyncquery.py
17.4
KB
-rw-r--r--
2020-10-24 23:17
asyncresolver.py
8.71
KB
-rw-r--r--
2020-10-24 23:17
dnssec.py
19.19
KB
-rw-r--r--
2020-10-24 23:17
e164.py
3.6
KB
-rw-r--r--
2020-08-17 01:59
edns.py
10.72
KB
-rw-r--r--
2020-10-24 23:17
entropy.py
4.07
KB
-rw-r--r--
2020-08-17 01:59
enum.py
2.75
KB
-rw-r--r--
2020-10-24 23:17
exception.py
5.13
KB
-rw-r--r--
2020-10-24 23:17
flags.py
2.58
KB
-rw-r--r--
2020-10-24 23:17
grange.py
2.04
KB
-rw-r--r--
2020-10-24 23:17
immutable.py
1.97
KB
-rw-r--r--
2020-10-24 23:17
inet.py
4.74
KB
-rw-r--r--
2020-10-24 23:17
ipv4.py
1.93
KB
-rw-r--r--
2020-08-17 01:59
ipv6.py
5.92
KB
-rw-r--r--
2020-10-24 23:17
message.py
52.73
KB
-rw-r--r--
2021-01-05 04:29
name.py
31.54
KB
-rw-r--r--
2020-10-24 23:17
namedict.py
3.83
KB
-rw-r--r--
2020-08-17 01:59
node.py
6.42
KB
-rw-r--r--
2020-10-24 23:17
opcode.py
2.58
KB
-rw-r--r--
2021-01-05 03:22
py.typed
0
B
-rw-r--r--
2020-06-27 03:20
query.py
40.46
KB
-rw-r--r--
2020-10-24 23:17
rcode.py
3.9
KB
-rw-r--r--
2021-01-05 03:23
rdata.py
24.32
KB
-rw-r--r--
2021-01-06 03:41
rdataclass.py
2.81
KB
-rw-r--r--
2020-10-24 23:17
rdataset.py
14.54
KB
-rw-r--r--
2020-10-24 23:17
rdatatype.py
6.64
KB
-rw-r--r--
2020-10-24 23:17
renderer.py
8.59
KB
-rw-r--r--
2020-08-17 01:59
resolver.py
59.29
KB
-rw-r--r--
2020-12-29 03:07
reversename.py
3.65
KB
-rw-r--r--
2020-08-17 01:59
rrset.py
7.44
KB
-rw-r--r--
2020-10-24 23:17
serial.py
3.53
KB
-rw-r--r--
2020-08-17 01:59
set.py
7.64
KB
-rw-r--r--
2020-10-24 23:17
tokenizer.py
21.86
KB
-rw-r--r--
2020-10-24 23:17
transaction.py
16.93
KB
-rw-r--r--
2020-10-24 23:17
tsig.py
10.93
KB
-rw-r--r--
2020-10-30 22:15
tsigkeyring.py
2.43
KB
-rw-r--r--
2020-10-24 23:17
ttl.py
2.58
KB
-rw-r--r--
2020-10-24 23:17
update.py
10.55
KB
-rw-r--r--
2020-10-24 23:17
version.py
1.55
KB
-rw-r--r--
2021-01-07 18:20
versioned.py
15.91
KB
-rw-r--r--
2020-10-24 23:17
wire.py
2.48
KB
-rw-r--r--
2020-10-24 23:17
xfr.py
11.61
KB
-rw-r--r--
2020-10-24 23:17
zone.py
34.25
KB
-rw-r--r--
2020-10-24 23:17
zonefile.py
15.25
KB
-rw-r--r--
2020-10-24 23:17
Save
Rename
# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license # Copyright (C) 2003-2017 Nominum, Inc. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose with or without fee is hereby granted, # provided that the above copyright notice and this permission notice # appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. """Generic Internet address helper functions.""" import socket import dns.ipv4 import dns.ipv6 # We assume that AF_INET and AF_INET6 are always defined. We keep # these here for the benefit of any old code (unlikely though that # is!). AF_INET = socket.AF_INET AF_INET6 = socket.AF_INET6 def inet_pton(family, text): """Convert the textual form of a network address into its binary form. *family* is an ``int``, the address family. *text* is a ``str``, the textual address. Raises ``NotImplementedError`` if the address family specified is not implemented. Returns a ``bytes``. """ if family == AF_INET: return dns.ipv4.inet_aton(text) elif family == AF_INET6: return dns.ipv6.inet_aton(text, True) else: raise NotImplementedError def inet_ntop(family, address): """Convert the binary form of a network address into its textual form. *family* is an ``int``, the address family. *address* is a ``bytes``, the network address in binary form. Raises ``NotImplementedError`` if the address family specified is not implemented. Returns a ``str``. """ if family == AF_INET: return dns.ipv4.inet_ntoa(address) elif family == AF_INET6: return dns.ipv6.inet_ntoa(address) else: raise NotImplementedError def af_for_address(text): """Determine the address family of a textual-form network address. *text*, a ``str``, the textual address. Raises ``ValueError`` if the address family cannot be determined from the input. Returns an ``int``. """ try: dns.ipv4.inet_aton(text) return AF_INET except Exception: try: dns.ipv6.inet_aton(text, True) return AF_INET6 except Exception: raise ValueError def is_multicast(text): """Is the textual-form network address a multicast address? *text*, a ``str``, the textual address. Raises ``ValueError`` if the address family cannot be determined from the input. Returns a ``bool``. """ try: first = dns.ipv4.inet_aton(text)[0] return first >= 224 and first <= 239 except Exception: try: first = dns.ipv6.inet_aton(text, True)[0] return first == 255 except Exception: raise ValueError def is_address(text): """Is the specified string an IPv4 or IPv6 address? *text*, a ``str``, the textual address. Returns a ``bool``. """ try: dns.ipv4.inet_aton(text) return True except Exception: try: dns.ipv6.inet_aton(text, True) return True except Exception: return False def low_level_address_tuple(high_tuple, af=None): """Given a "high-level" address tuple, i.e. an (address, port) return the appropriate "low-level" address tuple suitable for use in socket calls. If an *af* other than ``None`` is provided, it is assumed the address in the high-level tuple is valid and has that af. If af is ``None``, then af_for_address will be called. """ address, port = high_tuple if af is None: af = af_for_address(address) if af == AF_INET: return (address, port) elif af == AF_INET6: i = address.find('%') if i < 0: # no scope, shortcut! return (address, port, 0, 0) # try to avoid getaddrinfo() addrpart = address[:i] scope = address[i + 1:] if scope.isdigit(): return (addrpart, port, 0, int(scope)) try: return (addrpart, port, 0, socket.if_nametoindex(scope)) except AttributeError: # pragma: no cover (we can't really test this) ai_flags = socket.AI_NUMERICHOST ((*_, tup), *_) = socket.getaddrinfo(address, port, flags=ai_flags) return tup else: raise NotImplementedError(f'unknown address family {af}')