Linux ip-148-66-134-25.ip.secureserver.net 3.10.0-1160.119.1.el7.tuxcare.els10.x86_64 #1 SMP Fri Oct 11 21:40:41 UTC 2024 x86_64
Apache
: 148.66.134.25 | : 13.59.234.182
66 Domain
8.0.30
amvm
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
lib /
python2.7 /
site-packages /
tuned /
profiles /
[ HOME SHELL ]
Name
Size
Permission
Action
functions
[ DIR ]
drwxr-xr-x
__init__.py
281
B
-rw-r--r--
__init__.pyc
483
B
-rw-r--r--
__init__.pyo
483
B
-rw-r--r--
exceptions.py
95
B
-rw-r--r--
exceptions.pyc
458
B
-rw-r--r--
exceptions.pyo
458
B
-rw-r--r--
factory.py
141
B
-rw-r--r--
factory.pyc
653
B
-rw-r--r--
factory.pyo
653
B
-rw-r--r--
loader.py
4.13
KB
-rw-r--r--
loader.pyc
4.99
KB
-rw-r--r--
loader.pyo
4.99
KB
-rw-r--r--
locator.py
3.23
KB
-rw-r--r--
locator.pyc
4.05
KB
-rw-r--r--
locator.pyo
4.05
KB
-rw-r--r--
merger.py
1.79
KB
-rw-r--r--
merger.pyc
2.12
KB
-rw-r--r--
merger.pyo
2.12
KB
-rw-r--r--
profile.py
1.11
KB
-rw-r--r--
profile.pyc
2.43
KB
-rw-r--r--
profile.pyo
2.43
KB
-rw-r--r--
unit.py
1.73
KB
-rw-r--r--
unit.pyc
3.86
KB
-rw-r--r--
unit.pyo
3.86
KB
-rw-r--r--
variables.py
2.26
KB
-rw-r--r--
variables.pyc
3.86
KB
-rw-r--r--
variables.pyo
3.86
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : locator.py
import os import tuned.consts as consts from configobj import ConfigObj, ConfigObjError class Locator(object): """ Profiles locator and enumerator. """ __slots__ = ["_load_directories"] def __init__(self, load_directories): if type(load_directories) is not list: raise TypeError("load_directories parameter is not a list") self._load_directories = load_directories @property def load_directories(self): return self._load_directories def _get_config_filename(self, *path_parts): path_parts = list(path_parts) + ["tuned.conf"] config_name = os.path.join(*path_parts) return os.path.normpath(config_name) def get_config(self, profile_name, skip_files=None): for dir_name in reversed(self._load_directories): # basename is protection not to get out of the path config_file = self._get_config_filename(dir_name, os.path.basename(profile_name)) if skip_files is not None and config_file in skip_files: continue if os.path.isfile(config_file): return config_file return None def check_profile_name_format(self, profile_name): return profile_name is not None and profile_name != "" and "/" not in profile_name def parse_config(self, profile_name): if not self.check_profile_name_format(profile_name): return None config_file = self.get_config(profile_name) if config_file is None: return None try: return ConfigObj(config_file, list_values = False, interpolation = False) except (IOError, OSError, ConfigObjError) as e: return None # Get profile attributes (e.g. summary, description), attrs is list of requested attributes, # if it is not list it is converted to list, defvals is list of default values to return if # attribute is not found, it is also converted to list if it is not list. # Returns list of the following format [status, profile_name, attr1_val, attr2_val, ...], # status is boolean. def get_profile_attrs(self, profile_name, attrs, defvals = None): # check types try: attrs_len = len(attrs) except TypeError: attrs = [attrs] attrs_len = 1 try: defvals_len = len(defvals) except TypeError: defvals = [defvals] defvals_len = 1 # Extend defvals if needed, last value is used for extension if defvals_len < attrs_len: defvals = defvals + ([defvals[-1]] * (attrs_len - defvals_len)) config = self.parse_config(profile_name) if config is None: return [False, "", "", ""] if consts.PLUGIN_MAIN_UNIT_NAME in config: d = config[consts.PLUGIN_MAIN_UNIT_NAME] else: d = dict() vals = [True, profile_name] for (attr, defval) in zip(attrs, defvals): if attr == "" or attr is None: vals[0] = False vals = vals + [""] else: vals = vals + [d.get(attr, defval)] return vals def list_profiles(self): profiles = set() for dir_name in self._load_directories: try: for profile_name in os.listdir(dir_name): config_file = self._get_config_filename(dir_name, profile_name) if os.path.isfile(config_file): profiles.add(profile_name) except OSError: pass return profiles def get_known_names(self): return sorted(self.list_profiles()) def get_known_names_summary(self): return [(profile, self.get_profile_attrs(profile, [consts.PROFILE_ATTR_SUMMARY], [""])[2]) for profile in sorted(self.list_profiles())]
Close