403Webshell
Server IP : 66.29.132.122  /  Your IP : 3.142.156.235
Web Server : LiteSpeed
System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : admazpex ( 531)
PHP Version : 7.2.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/self/root/opt/cloudlinux/venv/lib64/python3.11/site-packages/clflags/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/opt/cloudlinux/venv/lib64/python3.11/site-packages/clflags//cli.py
#!/opt/cloudlinux/venv/bin/python3 -bb
#
# 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

"""
Set of useful command line options to quickly get
information about available flags, their status and path
"""

import argparse
import json
import os

from clflags.gather import (
    list_flags_info
)
from clflags.config import DEFAULT_FLAGS_STORAGE_PATH, DEFAULT_META_STORAGE_PATH
from prettytable import PrettyTable


def list_flags(args):
    """
    Lists information about all available flags on server.

    Supports both human-readable and json formats.

    E.g.
    +--------------------------------------------------------------------+
    | Name       | Description          | Path                 | Enabled |
    +------------+----------------------+----------------------+---------+
    | first-test | My first and super   | /var/cloudlinux/flag | False   |
    |            | cool flag that I can | s/enabled-           |         |
    |            | use everywhere       | flags.d/first-       |         |
    |            |                      | test.flag            |         |
    | super-test | My second and super  | /var/cloudlinux/flag | False   |
    |            | cool flag that I can | s/enabled-           |         |
    |            | use everywhere. Used | flags.d/super-       |         |
    |            | in AccelerateWP and  | test.flag            |         |
    |            | Immunify teams.      |                      |         |
    +------------+----------------------+----------------------+---------+
    """
    flags = list_flags_info()

    results = []
    for flag in flags:
        results.append(dict(
            name=flag.name,
            description=flag.description,
            path=flag.path,
            enabled=flag.enabled
        ))

    if args.json:
        print(json.dumps(results, indent=2))
        return
    else:
        if not results:
            print('No flags available on this server')
            return

        t = PrettyTable(
            [i.capitalize() for i in results[0]],
            align='l',
            max_table_width=os.get_terminal_size().columns - 10,
            max_width=60
        )
        t.add_rows([
            list(value.values())
            for value in results
        ])
        print(t)


def system_info(args):
    """
    Useful information about system itself:
    - data paths for flags and metadata
    """
    results = {
        'Flags default path': DEFAULT_FLAGS_STORAGE_PATH,
        'Flags metadata path': DEFAULT_META_STORAGE_PATH
    }

    t = PrettyTable(
        ['Name', 'Value'],
        align='l',
        title='Generic system information',
        max_width=80)
    t.add_rows([
        (name, value)
        for name, value in results.items()
    ])
    print(t)


if __name__ == '__main__':
    parser = argparse.ArgumentParser()

    subparsers = parser.add_subparsers(
        title='Actions with flags',
        description='Available manipulations that you can do with flags.',
        dest='action')
    info_subparser = subparsers.add_parser(
        'info', help='Prints useful information about the system.')

    list_subparser = subparsers.add_parser(
        'list', help='List all available flags on this server, '
                     'their paths and current reported status.')
    list_subparser.add_argument(
        '--json', action='store_true',
        default=False, help='Return response in json format')

    args = parser.parse_args()

    if args.action == 'info':
        system_info(args)
    elif args.action == 'list':
        list_flags(args)
    else:
        parser.print_help()
        exit(1)

Youez - 2016 - github.com/yon3zu
LinuXploit