ACIL FM
Dark
Refresh
Current DIR:
/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/utils
/
opt
imunify360
venv
lib
python3.11
site-packages
defence360agent
utils
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
__pycache__
-
chmod
Open
Rename
Delete
antivirus_mode.py
497 B
chmod
View
DL
Edit
Rename
Delete
async_utils.py
718 B
chmod
View
DL
Edit
Rename
Delete
benchmark.py
538 B
chmod
View
DL
Edit
Rename
Delete
buffer.py
1.24 MB
chmod
View
DL
Edit
Rename
Delete
check_db.py
7.72 MB
chmod
View
DL
Edit
Rename
Delete
check_lock.py
636 B
chmod
View
DL
Edit
Rename
Delete
cli.py
7.39 MB
chmod
View
DL
Edit
Rename
Delete
common.py
14.41 MB
chmod
View
DL
Edit
Rename
Delete
config.py
999 B
chmod
View
DL
Edit
Rename
Delete
cronjob.py
902 B
chmod
View
DL
Edit
Rename
Delete
doctor.py
1 MB
chmod
View
DL
Edit
Rename
Delete
hyperscan.py
149 B
chmod
View
DL
Edit
Rename
Delete
importer.py
2.67 MB
chmod
View
DL
Edit
Rename
Delete
ipecho.py
3.17 MB
chmod
View
DL
Edit
Rename
Delete
json.py
953 B
chmod
View
DL
Edit
Rename
Delete
kwconfig.py
1.56 MB
chmod
View
DL
Edit
Rename
Delete
parsers.py
11.12 MB
chmod
View
DL
Edit
Rename
Delete
resource_limits.py
2.29 MB
chmod
View
DL
Edit
Rename
Delete
safe_fileops.py
7.99 MB
chmod
View
DL
Edit
Rename
Delete
safe_sequence.py
363 B
chmod
View
DL
Edit
Rename
Delete
serialization.py
1.72 MB
chmod
View
DL
Edit
Rename
Delete
sshutil.py
7.94 MB
chmod
View
DL
Edit
Rename
Delete
subprocess.py
1.53 MB
chmod
View
DL
Edit
Rename
Delete
support.py
5.2 MB
chmod
View
DL
Edit
Rename
Delete
threads.py
1005 B
chmod
View
DL
Edit
Rename
Delete
validate.py
4.27 MB
chmod
View
DL
Edit
Rename
Delete
whmcs.py
7.6 MB
chmod
View
DL
Edit
Rename
Delete
wordpress_mu_plugin.py
1.41 MB
chmod
View
DL
Edit
Rename
Delete
_shutil.py
795 B
chmod
View
DL
Edit
Rename
Delete
__init__.py
55.96 MB
chmod
View
DL
Edit
Rename
Delete
Edit file: /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/utils/validate.py
from enum import Enum from ipaddress import ( IPV4LENGTH, IPV6LENGTH, AddressValueError, IPv4Address, IPv4Network, IPv6Address, IPv6Network, ip_address, ip_network, ) from typing import Literal, Optional, Union IPVersion = Literal["ipv4", "ipv6"] class LocalhostIP(str, Enum): ipv4 = "127.0.0.1" ipv6 = "::1" def __str__(self): return self.value class NumericIPVersion(int, Enum): """Example: (IPListRecord.version==NumericIPVersion[ip_version])""" ipv4 = 4 ipv6 = 6 def __str__(self): return str(self.value) @classmethod def from_ip_version( cls, ip_version: Optional[IPVersion] ) -> Optional["NumericIPVersion"]: if ip_version is None: return None return cls.ipv4 if ip_version == IP.V4 else cls.ipv6 def is_valid_ipv4_addr(addr): return IP.is_valid_ipv4_addr(addr) def is_valid_ipv4_network(addr, strict=False): return IP.is_valid_ipv4_network(addr, strict) class IP: V4: IPVersion = "ipv4" V6: IPVersion = "ipv6" @classmethod def check_ip_ver(cls, version): return any(version == ver for ver in [cls.V4, cls.V6]) @classmethod def is_valid_ip(cls, addr): try: ip_address(addr) except ValueError: return False return True @classmethod def is_valid_ip_network(cls, *args, **kwargs): return cls.is_valid_ipv4_network( *args, **kwargs ) or cls.is_valid_ipv6_network(*args, **kwargs) @classmethod def is_valid_ipv4_addr(cls, addr): try: IPv4Address(addr) except AddressValueError: return False return True @classmethod def is_valid_ipv6_addr(cls, addr): try: IPv6Address(addr) except AddressValueError: return False return True @classmethod def is_valid_ipv4_network( cls, addr: Union[str, IPv4Network, IPv6Network], strict=False ): try: ip = IPv4Network(addr) except ValueError: return False if strict: # IPV4LENGTH - netmask for host return ip.prefixlen != IPV4LENGTH return True @classmethod def is_valid_ipv6_network( cls, addr: Union[str, IPv4Network, IPv6Network], strict=False ): try: ip = IPv6Network(addr) except ValueError: return False if strict: # IPV6LENGTH - netmask for host return ip.prefixlen != IPV6LENGTH return True @classmethod def type_of(cls, addr): if cls.is_valid_ipv4_network(addr): return IP.V4 elif cls.is_valid_ipv6_network(addr): return IP.V6 raise ValueError("Invalid ip address") @classmethod def convert_to_ipv6_network(cls, ip, mask="/64"): """Conver ipv6 addr to ipv6 network with mask :param str ip: ip for converting :param str mask: ip network mask """ network = IPv6Network(ip + mask, strict=False) return str(network) @staticmethod def adopt_to_ipvX_network( ip_arg: Union[str, IPv4Address, IPv4Network, IPv6Address, IPv6Network] ) -> Union[IPv4Network, IPv6Network]: """ Eliminate str from the Union :raise ValueError: if cannot convert ip_arg str to ip network """ if isinstance(ip_arg, (IPv4Network, IPv6Network)): return ip_arg elif isinstance(ip_arg, (IPv4Address, IPv6Address)): prefixlen = IPV4LENGTH if ip_arg.version == 4 else IPV6LENGTH return ip_network((int(ip_arg), prefixlen)) return ip_network(ip_arg) @classmethod def ip_net_to_string(cls, net: Union[IPv4Network, IPv6Network]) -> str: """ IPv4Network('192.168.1.1/32') -> '192.168.1.1' IPv4Network('192.168.1.0/24') -> '192.168.1.0/24' """ if not int(net.hostmask): return str(net.network_address) return str(net) @classmethod def ipv6_to_64network( cls, ip: Union[IPv4Address, IPv6Address, str] ) -> Union[IPv4Address, IPv6Network]: if isinstance(ip, IPv6Address): return IPv6Network(cls.convert_to_ipv6_network(str(ip))) return ip
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply